diff --git a/bench/abc/optimized/abcBarBuf.ll b/bench/abc/optimized/abcBarBuf.ll index f1419f1b626..4e6693e839d 100644 --- a/bench/abc/optimized/abcBarBuf.ll +++ b/bench/abc/optimized/abcBarBuf.ll @@ -661,7 +661,7 @@ Abc_NodeTravId.exit: ; preds = %1, %._crit_edge.i.i } ; Function Attrs: nounwind uwtable -define i32 @Abc_NtkCollectPiPos_int(ptr noundef readonly %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3) local_unnamed_addr #0 { +define i32 @Abc_NtkCollectPiPos_int(ptr noundef readonly captures(address_is_null) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3) local_unnamed_addr #0 { %5 = getelementptr inbounds nuw i8, ptr %1, i64 232 %6 = load ptr, ptr %5, align 8, !tbaa !57 %.not.i = icmp eq ptr %6, null diff --git a/bench/abseil-cpp/optimized/raw_hash_set_allocator_test.ll b/bench/abseil-cpp/optimized/raw_hash_set_allocator_test.ll index 27ffed119a7..4869ea8d16f 100644 --- a/bench/abseil-cpp/optimized/raw_hash_set_allocator_test.ll +++ b/bench/abseil-cpp/optimized/raw_hash_set_allocator_test.ll @@ -2806,7 +2806,7 @@ _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceIN4absl18container_internal } ; Function Attrs: mustprogress nofree nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define internal noundef ptr @_ZNSt23_Sp_counted_ptr_inplaceIN4absl18container_internal12_GLOBAL__N_110AllocStateESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info(ptr noundef nonnull readnone align 8 dereferenceable(72) %this, ptr noundef nonnull readonly align 8 dereferenceable(16) %__ti) unnamed_addr #12 align 2 { +define internal noundef ptr @_ZNSt23_Sp_counted_ptr_inplaceIN4absl18container_internal12_GLOBAL__N_110AllocStateESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(72) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(16) %__ti) unnamed_addr #12 align 2 { entry: %_M_impl.i = getelementptr inbounds nuw i8, ptr %this, i64 16 %cmp = icmp eq ptr %__ti, @_ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag @@ -23679,29 +23679,16 @@ if.else.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i _ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2EmRKSA_.exit: ; preds = %_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEE6insertIiTnNSt9enable_ifIXsr4absl11disjunctionISt14is_convertibleIT_S9_ENSB_22SameAsElementReferenceISF_EEEE5valueEiE4typeELi0EiTnNSD_IXsr14IsDecomposableIT1_EE5valueEiE4typeELi0ETnPSF_LPi0EEESt4pairINSB_8iteratorEbEOSF_.exit, %if.then.i.i.i.i.i.i.i.i.i.i.i, %if.else.i.i.i.i.i.i.i.i.i.i.i call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %tmp.i) - %cmp.i = icmp eq ptr %u, %t1 - br i1 %cmp.i, label %invoke.cont8, label %if.end.i - -if.end.i: ; preds = %_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2EmRKSA_.exit %add.ptr.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 72 invoke fastcc void @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2ERKSB_RKSA_(ptr noundef nonnull align 8 dereferenceable(56) %tmp.i, ptr noundef nonnull readonly align 8 dereferenceable(56) %t1, ptr noundef nonnull readonly align 8 dereferenceable(24) %add.ptr.i.i.i) to label %.noexc unwind label %lpad -.noexc: ; preds = %if.end.i +.noexc: ; preds = %_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2EmRKSA_.exit %call2.i = invoke fastcc noundef nonnull align 8 dereferenceable(56) ptr @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEE11assign_implILb1EEERSB_OSB_(ptr noundef nonnull align 8 dereferenceable(56) %u, ptr noundef nonnull align 8 dereferenceable(56) %tmp.i) to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc call fastcc void @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %tmp.i) #28 - br label %invoke.cont8 - -lpad.i: ; preds = %.noexc - %12 = landingpad { ptr, i32 } - cleanup - call fastcc void @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %tmp.i) #28 - br label %ehcleanup78 - -invoke.cont8: ; preds = %invoke.cont.i, %_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2EmRKSA_.exit call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %tmp.i) store i64 8589934595, ptr %ref.tmp4, align 8, !alias.scope !698 %a1.val = load ptr, ptr %state_3.i.i.i.i.i.i, align 8 @@ -23710,12 +23697,18 @@ invoke.cont8: ; preds = %invoke.cont.i, %_ZN invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_15VariadicMatcherINS0_16AnyOfMatcherImplEJiiEEEEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 4 dereferenceable(8) %ref.tmp4, ptr noundef nonnull @.str.68, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) to label %invoke.cont12 unwind label %lpad -invoke.cont12: ; preds = %invoke.cont8 +invoke.cont12: ; preds = %.noexc + %12 = landingpad { ptr, i32 } + cleanup + call fastcc void @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %tmp.i) #28 + br label %ehcleanup78 + +invoke.cont12: ; preds = %invoke.cont.i %13 = load i8, ptr %gtest_ar, align 8 %tobool.i = trunc i8 %13 to i1 br i1 %tobool.i, label %if.end, label %if.else -lpad: ; preds = %if.end.i.i, %if.then.i.i, %if.end.i, %invoke.cont33, %invoke.cont8 +lpad: ; preds = %if.end.i.i, %if.then.i.i, %_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2EmRKSA_.exit, %invoke.cont33, %invoke.cont.i %14 = landingpad { ptr, i32 } cleanup br label %ehcleanup78 @@ -24037,7 +24030,7 @@ ehcleanup78: ; preds = %lpad, %lpad.i, %ehc } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(56) ptr @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEE11assign_implILb1EEERSB_OSB_(ptr noundef nonnull returned align 8 dereferenceable(56) %this, ptr noundef nonnull align 8 captures(none) dereferenceable(56) %that) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(56) ptr @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEE11assign_implILb1EEERSB_OSB_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(56) %this, ptr noundef nonnull align 8 captures(none) dereferenceable(56) %that) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: %0 = getelementptr inbounds nuw i8, ptr %this, i64 16 %this.val.i = load i64, ptr %0, align 8 @@ -24652,7 +24645,7 @@ ehcleanup78: ; preds = %ehcleanup77, %ehcle } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(56) ptr @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi6EEEEaSERKSB_(ptr noundef nonnull returned align 8 dereferenceable(56) %this, ptr noundef nonnull readonly align 8 dereferenceable(56) %that) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(56) ptr @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi6EEEEaSERKSB_(ptr noundef nonnull returned align 8 captures(address, ret: address, provenance) dereferenceable(56) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(56) %that) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: %tmp = alloca %"class.absl::container_internal::raw_hash_set.90", align 8 %cmp = icmp eq ptr %this, %that @@ -24897,29 +24890,16 @@ if.else.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i _ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2EmRKSA_.exit: ; preds = %_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEE6insertIiTnNSt9enable_ifIXsr4absl11disjunctionISt14is_convertibleIT_S9_ENSB_22SameAsElementReferenceISF_EEEE5valueEiE4typeELi0EiTnNSD_IXsr14IsDecomposableIT1_EE5valueEiE4typeELi0ETnPSF_LPi0EEESt4pairINSB_8iteratorEbEOSF_.exit, %if.then.i.i.i.i.i.i.i.i.i.i.i, %if.else.i.i.i.i.i.i.i.i.i.i.i call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %tmp.i) - %cmp.i = icmp eq ptr %u, %t1 - br i1 %cmp.i, label %invoke.cont, label %if.end.i - -if.end.i: ; preds = %_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2EmRKSA_.exit %add.ptr.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 72 invoke fastcc void @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2ERKSB_RKSA_(ptr noundef nonnull align 8 dereferenceable(56) %tmp.i, ptr noundef nonnull readonly align 8 dereferenceable(56) %t1, ptr noundef nonnull readonly align 8 dereferenceable(24) %add.ptr.i.i.i) to label %.noexc unwind label %lpad -.noexc: ; preds = %if.end.i +.noexc: ; preds = %_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2EmRKSA_.exit %call2.i = invoke fastcc noundef nonnull align 8 dereferenceable(56) ptr @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEE11assign_implILb1EEERSB_OSB_(ptr noundef nonnull align 8 dereferenceable(56) %u, ptr noundef nonnull align 8 dereferenceable(56) %tmp.i) to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc call fastcc void @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %tmp.i) #28 - br label %invoke.cont - -lpad.i: ; preds = %.noexc - %12 = landingpad { ptr, i32 } - cleanup - call fastcc void @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %tmp.i) #28 - br label %ehcleanup123 - -invoke.cont: ; preds = %invoke.cont.i, %_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2EmRKSA_.exit call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %tmp.i) %a1 = getelementptr inbounds nuw i8, ptr %this, i64 16 call void @llvm.experimental.noalias.scope.decl(metadata !731) @@ -24934,8 +24914,14 @@ invoke.cont: ; preds = %invoke.cont.i, %_ZN %cmp.not.i.i.i.i.i = icmp eq ptr %15, null br i1 %cmp.not.i.i.i.i.i, label %invoke.cont5, label %if.then.i.i.i.i.i21 -if.then.i.i.i.i.i21: ; preds = %invoke.cont - %_M_use_count.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %15, i64 8 +if.then.i.i.i.i.i21: ; preds = %.noexc + %_M_use_count.i.i.i.i.i.i = landingpad { ptr, i32 } + cleanup + call fastcc void @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %tmp.i) #28 + br label %ehcleanup123 + +if.then.i.i.i.i.i21: ; preds = %invoke.cont.i + %_M_use_count.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %14, i64 8 %16 = load i8, ptr @__libc_single_threaded, align 1, !noalias !731 %tobool.i.not.i.i.i.i.i.i = icmp eq i8 %16, 0 br i1 %tobool.i.not.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i @@ -24950,7 +24936,7 @@ if.else.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i21 %18 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i, i32 1 acq_rel, align 4, !noalias !731 br label %invoke.cont5 -invoke.cont5: ; preds = %if.else.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i, %invoke.cont +invoke.cont5: ; preds = %if.else.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i, %invoke.cont.i invoke fastcc void @_ZN7testing8internal8EqHelper7CompareIN4absl18container_internal12_GLOBAL__N_112CheckedAllocINS4_7TrackedIiEELi7EEES9_TnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSJ_RKSB_RKSC_(ptr noalias align 8 %gtest_ar, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.80, ptr noundef nonnull align 8 dereferenceable(24) %a1, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp4) to label %invoke.cont7 unwind label %lpad6 @@ -25030,7 +25016,7 @@ _ZN4absl18container_internal12_GLOBAL__N_112CheckedAllocINS0_7TrackedIiEELi7EED2 %tobool.i = trunc i8 %29 to i1 br i1 %tobool.i, label %if.end, label %if.else -lpad: ; preds = %if.end.i.i98, %if.then.i.i99, %if.end.i.i, %if.then.i.i, %if.end.i, %invoke.cont78, %invoke.cont25 +lpad: ; preds = %if.end.i.i98, %if.then.i.i99, %if.end.i.i, %if.then.i.i, %_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEEC2EmRKSA_.exit, %invoke.cont78, %invoke.cont25 %30 = landingpad { ptr, i32 } cleanup br label %ehcleanup123 @@ -25567,7 +25553,7 @@ ehcleanup122: ; preds = %_ZN7testing7Message br label %ehcleanup123 ehcleanup123: ; preds = %lpad, %lpad.i, %ehcleanup122, %ehcleanup98, %ehcleanup69, %ehcleanup46, %ehcleanup19, %lpad6 - %.pn12.pn.pn = phi { ptr, i32 } [ %.pn12.pn, %ehcleanup122 ], [ %.pn9.pn, %ehcleanup98 ], [ %.pn6.pn, %ehcleanup69 ], [ %.pn3.pn, %ehcleanup46 ], [ %.pn.pn, %ehcleanup19 ], [ %31, %lpad6 ], [ %30, %lpad ], [ %12, %lpad.i ] + %.pn12.pn.pn = phi { ptr, i32 } [ %.pn12.pn, %ehcleanup122 ], [ %.pn9.pn, %ehcleanup98 ], [ %.pn6.pn, %ehcleanup69 ], [ %.pn3.pn, %ehcleanup46 ], [ %.pn.pn, %ehcleanup19 ], [ %31, %lpad6 ], [ %30, %lpad ], [ %15, %lpad.i ] call fastcc void @_ZN4absl18container_internal12raw_hash_setINS0_12_GLOBAL__N_16PolicyENS2_8IdentityESt8equal_toIiENS2_12CheckedAllocINS0_7TrackedIiEELi7EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %u) #28 br label %common.resume } diff --git a/bench/assimp/optimized/glTF2Exporter.ll b/bench/assimp/optimized/glTF2Exporter.ll index ac477a0d5b6..1fb6449df2c 100644 --- a/bench/assimp/optimized/glTF2Exporter.ll +++ b/bench/assimp/optimized/glTF2Exporter.ll @@ -20629,8 +20629,6 @@ invoke.cont25: ; preds = %if.then20.invoke.co %idxprom11.i.i = zext i32 %109 to i64 %value13.i.i = getelementptr inbounds nuw %"class.rapidjson::GenericMember", ptr %108, i64 %idxprom11.i.i, i32 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %value13.i.i, ptr noundef nonnull align 8 dereferenceable(16) %vTmpMax, i64 16, i1 false) - %flags.i10.i.i = getelementptr inbounds nuw i8, ptr %vTmpMax, i64 14 - store i16 0, ptr %flags.i10.i.i, align 2 %110 = load i32, ptr %obj, align 8 %inc.i.i = add i32 %110, 1 store i32 %inc.i.i, ptr %obj, align 8 @@ -20738,8 +20736,6 @@ invoke.cont40: ; preds = %if.else.invoke.cont %idxprom11.i.i252 = zext i32 %135 to i64 %value13.i.i253 = getelementptr inbounds nuw %"class.rapidjson::GenericMember", ptr %134, i64 %idxprom11.i.i252, i32 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %value13.i.i253, ptr noundef nonnull align 8 dereferenceable(16) %vTmpMax, i64 16, i1 false) - %flags.i10.i.i254 = getelementptr inbounds nuw i8, ptr %vTmpMax, i64 14 - store i16 0, ptr %flags.i10.i.i254, align 2 %136 = load i32, ptr %obj, align 8 %inc.i.i255 = add i32 %136, 1 store i32 %inc.i.i255, ptr %obj, align 8 @@ -20805,8 +20801,6 @@ if.end50: ; preds = %if.then.i.i.i291, % %idxprom11.i.i287 = zext i32 %150 to i64 %value13.i.i288 = getelementptr inbounds nuw %"class.rapidjson::GenericMember", ptr %149, i64 %idxprom11.i.i287, i32 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %value13.i.i288, ptr noundef nonnull align 8 dereferenceable(16) %vTmpMin, i64 16, i1 false) - %flags.i10.i.i289 = getelementptr inbounds nuw i8, ptr %vTmpMin, i64 14 - store i16 0, ptr %flags.i10.i.i289, align 2 %storemerge.in = load i32, ptr %obj, align 8 %storemerge = add i32 %storemerge.in, 1 store i32 %storemerge, ptr %obj, align 8 @@ -21218,7 +21212,7 @@ return: ; preds = %if.end.i.i38, %_ZN9 declare noalias noundef ptr @malloc(i64 noundef) local_unnamed_addr #16 ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN5glTF212_GLOBAL__N_19MakeValueIdEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT_SaISC_EERS8_(ptr noundef nonnull returned align 8 dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN5glTF212_GLOBAL__N_19MakeValueIdEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT_SaISC_EERS8_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #2 personality ptr @__gxx_personality_v0 { entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %val, i8 0, i64 16, i1 false) %flags.i.i = getelementptr inbounds nuw i8, ptr %val, i64 14 @@ -21340,7 +21334,7 @@ for.end: ; preds = %_ZN9rapidjson12Gene } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN5glTF212_GLOBAL__N_113MakeValueCastIldEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT0_SaISC_EERS8_(ptr noundef nonnull returned align 8 dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN5glTF212_GLOBAL__N_113MakeValueCastIldEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT0_SaISC_EERS8_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #2 personality ptr @__gxx_personality_v0 { entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %val, i8 0, i64 16, i1 false) %flags.i.i = getelementptr inbounds nuw i8, ptr %val, i64 14 diff --git a/bench/assimp/optimized/glTF2Importer.ll b/bench/assimp/optimized/glTF2Importer.ll index ea74ef6b412..97df0f58de5 100644 --- a/bench/assimp/optimized/glTF2Importer.ll +++ b/bench/assimp/optimized/glTF2Importer.ll @@ -10542,7 +10542,7 @@ lpad6: ; preds = %invoke.cont } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN5glTF28Accessor11ExtractDataIN12_GLOBAL__N_17TangentEEEmRPT_PKSt6vectorIjSaIjEE(ptr noundef nonnull align 8 dereferenceable(376) %this, ptr noundef nonnull align 8 captures(none) dereferenceable(8) %outData, ptr noundef readonly %remappingIndices) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN5glTF28Accessor11ExtractDataIN12_GLOBAL__N_17TangentEEEmRPT_PKSt6vectorIjSaIjEE(ptr noundef nonnull align 8 dereferenceable(376) %this, ptr noundef nonnull align 8 captures(none) dereferenceable(8) %outData, ptr noundef readonly captures(address_is_null) %remappingIndices) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 %elemSize = alloca i64, align 8 @@ -27897,8 +27897,6 @@ invoke.cont25: ; preds = %if.then20.invoke.co %idxprom11.i.i = zext i32 %109 to i64 %value13.i.i = getelementptr inbounds nuw %"class.rapidjson::GenericMember", ptr %108, i64 %idxprom11.i.i, i32 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %value13.i.i, ptr noundef nonnull align 8 dereferenceable(16) %vTmpMax, i64 16, i1 false) - %flags.i10.i.i = getelementptr inbounds nuw i8, ptr %vTmpMax, i64 14 - store i16 0, ptr %flags.i10.i.i, align 2 %110 = load i32, ptr %obj, align 8 %inc.i.i = add i32 %110, 1 store i32 %inc.i.i, ptr %obj, align 8 @@ -28006,8 +28004,6 @@ invoke.cont40: ; preds = %if.else.invoke.cont %idxprom11.i.i252 = zext i32 %135 to i64 %value13.i.i253 = getelementptr inbounds nuw %"class.rapidjson::GenericMember", ptr %134, i64 %idxprom11.i.i252, i32 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %value13.i.i253, ptr noundef nonnull align 8 dereferenceable(16) %vTmpMax, i64 16, i1 false) - %flags.i10.i.i254 = getelementptr inbounds nuw i8, ptr %vTmpMax, i64 14 - store i16 0, ptr %flags.i10.i.i254, align 2 %136 = load i32, ptr %obj, align 8 %inc.i.i255 = add i32 %136, 1 store i32 %inc.i.i255, ptr %obj, align 8 @@ -28073,8 +28069,6 @@ if.end50: ; preds = %if.then.i.i.i291, % %idxprom11.i.i287 = zext i32 %150 to i64 %value13.i.i288 = getelementptr inbounds nuw %"class.rapidjson::GenericMember", ptr %149, i64 %idxprom11.i.i287, i32 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %value13.i.i288, ptr noundef nonnull align 8 dereferenceable(16) %vTmpMin, i64 16, i1 false) - %flags.i10.i.i289 = getelementptr inbounds nuw i8, ptr %vTmpMin, i64 14 - store i16 0, ptr %flags.i10.i.i289, align 2 %storemerge.in = load i32, ptr %obj, align 8 %storemerge = add i32 %storemerge.in, 1 store i32 %storemerge, ptr %obj, align 8 @@ -28486,7 +28480,7 @@ return: ; preds = %if.end.i.i38, %_ZN9 declare noalias noundef ptr @malloc(i64 noundef) local_unnamed_addr #19 ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN5glTF212_GLOBAL__N_19MakeValueIdEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT_SaISC_EERS8_(ptr noundef nonnull returned align 8 dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #4 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN5glTF212_GLOBAL__N_19MakeValueIdEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT_SaISC_EERS8_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #4 personality ptr @__gxx_personality_v0 { entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %val, i8 0, i64 16, i1 false) %flags.i.i = getelementptr inbounds nuw i8, ptr %val, i64 14 @@ -28608,7 +28602,7 @@ for.end: ; preds = %_ZN9rapidjson12Gene } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN5glTF212_GLOBAL__N_113MakeValueCastIldEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT0_SaISC_EERS8_(ptr noundef nonnull returned align 8 dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #4 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN5glTF212_GLOBAL__N_113MakeValueCastIldEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT0_SaISC_EERS8_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #4 personality ptr @__gxx_personality_v0 { entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %val, i8 0, i64 16, i1 false) %flags.i.i = getelementptr inbounds nuw i8, ptr %val, i64 14 diff --git a/bench/assimp/optimized/glTFExporter.ll b/bench/assimp/optimized/glTFExporter.ll index 6cb85831a23..1f0a8d26f95 100644 --- a/bench/assimp/optimized/glTFExporter.ll +++ b/bench/assimp/optimized/glTFExporter.ll @@ -44485,8 +44485,6 @@ invoke.cont28: ; preds = %if.then.invoke.cont %idxprom11.i.i199 = zext i32 %121 to i64 %value13.i.i200 = getelementptr inbounds nuw %"class.rapidjson::GenericMember", ptr %120, i64 %idxprom11.i.i199, i32 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %value13.i.i200, ptr noundef nonnull align 8 dereferenceable(16) %vTmpMax, i64 16, i1 false) - %flags.i10.i.i201 = getelementptr inbounds nuw i8, ptr %vTmpMax, i64 14 - store i16 0, ptr %flags.i10.i.i201, align 2 %122 = load i32, ptr %obj, align 8 %inc.i.i202 = add i32 %122, 1 store i32 %inc.i.i202, ptr %obj, align 8 @@ -44594,8 +44592,6 @@ invoke.cont43: ; preds = %if.else.invoke.cont %idxprom11.i.i269 = zext i32 %147 to i64 %value13.i.i270 = getelementptr inbounds nuw %"class.rapidjson::GenericMember", ptr %146, i64 %idxprom11.i.i269, i32 1 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %value13.i.i270, ptr noundef nonnull align 8 dereferenceable(16) %vTmpMax, i64 16, i1 false) - %flags.i10.i.i271 = getelementptr inbounds nuw i8, ptr %vTmpMax, i64 14 - store i16 0, ptr %flags.i10.i.i271, align 2 %148 = load i32, ptr %obj, align 8 %inc.i.i272 = add i32 %148, 1 store i32 %inc.i.i272, ptr %obj, align 8 @@ -44668,7 +44664,7 @@ if.end: ; preds = %if.then.i.i.i308, % } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN4glTF12_GLOBAL__N_19MakeValueIdEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT_SaISC_EERS8_(ptr noundef nonnull returned align 8 dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN4glTF12_GLOBAL__N_19MakeValueIdEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT_SaISC_EERS8_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #2 personality ptr @__gxx_personality_v0 { entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %val, i8 0, i64 16, i1 false) %flags.i.i = getelementptr inbounds nuw i8, ptr %val, i64 14 @@ -44790,7 +44786,7 @@ for.end: ; preds = %_ZN9rapidjson12Gene } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN4glTF12_GLOBAL__N_113MakeValueCastIldEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT0_SaISC_EERS8_(ptr noundef nonnull returned align 8 dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN4glTF12_GLOBAL__N_113MakeValueCastIldEERN9rapidjson12GenericValueINS2_4UTF8IcEENS2_19MemoryPoolAllocatorINS2_12CrtAllocatorEEEEESA_RKSt6vectorIT0_SaISC_EERS8_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) initializes((0, 16)) %val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %r, ptr noundef nonnull align 8 dereferenceable(40) %al) unnamed_addr #2 personality ptr @__gxx_personality_v0 { entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %val, i8 0, i64 16, i1 false) %flags.i.i = getelementptr inbounds nuw i8, ptr %val, i64 14 diff --git a/bench/bdwgc/optimized/cordbscs.ll b/bench/bdwgc/optimized/cordbscs.ll index ab81858c003..1858cc2b209 100644 --- a/bench/bdwgc/optimized/cordbscs.ll +++ b/bench/bdwgc/optimized/cordbscs.ll @@ -824,7 +824,7 @@ CORD__call_oom_fn.exit36: ; preds = %28, %30 } ; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read) uwtable -define i64 @CORD_len(ptr noundef readonly %0) local_unnamed_addr #10 { +define i64 @CORD_len(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #10 { %2 = icmp eq ptr %0, null br i1 %2, label %10, label %3 @@ -1416,7 +1416,7 @@ CORD_substr_closure.exit: ; preds = %79, %89, %162, %155 } ; Function Attrs: nounwind uwtable -define i32 @CORD_iter5(ptr noundef %0, i64 noundef %1, ptr noundef readonly captures(none) %2, ptr noundef %3, ptr noundef %4) local_unnamed_addr #2 { +define i32 @CORD_iter5(ptr noundef %0, i64 noundef %1, ptr noundef readonly captures(none) %2, ptr noundef captures(address_is_null) %3, ptr noundef %4) local_unnamed_addr #2 { %6 = icmp eq ptr %0, null br i1 %6, label %.loopexit, label %.lr.ph @@ -1573,7 +1573,7 @@ define i32 @CORD_iter(ptr noundef %0, ptr noundef readonly captures(none) %1, pt } ; Function Attrs: nounwind uwtable -define range(i32 0, 2) i32 @CORD_riter4(ptr noundef readonly %0, i64 noundef %1, ptr noundef readonly captures(none) %2, ptr noundef %3) local_unnamed_addr #2 { +define range(i32 0, 2) i32 @CORD_riter4(ptr noundef readonly captures(address) %0, i64 noundef %1, ptr noundef readonly captures(none) %2, ptr noundef %3) local_unnamed_addr #2 { br label %tailrecurse.outer tailrecurse.outer: ; preds = %52, %4 @@ -1717,7 +1717,7 @@ tailrecurse: ; preds = %tailrecurse.outer, } ; Function Attrs: nounwind uwtable -define range(i32 0, 2) i32 @CORD_riter(ptr noundef %0, ptr noundef readonly captures(none) %1, ptr noundef %2) local_unnamed_addr #2 { +define range(i32 0, 2) i32 @CORD_riter(ptr noundef captures(address) %0, ptr noundef readonly captures(none) %1, ptr noundef %2) local_unnamed_addr #2 { %4 = icmp eq ptr %0, null br i1 %4, label %CORD_len.exit.thread, label %5 diff --git a/bench/bdwgc/optimized/gc.ll b/bench/bdwgc/optimized/gc.ll index b391de53428..2f272c64a8d 100644 --- a/bench/bdwgc/optimized/gc.ll +++ b/bench/bdwgc/optimized/gc.ll @@ -931,7 +931,7 @@ GC_new_kind_inner.exit16: ; preds = %GC_new_free_list_in } ; Function Attrs: nounwind uwtable -define internal noundef ptr @GC_gcj_fake_mark_proc(ptr readnone captures(none) %0, ptr noundef readnone returned %1, ptr readnone captures(none) %2, i64 %3) #2 { +define internal noundef ptr @GC_gcj_fake_mark_proc(ptr readnone captures(none) %0, ptr noundef readnone returned captures(ret: address, provenance) %1, ptr readnone captures(none) %2, i64 %3) #2 { %5 = load ptr, ptr @GC_current_warn_proc, align 8, !tbaa !12 %6 = icmp eq ptr %5, inttoptr (i64 -1 to ptr) br i1 %6, label %9, label %7 @@ -5015,14 +5015,14 @@ suspend_restart_barrier.exit: ; preds = %19, %6, %5 } ; Function Attrs: nounwind uwtable -define range(i32 0, 2) i32 @GC_try_to_collect(ptr noundef nonnull %0) local_unnamed_addr #2 { +define range(i32 0, 2) i32 @GC_try_to_collect(ptr noundef nonnull captures(address) %0) local_unnamed_addr #2 { %2 = tail call fastcc signext i8 @GC_try_to_collect_general(ptr noundef nonnull %0, i8 noundef signext 0) %3 = zext nneg i8 %2 to i32 ret i32 %3 } ; Function Attrs: nounwind uwtable -define internal fastcc signext range(i8 0, 2) i8 @GC_try_to_collect_general(ptr noundef %0, i8 noundef signext range(i8 0, 2) %1) unnamed_addr #2 { +define internal fastcc signext range(i8 0, 2) i8 @GC_try_to_collect_general(ptr noundef captures(address) %0, i8 noundef signext range(i8 0, 2) %1) unnamed_addr #2 { %3 = alloca i32, align 4 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #47 %.b11 = load i1, ptr @GC_is_initialized, align 1 @@ -6344,7 +6344,7 @@ define noalias ptr @GC_malloc_atomic(i64 noundef %0) local_unnamed_addr #6 { } ; Function Attrs: nounwind uwtable -define noalias ptr @GC_debug_strdup(ptr noundef readonly %0, ptr noundef %1, i32 noundef %2) local_unnamed_addr #2 { +define noalias ptr @GC_debug_strdup(ptr noundef readonly captures(address_is_null) %0, ptr noundef %1, i32 noundef %2) local_unnamed_addr #2 { %4 = icmp eq ptr %0, null br i1 %4, label %5, label %8 @@ -7607,7 +7607,7 @@ define noalias ptr @GC_debug_generic_or_special_malloc(i64 noundef %0, i32 nound } ; Function Attrs: nounwind uwtable -define void @GC_debug_register_finalizer(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly %3, ptr noundef writeonly %4) local_unnamed_addr #2 { +define void @GC_debug_register_finalizer(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly captures(address_is_null) %3, ptr noundef writeonly captures(address_is_null) %4) local_unnamed_addr #2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #47 @@ -7815,7 +7815,7 @@ store_old.exit: ; preds = %76, %95, %94, %89, } ; Function Attrs: nounwind uwtable -define void @GC_register_finalizer(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4) local_unnamed_addr #2 { +define void @GC_register_finalizer(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef captures(address_is_null) %3, ptr noundef captures(address_is_null) %4) local_unnamed_addr #2 { tail call fastcc void @GC_register_finalizer_inner(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef nonnull @GC_normal_finalize_mark_proc) ret void } @@ -7831,7 +7831,7 @@ define internal void @GC_debug_invoke_finalizer(ptr noundef %0, ptr noundef read } ; Function Attrs: nounwind uwtable -define void @GC_debug_register_finalizer_no_order(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly %3, ptr noundef writeonly %4) local_unnamed_addr #2 { +define void @GC_debug_register_finalizer_no_order(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly captures(address_is_null) %3, ptr noundef writeonly captures(address_is_null) %4) local_unnamed_addr #2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #47 @@ -8039,13 +8039,13 @@ store_old.exit: ; preds = %76, %95, %94, %89, } ; Function Attrs: nounwind uwtable -define void @GC_register_finalizer_no_order(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4) local_unnamed_addr #2 { +define void @GC_register_finalizer_no_order(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef captures(address_is_null) %3, ptr noundef captures(address_is_null) %4) local_unnamed_addr #2 { tail call fastcc void @GC_register_finalizer_inner(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef nonnull @GC_null_finalize_mark_proc) ret void } ; Function Attrs: nounwind uwtable -define void @GC_debug_register_finalizer_unreachable(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly %3, ptr noundef writeonly %4) local_unnamed_addr #2 { +define void @GC_debug_register_finalizer_unreachable(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly captures(address_is_null) %3, ptr noundef writeonly captures(address_is_null) %4) local_unnamed_addr #2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #47 @@ -8253,13 +8253,13 @@ store_old.exit: ; preds = %76, %95, %94, %89, } ; Function Attrs: nounwind uwtable -define void @GC_register_finalizer_unreachable(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4) local_unnamed_addr #2 { +define void @GC_register_finalizer_unreachable(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef captures(address_is_null) %3, ptr noundef captures(address_is_null) %4) local_unnamed_addr #2 { tail call fastcc void @GC_register_finalizer_inner(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef nonnull @GC_unreachable_finalize_mark_proc) ret void } ; Function Attrs: nounwind uwtable -define void @GC_debug_register_finalizer_ignore_self(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly %3, ptr noundef writeonly %4) local_unnamed_addr #2 { +define void @GC_debug_register_finalizer_ignore_self(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly captures(address_is_null) %3, ptr noundef writeonly captures(address_is_null) %4) local_unnamed_addr #2 { %6 = alloca ptr, align 8 %7 = alloca ptr, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #47 @@ -8467,7 +8467,7 @@ store_old.exit: ; preds = %76, %95, %94, %89, } ; Function Attrs: nounwind uwtable -define void @GC_register_finalizer_ignore_self(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4) local_unnamed_addr #2 { +define void @GC_register_finalizer_ignore_self(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef captures(address_is_null) %3, ptr noundef captures(address_is_null) %4) local_unnamed_addr #2 { tail call fastcc void @GC_register_finalizer_inner(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef nonnull @GC_ignore_self_finalize_mark_proc) ret void } @@ -10436,7 +10436,7 @@ GC_lock.exit: ; preds = %.preheader.i.i, %GC } ; Function Attrs: nounwind uwtable -define internal fastcc void @GC_register_finalizer_inner(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly %3, ptr noundef writeonly %4, ptr noundef %5) unnamed_addr #2 { +define internal fastcc void @GC_register_finalizer_inner(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly captures(address_is_null) %3, ptr noundef writeonly captures(address_is_null) %4, ptr noundef %5) unnamed_addr #2 { %7 = load i32, ptr @GC_find_leak, align 4, !tbaa !3 %.not = icmp eq i32 %7, 0 br i1 %.not, label %8, label %.thread133, !prof !13 @@ -13192,7 +13192,7 @@ define internal fastcc noundef ptr @GC_generic_malloc_inner_small(i64 noundef %0 } ; Function Attrs: nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define range(i32 0, 256) i32 @GC_get_kind_and_size(ptr noundef nonnull %0, ptr noundef writeonly %1) local_unnamed_addr #18 { +define range(i32 0, 256) i32 @GC_get_kind_and_size(ptr noundef nonnull %0, ptr noundef writeonly captures(address_is_null) %1) local_unnamed_addr #18 { %3 = ptrtoint ptr %0 to i64 %4 = lshr i64 %3, 22 %5 = and i64 %4, 2047 @@ -15042,7 +15042,7 @@ GC_memalign.exit: ; preds = %3, %14, %16 } ; Function Attrs: nounwind uwtable -define noalias ptr @GC_strdup(ptr noundef readonly %0) local_unnamed_addr #2 { +define noalias ptr @GC_strdup(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #2 { %2 = icmp eq ptr %0, null br i1 %2, label %11, label %3 @@ -15519,7 +15519,7 @@ define void @GC_push_all(ptr noundef %0, ptr noundef %1) local_unnamed_addr #2 { } ; Function Attrs: nounwind uwtable -define noundef ptr @GC_custom_push_range(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef readnone %3) local_unnamed_addr #2 { +define noundef ptr @GC_custom_push_range(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef readnone captures(address) %3) local_unnamed_addr #2 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 7 %6 = tail call align 8 ptr @llvm.ptrmask.p0.i64(ptr nonnull %5, i64 -8) %7 = tail call align 8 ptr @llvm.ptrmask.p0.i64(ptr %1, i64 -8) @@ -15571,7 +15571,7 @@ GC_custom_push_proc.exit: ; preds = %9, %GC_signal_mark_ } ; Function Attrs: nounwind uwtable -define noundef nonnull ptr @GC_custom_push_proc(i64 noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef readnone %3) local_unnamed_addr #2 { +define noundef nonnull ptr @GC_custom_push_proc(i64 noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef readnone captures(address) %3) local_unnamed_addr #2 { %5 = getelementptr inbounds nuw i8, ptr %2, i64 16 %6 = icmp ult ptr %5, %3 br i1 %6, label %15, label %7 @@ -15973,7 +15973,7 @@ GC_find_header.exit: ; preds = %7 } ; Function Attrs: nounwind uwtable -define noundef ptr @GC_mark_and_push(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr readnone captures(none) %3) local_unnamed_addr #2 { +define noundef ptr @GC_mark_and_push(ptr noundef %0, ptr noundef %1, ptr noundef captures(address) %2, ptr readnone captures(none) %3) local_unnamed_addr #2 { tail call void @llvm.prefetch.p0(ptr %0, i32 0, i32 0, i32 1) %5 = ptrtoint ptr %0 to i64 %6 = lshr i64 %5, 22 @@ -16194,7 +16194,7 @@ GC_find_header.exit._crit_edge: ; preds = %GC_find_header.exit } ; Function Attrs: inlinehint nounwind uwtable -define internal fastcc noundef ptr @GC_push_contents_hdr(ptr noundef %0, ptr noundef %1, ptr noundef readnone %2, ptr noundef %3, i8 noundef signext range(i8 0, 2) %4) unnamed_addr #26 { +define internal fastcc noundef ptr @GC_push_contents_hdr(ptr noundef %0, ptr noundef %1, ptr noundef readnone captures(address) %2, ptr noundef %3, i8 noundef signext range(i8 0, 2) %4) unnamed_addr #26 { %6 = ptrtoint ptr %0 to i64 %7 = and i64 %6, 4095 %8 = lshr i64 %7, 4 @@ -16821,7 +16821,7 @@ GC_remove_roots_inner.exit: ; preds = %.lr.ph.i.i, %GC_loc } ; Function Attrs: nounwind uwtable -define range(i32 -128, 128) i32 @GC_is_tmp_root(ptr noundef readnone %0) local_unnamed_addr #2 { +define range(i32 -128, 128) i32 @GC_is_tmp_root(ptr noundef readnone captures(address) %0) local_unnamed_addr #2 { %.b17 = load i1, ptr @GC_need_to_lock, align 1 br i1 %.b17, label %2, label %GC_lock.exit @@ -18845,7 +18845,7 @@ define void @GC_set_handle_fork(i32 noundef %0) local_unnamed_addr #20 { } ; Function Attrs: nofree nounwind memory(readwrite, argmem: none) uwtable -define hidden noundef ptr @GC_clear_stack_inner(ptr noundef returned %0, ptr noundef %1) local_unnamed_addr #29 { +define hidden noundef ptr @GC_clear_stack_inner(ptr noundef returned %0, ptr noundef captures(address) %1) local_unnamed_addr #29 { %3 = alloca ptr, align 8 %4 = alloca [213 x ptr], align 16 call void @llvm.lifetime.start.p0(i64 1704, ptr nonnull %4) #47 @@ -18928,7 +18928,7 @@ define range(i64 -1, -15) i64 @GC_get_size_map_at(i32 noundef %0) local_unnamed_ } ; Function Attrs: nounwind uwtable -define void @GC_get_heap_usage_safe(ptr noundef writeonly %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3, ptr noundef writeonly %4) local_unnamed_addr #2 { +define void @GC_get_heap_usage_safe(ptr noundef writeonly captures(address_is_null) %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3, ptr noundef writeonly captures(address_is_null) %4) local_unnamed_addr #2 { %.b14 = load i1, ptr @GC_need_to_lock, align 1 br i1 %.b14, label %6, label %GC_lock.exit @@ -20992,7 +20992,7 @@ GC_print_static_roots.exit: ; preds = %GC_compute_root_siz } ; Function Attrs: nounwind uwtable -define internal fastcc signext range(i8 0, 2) i8 @GC_try_to_collect_inner(ptr noundef %0) unnamed_addr #2 { +define internal fastcc signext range(i8 0, 2) i8 @GC_try_to_collect_inner(ptr noundef captures(address) %0) unnamed_addr #2 { %2 = alloca %struct.timespec, align 8 %3 = alloca %struct.timespec, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %2) #47 @@ -22552,7 +22552,7 @@ GC_lock.exit: ; preds = %.preheader.i.i, %GC } ; Function Attrs: nounwind uwtable -define internal void @GC_default_on_abort(ptr noundef readonly %0) #2 { +define internal void @GC_default_on_abort(ptr noundef readonly captures(address_is_null) %0) #2 { %2 = alloca i32, align 4 %3 = alloca i32, align 4 store i1 true, ptr @skip_gc_atexit, align 1 @@ -27084,7 +27084,7 @@ declare i32 @sigdelset(ptr noundef, i32 noundef) local_unnamed_addr #4 declare i32 @pthread_sigmask(i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #4 ; Function Attrs: nofree nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define void @GC_set_stackbottom(ptr noundef readonly %0, ptr noundef nonnull readonly captures(none) %1) local_unnamed_addr #40 { +define void @GC_set_stackbottom(ptr noundef readonly captures(address_is_null) %0, ptr noundef nonnull readonly captures(none) %1) local_unnamed_addr #40 { %.b = load i1, ptr @GC_is_initialized, align 1 br i1 %.b, label %3, label %19, !prof !13 @@ -27725,7 +27725,7 @@ GC_lock.exit: ; preds = %.preheader.i.i, %GC } ; Function Attrs: nounwind uwtable -define internal fastcc void @GC_unregister_my_thread_inner(ptr noundef %0) unnamed_addr #2 { +define internal fastcc void @GC_unregister_my_thread_inner(ptr noundef captures(address) %0) unnamed_addr #2 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 56 %3 = load i32, ptr @GC_n_kinds, align 4 %4 = icmp eq i32 %3, 0 @@ -28379,7 +28379,7 @@ GC_record_stack_base.exit: ; preds = %GC_new_thread.exit } ; Function Attrs: nounwind uwtable -define hidden void @GC_thread_exit_proc(ptr noundef %0) local_unnamed_addr #2 { +define hidden void @GC_thread_exit_proc(ptr noundef captures(address) %0) local_unnamed_addr #2 { %2 = alloca i32, align 4 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #47 %.b2 = load i1, ptr @GC_need_to_lock, align 1 @@ -28604,7 +28604,7 @@ GC_lock.exit16: ; preds = %.preheader.i.i14, % declare i32 @pthread_join(i64 noundef, ptr noundef) local_unnamed_addr #31 ; Function Attrs: nounwind uwtable -define internal fastcc void @GC_delete_thread(ptr noundef readonly %0) unnamed_addr #2 { +define internal fastcc void @GC_delete_thread(ptr noundef readonly captures(address) %0) unnamed_addr #2 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 16 %3 = load i64, ptr %2, align 8, !tbaa !180 %4 = lshr i64 %3, 8 @@ -30752,7 +30752,7 @@ GC_push_next_marked.exit: ; preds = %.critedge.i51, %GC_ } ; Function Attrs: nounwind uwtable -define internal fastcc signext range(i8 0, 2) i8 @GC_stopped_mark(ptr noundef readonly %0) unnamed_addr #2 { +define internal fastcc signext range(i8 0, 2) i8 @GC_stopped_mark(ptr noundef readonly captures(address) %0) unnamed_addr #2 { %2 = alloca i32, align 4 %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 @@ -38919,7 +38919,7 @@ thread-pre-split: ; preds = %33 } ; Function Attrs: nounwind uwtable -define internal fastcc signext range(i8 0, 2) i8 @GC_reclaim_all(ptr noundef readonly %0, i8 noundef signext range(i8 0, 2) %1) unnamed_addr #2 { +define internal fastcc signext range(i8 0, 2) i8 @GC_reclaim_all(ptr noundef readonly captures(address_is_null) %0, i8 noundef signext range(i8 0, 2) %1) unnamed_addr #2 { %3 = alloca %struct.timespec, align 8 %4 = alloca %struct.timespec, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) #47 @@ -42557,7 +42557,7 @@ define internal fastcc void @GC_remove_protection(ptr noundef %0, i64 noundef ra } ; Function Attrs: nounwind uwtable -define internal ptr @GC_typed_mark_proc(ptr noundef %0, ptr noundef %1, ptr noundef %2, i64 noundef %3) #2 { +define internal ptr @GC_typed_mark_proc(ptr noundef %0, ptr noundef %1, ptr noundef captures(address) %2, i64 noundef %3) #2 { %5 = alloca [8 x %struct.hce], align 16 %6 = load ptr, ptr @GC_greatest_plausible_heap_addr, align 8, !tbaa !12 %7 = load ptr, ptr @GC_least_plausible_heap_addr, align 8, !tbaa !12 diff --git a/bench/cjson/optimized/cJSON.ll b/bench/cjson/optimized/cJSON.ll index fbbf6af6437..2da71c60edd 100644 --- a/bench/cjson/optimized/cJSON.ll +++ b/bench/cjson/optimized/cJSON.ll @@ -31,7 +31,7 @@ define ptr @cJSON_GetErrorPtr() local_unnamed_addr #0 { } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define ptr @cJSON_GetStringValue(ptr noundef readonly %0) local_unnamed_addr #1 { +define ptr @cJSON_GetStringValue(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %cJSON_IsString.exit.thread, label %cJSON_IsString.exit @@ -53,7 +53,7 @@ cJSON_IsString.exit.thread: ; preds = %1, %cJSON_IsString. } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define range(i32 0, 2) i32 @cJSON_IsString(ptr noundef readonly %0) local_unnamed_addr #1 { +define range(i32 0, 2) i32 @cJSON_IsString(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -71,7 +71,7 @@ define range(i32 0, 2) i32 @cJSON_IsString(ptr noundef readonly %0) local_unname } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define double @cJSON_GetNumberValue(ptr noundef readonly %0) local_unnamed_addr #1 { +define double @cJSON_GetNumberValue(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %cJSON_IsNumber.exit.thread, label %cJSON_IsNumber.exit @@ -93,7 +93,7 @@ cJSON_IsNumber.exit.thread: ; preds = %1, %cJSON_IsNumber. } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define range(i32 0, 2) i32 @cJSON_IsNumber(ptr noundef readonly %0) local_unnamed_addr #1 { +define range(i32 0, 2) i32 @cJSON_IsNumber(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -120,7 +120,7 @@ define noundef nonnull ptr @cJSON_Version() local_unnamed_addr #2 { declare noundef i32 @sprintf(ptr noalias noundef writeonly captures(none), ptr noundef readonly captures(none), ...) local_unnamed_addr #3 ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(write, argmem: read, inaccessiblemem: none) uwtable -define void @cJSON_InitHooks(ptr noundef readonly %0) local_unnamed_addr #4 { +define void @cJSON_InitHooks(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #4 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -260,7 +260,7 @@ define noundef double @cJSON_SetNumberHelper(ptr noundef writeonly captures(none } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_SetValuestring(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #8 { +define ptr @cJSON_SetValuestring(ptr noundef captures(address_is_null) %0, ptr noundef readonly captures(address) %1) local_unnamed_addr #8 { %3 = icmp eq ptr %0, null br i1 %3, label %cJSON_strdup.exit.thread, label %4 @@ -339,7 +339,7 @@ define void @cJSON_free(ptr noundef %0) local_unnamed_addr #8 { } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_ParseWithOpts(ptr noundef %0, ptr noundef %1, i32 noundef %2) local_unnamed_addr #8 { +define ptr @cJSON_ParseWithOpts(ptr noundef %0, ptr noundef captures(address_is_null) %1, i32 noundef %2) local_unnamed_addr #8 { %4 = icmp eq ptr %0, null br i1 %4, label %9, label %5 @@ -355,7 +355,7 @@ define ptr @cJSON_ParseWithOpts(ptr noundef %0, ptr noundef %1, i32 noundef %2) } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_ParseWithLengthOpts(ptr noundef %0, i64 noundef %1, ptr noundef writeonly %2, i32 noundef %3) local_unnamed_addr #8 { +define ptr @cJSON_ParseWithLengthOpts(ptr noundef %0, i64 noundef %1, ptr noundef writeonly captures(address_is_null) %2, i32 noundef %3) local_unnamed_addr #8 { %5 = alloca %struct.parse_buffer, align 8 call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %5) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %5, i8 0, i64 56, i1 false) @@ -545,7 +545,7 @@ declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immar declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #14 ; Function Attrs: nounwind sspstrong uwtable -define internal fastcc i32 @parse_value(ptr noundef nonnull writeonly captures(none) %0, ptr noundef %1) unnamed_addr #8 { +define internal fastcc i32 @parse_value(ptr noundef nonnull writeonly captures(none) %0, ptr noundef captures(address_is_null) %1) unnamed_addr #8 { %3 = alloca ptr, align 8 %4 = alloca [64 x i8], align 16 %5 = icmp eq ptr %1, null @@ -865,7 +865,7 @@ parse_array.exit: ; preds = %86, %106, %91, %37, } ; Function Attrs: nofree norecurse nosync nounwind sspstrong memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc void @buffer_skip_whitespace(ptr noundef %0) unnamed_addr #15 { +define internal fastcc void @buffer_skip_whitespace(ptr noundef captures(address_is_null, ret: address, provenance) %0) unnamed_addr #15 { %2 = icmp eq ptr %0, null br i1 %2, label %20, label %3 @@ -931,13 +931,13 @@ define ptr @cJSON_ParseWithLength(ptr noundef %0, i64 noundef %1) local_unnamed_ } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_Print(ptr noundef %0) local_unnamed_addr #8 { +define ptr @cJSON_Print(ptr noundef captures(address_is_null) %0) local_unnamed_addr #8 { %2 = tail call fastcc ptr @print(ptr noundef %0, i32 noundef 1) ret ptr %2 } ; Function Attrs: nounwind sspstrong uwtable -define internal fastcc ptr @print(ptr noundef %0, i32 noundef range(i32 0, 2) %1) unnamed_addr #8 { +define internal fastcc ptr @print(ptr noundef captures(address_is_null) %0, i32 noundef range(i32 0, 2) %1) unnamed_addr #8 { %3 = alloca [1 x %struct.printbuffer], align 16 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %3) #31 %4 = getelementptr inbounds nuw i8, ptr %3, i64 16 @@ -1027,13 +1027,13 @@ update_offset.exit: ; preds = %13, %16 } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_PrintUnformatted(ptr noundef %0) local_unnamed_addr #8 { +define ptr @cJSON_PrintUnformatted(ptr noundef captures(address_is_null) %0) local_unnamed_addr #8 { %2 = tail call fastcc ptr @print(ptr noundef %0, i32 noundef 0) ret ptr %2 } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_PrintBuffered(ptr noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #8 { +define ptr @cJSON_PrintBuffered(ptr noundef captures(address_is_null) %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #8 { %4 = alloca %struct.printbuffer, align 8 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %4) #31 %5 = getelementptr inbounds nuw i8, ptr %4, i64 24 @@ -1081,7 +1081,7 @@ define ptr @cJSON_PrintBuffered(ptr noundef %0, i32 noundef %1, i32 noundef %2) } ; Function Attrs: nounwind sspstrong uwtable -define internal fastcc range(i32 0, 2) i32 @print_value(ptr noundef readonly %0, ptr noundef nonnull %1) unnamed_addr #8 { +define internal fastcc range(i32 0, 2) i32 @print_value(ptr noundef readonly captures(address_is_null) %0, ptr noundef nonnull %1) unnamed_addr #8 { %3 = alloca [26 x i8], align 16 %4 = alloca double, align 8 %5 = icmp eq ptr %0, null @@ -1938,7 +1938,7 @@ print_array.exit: ; preds = %update_offset.exit8 } ; Function Attrs: nounwind sspstrong uwtable -define range(i32 0, 2) i32 @cJSON_PrintPreallocated(ptr noundef %0, ptr noundef %1, i32 noundef %2, i32 noundef %3) local_unnamed_addr #8 { +define range(i32 0, 2) i32 @cJSON_PrintPreallocated(ptr noundef captures(address_is_null) %0, ptr noundef %1, i32 noundef %2, i32 noundef %3) local_unnamed_addr #8 { %5 = alloca %struct.printbuffer, align 8 call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %5) #31 %6 = getelementptr inbounds nuw i8, ptr %5, i64 24 @@ -1971,7 +1971,7 @@ define range(i32 0, 2) i32 @cJSON_PrintPreallocated(ptr noundef %0, ptr noundef } ; Function Attrs: nofree norecurse nosync nounwind sspstrong memory(read, inaccessiblemem: none) uwtable -define i32 @cJSON_GetArraySize(ptr noundef readonly %0) local_unnamed_addr #16 { +define i32 @cJSON_GetArraySize(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #16 { %2 = icmp eq ptr %0, null br i1 %2, label %.loopexit, label %3 @@ -1993,7 +1993,7 @@ define i32 @cJSON_GetArraySize(ptr noundef readonly %0) local_unnamed_addr #16 { } ; Function Attrs: nofree norecurse nosync nounwind sspstrong memory(read, inaccessiblemem: none) uwtable -define ptr @cJSON_GetArrayItem(ptr noundef readonly %0, i32 noundef %1) local_unnamed_addr #16 { +define ptr @cJSON_GetArrayItem(ptr noundef readonly captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #16 { %3 = icmp slt i32 %1, 0 %4 = icmp eq ptr %0, null %or.cond = or i1 %4, %3 @@ -2020,7 +2020,7 @@ get_array_item.exit: ; preds = %8, %2 } ; Function Attrs: nofree nosync nounwind sspstrong memory(read, inaccessiblemem: none) uwtable -define ptr @cJSON_GetObjectItem(ptr noundef readonly %0, ptr noundef readonly %1) local_unnamed_addr #17 { +define ptr @cJSON_GetObjectItem(ptr noundef readonly captures(address_is_null) %0, ptr noundef readonly captures(address) %1) local_unnamed_addr #17 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond.i = or i1 %3, %4 @@ -2095,7 +2095,7 @@ get_object_item.exit: ; preds = %11, %case_insensiti } ; Function Attrs: nofree nounwind sspstrong memory(read, inaccessiblemem: none) uwtable -define internal fastcc ptr @get_object_item(ptr noundef readonly %0, ptr noundef readonly %1, i32 noundef %2) unnamed_addr #18 { +define internal fastcc ptr @get_object_item(ptr noundef readonly captures(address_is_null) %0, ptr noundef readonly captures(address) %1, i32 noundef %2) unnamed_addr #18 { %4 = icmp eq ptr %0, null %5 = icmp eq ptr %1, null %or.cond = or i1 %4, %5 @@ -2199,7 +2199,7 @@ case_insensitive_strcmp.exit.thread30: ; preds = %.lr.ph52, %case_ins } ; Function Attrs: nofree nounwind sspstrong memory(read, inaccessiblemem: none) uwtable -define ptr @cJSON_GetObjectItemCaseSensitive(ptr noundef readonly %0, ptr noundef readonly %1) local_unnamed_addr #18 { +define ptr @cJSON_GetObjectItemCaseSensitive(ptr noundef readonly captures(address_is_null) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #18 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond.i = or i1 %3, %4 @@ -2234,7 +2234,7 @@ get_object_item.exit: ; preds = %.lr.ph.i, %10, %12, } ; Function Attrs: nofree nosync nounwind sspstrong memory(read, inaccessiblemem: none) uwtable -define range(i32 0, 2) i32 @cJSON_HasObjectItem(ptr noundef readonly %0, ptr noundef readonly %1) local_unnamed_addr #17 { +define range(i32 0, 2) i32 @cJSON_HasObjectItem(ptr noundef readonly captures(address_is_null) %0, ptr noundef readonly captures(address) %1) local_unnamed_addr #17 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond.i.i = or i1 %3, %4 @@ -2309,7 +2309,7 @@ cJSON_GetObjectItem.exit: ; preds = %11, %case_insensiti } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(readwrite, inaccessiblemem: none) uwtable -define range(i32 0, 2) i32 @cJSON_AddItemToArray(ptr noundef %0, ptr noundef %1) local_unnamed_addr #19 { +define range(i32 0, 2) i32 @cJSON_AddItemToArray(ptr noundef captures(address) %0, ptr noundef %1) local_unnamed_addr #19 { %3 = icmp eq ptr %1, null %4 = icmp eq ptr %0, null %or.cond.i = or i1 %4, %3 @@ -2349,7 +2349,7 @@ add_item_to_array.exit: ; preds = %2, %10, %12, %15 } ; Function Attrs: nounwind sspstrong uwtable -define range(i32 0, 2) i32 @cJSON_AddItemToObject(ptr noundef %0, ptr noundef readonly %1, ptr noundef %2) local_unnamed_addr #8 { +define range(i32 0, 2) i32 @cJSON_AddItemToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef %2) local_unnamed_addr #8 { %4 = icmp eq ptr %0, null %5 = icmp eq ptr %1, null %or.cond.i = or i1 %4, %5 @@ -2422,7 +2422,7 @@ add_item_to_object.exit: ; preds = %3, %8, %29, %31, %3 } ; Function Attrs: nounwind sspstrong uwtable -define range(i32 0, 2) i32 @cJSON_AddItemToObjectCS(ptr noundef %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #8 { +define range(i32 0, 2) i32 @cJSON_AddItemToObjectCS(ptr noundef captures(address) %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #8 { %4 = icmp eq ptr %0, null %5 = icmp eq ptr %1, null %or.cond.i = or i1 %4, %5 @@ -2486,7 +2486,7 @@ add_item_to_object.exit: ; preds = %3, %23, %25, %28 } ; Function Attrs: nounwind sspstrong uwtable -define range(i32 0, 2) i32 @cJSON_AddItemReferenceToArray(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #8 { +define range(i32 0, 2) i32 @cJSON_AddItemReferenceToArray(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #8 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond = or i1 %3, %4 @@ -2540,7 +2540,7 @@ add_item_to_array.exit: ; preds = %5, %20, %17, %15, % } ; Function Attrs: nounwind sspstrong uwtable -define range(i32 0, 2) i32 @cJSON_AddItemReferenceToObject(ptr noundef %0, ptr noundef readonly %1, ptr noundef readonly %2) local_unnamed_addr #8 { +define range(i32 0, 2) i32 @cJSON_AddItemReferenceToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef readonly captures(address_is_null) %2) local_unnamed_addr #8 { %4 = icmp eq ptr %0, null %5 = icmp eq ptr %1, null %or.cond = or i1 %4, %5 @@ -2626,7 +2626,7 @@ add_item_to_object.exit: ; preds = %7, %37, %34, %32, % } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_AddNullToObject(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #8 { +define ptr @cJSON_AddNullToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #8 { %global_hooks.val.i = load ptr, ptr @global_hooks, align 8, !tbaa !18 %3 = tail call ptr %global_hooks.val.i(i64 noundef 64) #31 %.not.i.i = icmp eq ptr %3, null @@ -2726,7 +2726,7 @@ cJSON_New_Item.exit.thread: ; preds = %0, %2 } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_AddTrueToObject(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #8 { +define ptr @cJSON_AddTrueToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #8 { %global_hooks.val.i = load ptr, ptr @global_hooks, align 8, !tbaa !18 %3 = tail call ptr %global_hooks.val.i(i64 noundef 64) #31 %.not.i.i = icmp eq ptr %3, null @@ -2826,7 +2826,7 @@ cJSON_New_Item.exit.thread: ; preds = %0, %2 } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_AddFalseToObject(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #8 { +define ptr @cJSON_AddFalseToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #8 { %global_hooks.val.i = load ptr, ptr @global_hooks, align 8, !tbaa !18 %3 = tail call ptr %global_hooks.val.i(i64 noundef 64) #31 %.not.i.i = icmp eq ptr %3, null @@ -2926,7 +2926,7 @@ cJSON_New_Item.exit.thread: ; preds = %0, %2 } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_AddBoolToObject(ptr noundef %0, ptr noundef readonly %1, i32 noundef %2) local_unnamed_addr #8 { +define ptr @cJSON_AddBoolToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1, i32 noundef %2) local_unnamed_addr #8 { %global_hooks.val.i = load ptr, ptr @global_hooks, align 8, !tbaa !18 %4 = tail call ptr %global_hooks.val.i(i64 noundef 64) #31 %.not.i.i = icmp eq ptr %4, null @@ -3030,7 +3030,7 @@ cJSON_New_Item.exit.thread: ; preds = %1, %3 } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_AddNumberToObject(ptr noundef %0, ptr noundef readonly %1, double noundef %2) local_unnamed_addr #8 { +define ptr @cJSON_AddNumberToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1, double noundef %2) local_unnamed_addr #8 { %global_hooks.val.i = load ptr, ptr @global_hooks, align 8, !tbaa !18 %4 = tail call ptr %global_hooks.val.i(i64 noundef 64) #31 %.not.i.i = icmp eq ptr %4, null @@ -3164,7 +3164,7 @@ cJSON_New_Item.exit.thread: ; preds = %cJSON_New_Item.exit } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_AddStringToObject(ptr noundef %0, ptr noundef readonly %1, ptr noundef readonly %2) local_unnamed_addr #8 { +define ptr @cJSON_AddStringToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef readonly captures(address_is_null) %2) local_unnamed_addr #8 { %global_hooks.val.i = load ptr, ptr @global_hooks, align 8, !tbaa !18 %4 = tail call ptr %global_hooks.val.i(i64 noundef 64) #31 %.not.i.i = icmp eq ptr %4, null @@ -3275,7 +3275,7 @@ add_item_to_object.exit.thread: ; preds = %47, %44, %42, %add_ } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_CreateString(ptr noundef readonly %0) local_unnamed_addr #8 { +define ptr @cJSON_CreateString(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #8 { %global_hooks.val = load ptr, ptr @global_hooks, align 8, !tbaa !18 %2 = tail call ptr %global_hooks.val(i64 noundef 64) #31 %.not.i = icmp eq ptr %2, null @@ -3314,7 +3314,7 @@ cJSON_New_Item.exit.thread: ; preds = %1, %cJSON_strdup.ex } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_AddRawToObject(ptr noundef %0, ptr noundef readonly %1, ptr noundef readonly %2) local_unnamed_addr #8 { +define ptr @cJSON_AddRawToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef readonly captures(address_is_null) %2) local_unnamed_addr #8 { %global_hooks.val.i = load ptr, ptr @global_hooks, align 8, !tbaa !18 %4 = tail call ptr %global_hooks.val.i(i64 noundef 64) #31 %.not.i.i = icmp eq ptr %4, null @@ -3425,7 +3425,7 @@ add_item_to_object.exit.thread: ; preds = %47, %44, %42, %add_ } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_CreateRaw(ptr noundef readonly %0) local_unnamed_addr #8 { +define ptr @cJSON_CreateRaw(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #8 { %global_hooks.val = load ptr, ptr @global_hooks, align 8, !tbaa !18 %2 = tail call ptr %global_hooks.val(i64 noundef 64) #31 %.not.i = icmp eq ptr %2, null @@ -3464,7 +3464,7 @@ cJSON_New_Item.exit.thread: ; preds = %1, %cJSON_strdup.ex } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_AddObjectToObject(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #8 { +define ptr @cJSON_AddObjectToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #8 { %global_hooks.val.i = load ptr, ptr @global_hooks, align 8, !tbaa !18 %3 = tail call ptr %global_hooks.val.i(i64 noundef 64) #31 %.not.i.i = icmp eq ptr %3, null @@ -3564,7 +3564,7 @@ cJSON_New_Item.exit.thread: ; preds = %0, %2 } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_AddArrayToObject(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #8 { +define ptr @cJSON_AddArrayToObject(ptr noundef captures(address) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #8 { %global_hooks.val.i = load ptr, ptr @global_hooks, align 8, !tbaa !18 %3 = tail call ptr %global_hooks.val.i(i64 noundef 64) #31 %.not.i.i = icmp eq ptr %3, null @@ -3664,7 +3664,7 @@ cJSON_New_Item.exit.thread: ; preds = %0, %2 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(write, argmem: readwrite, inaccessiblemem: none) uwtable -define noundef ptr @cJSON_DetachItemViaPointer(ptr noundef %0, ptr noundef %1) local_unnamed_addr #20 { +define noundef ptr @cJSON_DetachItemViaPointer(ptr noundef captures(address_is_null) %0, ptr noundef captures(address, ret: address, provenance) %1) local_unnamed_addr #20 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond = or i1 %3, %4 @@ -3724,7 +3724,7 @@ define noundef ptr @cJSON_DetachItemViaPointer(ptr noundef %0, ptr noundef %1) l } ; Function Attrs: nofree norecurse nosync nounwind sspstrong memory(readwrite, inaccessiblemem: none) uwtable -define ptr @cJSON_DetachItemFromArray(ptr noundef %0, i32 noundef %1) local_unnamed_addr #21 { +define ptr @cJSON_DetachItemFromArray(ptr noundef captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #21 { %3 = icmp slt i32 %1, 0 %4 = icmp eq ptr %0, null %or.cond = or i1 %4, %3 @@ -3802,7 +3802,7 @@ cJSON_DetachItemViaPointer.exit: ; preds = %29, %16, %get_array } ; Function Attrs: nounwind sspstrong uwtable -define void @cJSON_DeleteItemFromArray(ptr noundef %0, i32 noundef %1) local_unnamed_addr #8 { +define void @cJSON_DeleteItemFromArray(ptr noundef captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #8 { %3 = icmp slt i32 %1, 0 %4 = icmp eq ptr %0, null %or.cond.i = or i1 %4, %3 @@ -3881,7 +3881,7 @@ cJSON_DetachItemFromArray.exit: ; preds = %2, %get_array_item. } ; Function Attrs: nofree nosync nounwind sspstrong memory(readwrite, inaccessiblemem: none) uwtable -define ptr @cJSON_DetachItemFromObject(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #22 { +define ptr @cJSON_DetachItemFromObject(ptr noundef captures(address_is_null) %0, ptr noundef readonly captures(address) %1) local_unnamed_addr #22 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond.i.i = or i1 %3, %4 @@ -4002,7 +4002,7 @@ cJSON_DetachItemViaPointer.exit: ; preds = %case_insensitive_st } ; Function Attrs: nofree nounwind sspstrong memory(readwrite, inaccessiblemem: none) uwtable -define ptr @cJSON_DetachItemFromObjectCaseSensitive(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #23 { +define ptr @cJSON_DetachItemFromObjectCaseSensitive(ptr noundef captures(address_is_null) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #23 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond.i.i = or i1 %3, %4 @@ -4083,7 +4083,7 @@ cJSON_DetachItemViaPointer.exit: ; preds = %12, %.lr.ph.i.i, %5 } ; Function Attrs: nounwind sspstrong uwtable -define void @cJSON_DeleteItemFromObject(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #8 { +define void @cJSON_DeleteItemFromObject(ptr noundef captures(address_is_null) %0, ptr noundef readonly captures(address) %1) local_unnamed_addr #8 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond.i.i.i = or i1 %3, %4 @@ -4205,7 +4205,7 @@ cJSON_DetachItemFromObject.exit: ; preds = %case_insensitive_st } ; Function Attrs: nounwind sspstrong uwtable -define void @cJSON_DeleteItemFromObjectCaseSensitive(ptr noundef %0, ptr noundef readonly %1) local_unnamed_addr #8 { +define void @cJSON_DeleteItemFromObjectCaseSensitive(ptr noundef captures(address_is_null) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #8 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond.i.i.i = or i1 %3, %4 @@ -4287,7 +4287,7 @@ cJSON_DetachItemFromObjectCaseSensitive.exit: ; preds = %.lr.ph.i.i.i, %12, } ; Function Attrs: nofree norecurse nosync nounwind sspstrong memory(readwrite, inaccessiblemem: none) uwtable -define range(i32 0, 2) i32 @cJSON_InsertItemInArray(ptr noundef %0, i32 noundef %1, ptr noundef %2) local_unnamed_addr #21 { +define range(i32 0, 2) i32 @cJSON_InsertItemInArray(ptr noundef captures(address) %0, i32 noundef %1, ptr noundef %2) local_unnamed_addr #21 { %4 = icmp slt i32 %1, 0 %5 = icmp eq ptr %2, null %or.cond = or i1 %4, %5 @@ -4379,7 +4379,7 @@ add_item_to_array.exit: ; preds = %26, %23, %21, %16, } ; Function Attrs: nounwind sspstrong uwtable -define range(i32 0, 2) i32 @cJSON_ReplaceItemViaPointer(ptr noundef %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #8 { +define range(i32 0, 2) i32 @cJSON_ReplaceItemViaPointer(ptr noundef captures(address_is_null) %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #8 { %4 = icmp eq ptr %0, null br i1 %4, label %37, label %5 @@ -4461,7 +4461,7 @@ define range(i32 0, 2) i32 @cJSON_ReplaceItemViaPointer(ptr noundef %0, ptr noun } ; Function Attrs: nounwind sspstrong uwtable -define range(i32 0, 2) i32 @cJSON_ReplaceItemInArray(ptr noundef %0, i32 noundef %1, ptr noundef %2) local_unnamed_addr #8 { +define range(i32 0, 2) i32 @cJSON_ReplaceItemInArray(ptr noundef captures(address_is_null) %0, i32 noundef %1, ptr noundef %2) local_unnamed_addr #8 { %4 = icmp slt i32 %1, 0 %5 = icmp eq ptr %0, null %or.cond = or i1 %5, %4 @@ -4559,13 +4559,13 @@ cJSON_ReplaceItemViaPointer.exit: ; preds = %43, %18, %get_array } ; Function Attrs: nounwind sspstrong uwtable -define range(i32 0, 2) i32 @cJSON_ReplaceItemInObject(ptr noundef %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #8 { +define range(i32 0, 2) i32 @cJSON_ReplaceItemInObject(ptr noundef captures(address_is_null) %0, ptr noundef captures(address) %1, ptr noundef %2) local_unnamed_addr #8 { %4 = tail call fastcc i32 @replace_item_in_object(ptr noundef %0, ptr noundef %1, ptr noundef %2, i32 noundef 0) ret i32 %4 } ; Function Attrs: nounwind sspstrong uwtable -define internal fastcc range(i32 0, 2) i32 @replace_item_in_object(ptr noundef %0, ptr noundef %1, ptr noundef %2, i32 noundef range(i32 0, 2) %3) unnamed_addr #8 { +define internal fastcc range(i32 0, 2) i32 @replace_item_in_object(ptr noundef captures(address_is_null) %0, ptr noundef captures(address) %1, ptr noundef %2, i32 noundef range(i32 0, 2) %3) unnamed_addr #8 { %5 = icmp eq ptr %2, null %6 = icmp eq ptr %1, null %or.cond = or i1 %6, %5 @@ -4689,7 +4689,7 @@ cJSON_ReplaceItemViaPointer.exit: ; preds = %59, %34, %29, %23, } ; Function Attrs: nounwind sspstrong uwtable -define range(i32 0, 2) i32 @cJSON_ReplaceItemInObjectCaseSensitive(ptr noundef %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #8 { +define range(i32 0, 2) i32 @cJSON_ReplaceItemInObjectCaseSensitive(ptr noundef captures(address_is_null) %0, ptr noundef captures(address) %1, ptr noundef %2) local_unnamed_addr #8 { %4 = tail call fastcc i32 @replace_item_in_object(ptr noundef %0, ptr noundef %1, ptr noundef %2, i32 noundef 1) ret i32 %4 } @@ -4752,7 +4752,7 @@ cJSON_New_Item.exit.thread: ; preds = %1, %3 } ; Function Attrs: nounwind sspstrong uwtable -define noundef ptr @cJSON_CreateIntArray(ptr noundef readonly %0, i32 noundef %1) local_unnamed_addr #8 { +define noundef ptr @cJSON_CreateIntArray(ptr noundef readonly captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #8 { %3 = icmp slt i32 %1, 0 %4 = icmp eq ptr %0, null %or.cond = or i1 %4, %3 @@ -4836,7 +4836,7 @@ cJSON_CreateArray.exit: ; preds = %5 } ; Function Attrs: nounwind sspstrong uwtable -define noundef ptr @cJSON_CreateFloatArray(ptr noundef readonly %0, i32 noundef %1) local_unnamed_addr #8 { +define noundef ptr @cJSON_CreateFloatArray(ptr noundef readonly captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #8 { %3 = icmp slt i32 %1, 0 %4 = icmp eq ptr %0, null %or.cond = or i1 %4, %3 @@ -4933,7 +4933,7 @@ cJSON_CreateArray.exit: ; preds = %5 } ; Function Attrs: nounwind sspstrong uwtable -define noundef ptr @cJSON_CreateDoubleArray(ptr noundef readonly %0, i32 noundef %1) local_unnamed_addr #8 { +define noundef ptr @cJSON_CreateDoubleArray(ptr noundef readonly captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #8 { %3 = icmp slt i32 %1, 0 %4 = icmp eq ptr %0, null %or.cond = or i1 %4, %3 @@ -5029,7 +5029,7 @@ cJSON_CreateArray.exit: ; preds = %5 } ; Function Attrs: nounwind sspstrong uwtable -define noundef ptr @cJSON_CreateStringArray(ptr noundef readonly %0, i32 noundef %1) local_unnamed_addr #8 { +define noundef ptr @cJSON_CreateStringArray(ptr noundef readonly captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #8 { %3 = icmp slt i32 %1, 0 %4 = icmp eq ptr %0, null %or.cond = or i1 %4, %3 @@ -5129,13 +5129,13 @@ cJSON_CreateArray.exit: ; preds = %5 } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSON_Duplicate(ptr noundef %0, i32 noundef %1) local_unnamed_addr #8 { +define ptr @cJSON_Duplicate(ptr noundef captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #8 { %3 = tail call ptr @cJSON_Duplicate_rec(ptr noundef %0, i64 noundef 0, i32 noundef %1) ret ptr %3 } ; Function Attrs: nounwind sspstrong uwtable -define hidden ptr @cJSON_Duplicate_rec(ptr noundef readonly %0, i64 noundef %1, i32 noundef %2) local_unnamed_addr #8 { +define hidden ptr @cJSON_Duplicate_rec(ptr noundef readonly captures(address_is_null) %0, i64 noundef %1, i32 noundef %2) local_unnamed_addr #8 { %.not = icmp eq ptr %0, null br i1 %.not, label %.thread, label %4 @@ -5279,7 +5279,7 @@ cJSON_strdup.exit67.thread: ; preds = %29, %38 } ; Function Attrs: nofree norecurse nosync nounwind sspstrong memory(argmem: readwrite) uwtable -define void @cJSON_Minify(ptr noundef %0) local_unnamed_addr #24 { +define void @cJSON_Minify(ptr noundef captures(address_is_null) %0) local_unnamed_addr #24 { %2 = icmp eq ptr %0, null br i1 %2, label %48, label %.preheader @@ -5420,7 +5420,7 @@ define void @cJSON_Minify(ptr noundef %0) local_unnamed_addr #24 { } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define range(i32 0, 2) i32 @cJSON_IsInvalid(ptr noundef readonly %0) local_unnamed_addr #1 { +define range(i32 0, 2) i32 @cJSON_IsInvalid(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -5438,7 +5438,7 @@ define range(i32 0, 2) i32 @cJSON_IsInvalid(ptr noundef readonly %0) local_unnam } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define range(i32 0, 2) i32 @cJSON_IsFalse(ptr noundef readonly %0) local_unnamed_addr #1 { +define range(i32 0, 2) i32 @cJSON_IsFalse(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -5456,7 +5456,7 @@ define range(i32 0, 2) i32 @cJSON_IsFalse(ptr noundef readonly %0) local_unnamed } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define range(i32 0, 2) i32 @cJSON_IsTrue(ptr noundef readonly %0) local_unnamed_addr #1 { +define range(i32 0, 2) i32 @cJSON_IsTrue(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -5474,7 +5474,7 @@ define range(i32 0, 2) i32 @cJSON_IsTrue(ptr noundef readonly %0) local_unnamed_ } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define range(i32 0, 2) i32 @cJSON_IsBool(ptr noundef readonly %0) local_unnamed_addr #1 { +define range(i32 0, 2) i32 @cJSON_IsBool(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -5492,7 +5492,7 @@ define range(i32 0, 2) i32 @cJSON_IsBool(ptr noundef readonly %0) local_unnamed_ } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define range(i32 0, 2) i32 @cJSON_IsNull(ptr noundef readonly %0) local_unnamed_addr #1 { +define range(i32 0, 2) i32 @cJSON_IsNull(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -5510,7 +5510,7 @@ define range(i32 0, 2) i32 @cJSON_IsNull(ptr noundef readonly %0) local_unnamed_ } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define range(i32 0, 2) i32 @cJSON_IsArray(ptr noundef readonly %0) local_unnamed_addr #1 { +define range(i32 0, 2) i32 @cJSON_IsArray(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -5528,7 +5528,7 @@ define range(i32 0, 2) i32 @cJSON_IsArray(ptr noundef readonly %0) local_unnamed } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define range(i32 0, 2) i32 @cJSON_IsObject(ptr noundef readonly %0) local_unnamed_addr #1 { +define range(i32 0, 2) i32 @cJSON_IsObject(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -5546,7 +5546,7 @@ define range(i32 0, 2) i32 @cJSON_IsObject(ptr noundef readonly %0) local_unname } ; Function Attrs: mustprogress nofree norecurse nosync nounwind sspstrong willreturn memory(argmem: read) uwtable -define range(i32 0, 2) i32 @cJSON_IsRaw(ptr noundef readonly %0) local_unnamed_addr #1 { +define range(i32 0, 2) i32 @cJSON_IsRaw(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #1 { %2 = icmp eq ptr %0, null br i1 %2, label %9, label %3 @@ -5564,7 +5564,7 @@ define range(i32 0, 2) i32 @cJSON_IsRaw(ptr noundef readonly %0) local_unnamed_a } ; Function Attrs: nofree nounwind sspstrong memory(read, inaccessiblemem: none) uwtable -define range(i32 0, 2) i32 @cJSON_Compare(ptr noundef readonly %0, ptr noundef readonly %1, i32 noundef %2) local_unnamed_addr #18 { +define range(i32 0, 2) i32 @cJSON_Compare(ptr noundef readonly captures(address) %0, ptr noundef readonly captures(address) %1, i32 noundef %2) local_unnamed_addr #18 { %4 = icmp eq ptr %0, null %5 = icmp eq ptr %1, null %or.cond = or i1 %4, %5 @@ -6051,7 +6051,7 @@ utf16_literal_to_utf8.exit.thread: ; preds = %85, %80, %82, %75, } ; Function Attrs: nounwind sspstrong uwtable -define internal fastcc noundef range(i32 0, 2) i32 @parse_object(ptr noundef nonnull writeonly captures(none) %0, ptr noundef nonnull %1) unnamed_addr #8 { +define internal fastcc noundef range(i32 0, 2) i32 @parse_object(ptr noundef nonnull writeonly captures(none) %0, ptr noundef nonnull captures(address_is_null) %1) unnamed_addr #8 { %3 = getelementptr inbounds nuw i8, ptr %1, i64 24 %4 = load i64, ptr %3, align 8, !tbaa !39 %5 = icmp ugt i64 %4, 999 diff --git a/bench/cjson/optimized/cJSON_Utils.ll b/bench/cjson/optimized/cJSON_Utils.ll index 21d21f41f1a..931a8fc03f1 100644 --- a/bench/cjson/optimized/cJSON_Utils.ll +++ b/bench/cjson/optimized/cJSON_Utils.ll @@ -23,7 +23,7 @@ target triple = "x86_64-pc-linux-gnu" @.str.15 = private unnamed_addr constant [4 x i8] c"%lu\00", align 1 ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSONUtils_FindPointerFromObjectTo(ptr noundef %0, ptr noundef %1) local_unnamed_addr #0 { +define ptr @cJSONUtils_FindPointerFromObjectTo(ptr noundef %0, ptr noundef captures(address) %1) local_unnamed_addr #0 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond = or i1 %3, %4 @@ -184,13 +184,13 @@ declare i32 @cJSON_IsObject(ptr noundef) local_unnamed_addr #2 declare ptr @strcat(ptr noalias noundef returned, ptr noalias noundef readonly captures(none)) local_unnamed_addr #5 ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSONUtils_GetPointer(ptr noundef %0, ptr noundef %1) local_unnamed_addr #0 { +define ptr @cJSONUtils_GetPointer(ptr noundef %0, ptr noundef captures(address_is_null) %1) local_unnamed_addr #0 { %3 = tail call fastcc ptr @get_item_from_pointer(ptr noundef %0, ptr noundef %1, i32 noundef 0) ret ptr %3 } ; Function Attrs: nounwind sspstrong uwtable -define internal fastcc ptr @get_item_from_pointer(ptr noundef %0, ptr noundef readonly %1, i32 noundef range(i32 0, 2) %2) unnamed_addr #0 { +define internal fastcc ptr @get_item_from_pointer(ptr noundef %0, ptr noundef readonly captures(address_is_null) %1, i32 noundef range(i32 0, 2) %2) unnamed_addr #0 { %4 = icmp eq ptr %1, null br i1 %4, label %get_array_item.exit.thread, label %.preheader @@ -429,7 +429,7 @@ get_array_item.exit.thread: ; preds = %36, %.critedge2, %. } ; Function Attrs: nounwind sspstrong uwtable -define ptr @cJSONUtils_GetPointerCaseSensitive(ptr noundef %0, ptr noundef %1) local_unnamed_addr #0 { +define ptr @cJSONUtils_GetPointerCaseSensitive(ptr noundef %0, ptr noundef captures(address_is_null) %1) local_unnamed_addr #0 { %3 = tail call fastcc ptr @get_item_from_pointer(ptr noundef %0, ptr noundef %1, i32 noundef 1) ret ptr %3 } @@ -903,7 +903,7 @@ define void @cJSONUtils_AddPatchToArray(ptr noundef %0, ptr noundef %1, ptr noun } ; Function Attrs: nounwind sspstrong uwtable -define internal fastcc void @compose_patch(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef readonly %3, ptr noundef %4) unnamed_addr #0 { +define internal fastcc void @compose_patch(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef readonly captures(address_is_null) %3, ptr noundef %4) unnamed_addr #0 { %6 = icmp eq ptr %0, null %7 = icmp eq ptr %1, null %or.cond = or i1 %6, %7 @@ -1013,7 +1013,7 @@ encode_string_as_pointer.exit: ; preds = %31 } ; Function Attrs: nounwind sspstrong uwtable -define noundef ptr @cJSONUtils_GeneratePatches(ptr noundef %0, ptr noundef %1) local_unnamed_addr #0 { +define noundef ptr @cJSONUtils_GeneratePatches(ptr noundef captures(address_is_null) %0, ptr noundef %1) local_unnamed_addr #0 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond = or i1 %3, %4 @@ -1032,7 +1032,7 @@ define noundef ptr @cJSONUtils_GeneratePatches(ptr noundef %0, ptr noundef %1) l declare ptr @cJSON_CreateArray() local_unnamed_addr #2 ; Function Attrs: nounwind sspstrong uwtable -define internal fastcc void @create_patches(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i32 noundef range(i32 0, 2) %4) unnamed_addr #0 { +define internal fastcc void @create_patches(ptr noundef %0, ptr noundef %1, ptr noundef captures(address_is_null) %2, ptr noundef %3, i32 noundef range(i32 0, 2) %4) unnamed_addr #0 { %6 = icmp eq ptr %2, null %7 = icmp eq ptr %3, null %or.cond = or i1 %6, %7 @@ -1361,7 +1361,7 @@ compare_strings.exit.thread.thread: ; preds = %.compare_strings.ex } ; Function Attrs: nounwind sspstrong uwtable -define noundef ptr @cJSONUtils_GeneratePatchesCaseSensitive(ptr noundef %0, ptr noundef %1) local_unnamed_addr #0 { +define noundef ptr @cJSONUtils_GeneratePatchesCaseSensitive(ptr noundef captures(address_is_null) %0, ptr noundef %1) local_unnamed_addr #0 { %3 = icmp eq ptr %0, null %4 = icmp eq ptr %1, null %or.cond = or i1 %3, %4 @@ -1378,7 +1378,7 @@ define noundef ptr @cJSONUtils_GeneratePatchesCaseSensitive(ptr noundef %0, ptr } ; Function Attrs: nofree nounwind sspstrong memory(readwrite, inaccessiblemem: none) uwtable -define void @cJSONUtils_SortObject(ptr noundef %0) local_unnamed_addr #6 { +define void @cJSONUtils_SortObject(ptr noundef captures(address_is_null) %0) local_unnamed_addr #6 { %2 = icmp eq ptr %0, null br i1 %2, label %sort_object.exit, label %3 @@ -1394,7 +1394,7 @@ sort_object.exit: ; preds = %1, %3 } ; Function Attrs: nofree nounwind sspstrong memory(readwrite, inaccessiblemem: none) uwtable -define void @cJSONUtils_SortObjectCaseSensitive(ptr noundef %0) local_unnamed_addr #6 { +define void @cJSONUtils_SortObjectCaseSensitive(ptr noundef captures(address_is_null) %0) local_unnamed_addr #6 { %2 = icmp eq ptr %0, null br i1 %2, label %sort_object.exit, label %3 @@ -1745,7 +1745,7 @@ define internal fastcc ptr @get_object_item(ptr noundef nonnull %0, ptr noundef declare i32 @cJSON_IsString(ptr noundef) local_unnamed_addr #2 ; Function Attrs: nofree nounwind sspstrong memory(readwrite, inaccessiblemem: none) uwtable -define internal fastcc range(i32 0, 2) i32 @compare_json(ptr noundef %0, ptr noundef %1, i32 noundef range(i32 0, 2) %2) unnamed_addr #6 { +define internal fastcc range(i32 0, 2) i32 @compare_json(ptr noundef captures(address_is_null) %0, ptr noundef captures(address_is_null) %1, i32 noundef range(i32 0, 2) %2) unnamed_addr #6 { %4 = icmp eq ptr %0, null %5 = icmp eq ptr %1, null %or.cond = or i1 %4, %5 @@ -1958,7 +1958,7 @@ compare_strings.exit.thread: ; preds = %103, %compare_strin } ; Function Attrs: nounwind sspstrong uwtable -define internal fastcc void @overwrite_item(ptr noundef %0, ptr noundef readonly byval(%struct.cJSON) align 8 captures(none) %1) unnamed_addr #0 { +define internal fastcc void @overwrite_item(ptr noundef captures(address_is_null) %0, ptr noundef readonly byval(%struct.cJSON) align 8 captures(none) %1) unnamed_addr #0 { %3 = icmp eq ptr %0, null br i1 %3, label %17, label %4 diff --git a/bench/coremark/optimized/core_list_join.ll b/bench/coremark/optimized/core_list_join.ll index ad9581505f9..34d3a389371 100644 --- a/bench/coremark/optimized/core_list_join.ll +++ b/bench/coremark/optimized/core_list_join.ll @@ -94,7 +94,7 @@ define dso_local range(i32 -127, 128) i32 @cmp_complex(ptr noundef captures(none } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define dso_local range(i32 -65535, 65536) i32 @cmp_idx(ptr noundef captures(none) %0, ptr noundef captures(none) %1, ptr noundef readnone %2) local_unnamed_addr #2 { +define dso_local range(i32 -65535, 65536) i32 @cmp_idx(ptr noundef captures(none) %0, ptr noundef captures(none) %1, ptr noundef readnone captures(address_is_null) %2) local_unnamed_addr #2 { %4 = icmp eq ptr %2, null br i1 %4, label %5, label %14 @@ -744,7 +744,7 @@ core_list_mergesort.exit131._crit_edge: ; preds = %core_list_mergesort } ; Function Attrs: nofree norecurse nosync nounwind memory(read, inaccessiblemem: none) uwtable -define dso_local ptr @core_list_find(ptr noundef readonly %0, ptr noundef readonly captures(none) %1) local_unnamed_addr #3 { +define dso_local ptr @core_list_find(ptr noundef readonly captures(address_is_null, ret: address, provenance) %0, ptr noundef readonly captures(none) %1) local_unnamed_addr #3 { %3 = getelementptr inbounds nuw i8, ptr %1, i64 2 %4 = load i16, ptr %3, align 2, !tbaa !25 %5 = icmp sgt i16 %4, -1 @@ -1222,7 +1222,7 @@ core_list_mergesort.exit: ; preds = %._crit_edge80.i } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(readwrite, inaccessiblemem: none) uwtable -define dso_local ptr @core_list_insert_new(ptr noundef captures(none) %0, ptr noundef readonly captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef readnone %4, ptr noundef readnone %5) local_unnamed_addr #5 { +define dso_local ptr @core_list_insert_new(ptr noundef captures(none) %0, ptr noundef readonly captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef readnone captures(address) %4, ptr noundef readnone captures(address) %5) local_unnamed_addr #5 { %7 = load ptr, ptr %2, align 8, !tbaa !44 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 %.not = icmp ult ptr %8, %4 diff --git a/bench/cpp-httplib/optimized/httplib.ll b/bench/cpp-httplib/optimized/httplib.ll index d1b093cf35f..468a27cfbfc 100644 --- a/bench/cpp-httplib/optimized/httplib.ll +++ b/bench/cpp-httplib/optimized/httplib.ll @@ -3651,7 +3651,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define { i64, i64 } @_ZN7httplib6detail4trimEPKcS2_mm(ptr noundef readonly %b, ptr noundef readnone %e, i64 noundef %left, i64 noundef %right) local_unnamed_addr #9 { +define { i64, i64 } @_ZN7httplib6detail4trimEPKcS2_mm(ptr noundef readonly captures(address) %b, ptr noundef readnone captures(address) %e, i64 noundef %left, i64 noundef %right) local_unnamed_addr #9 { entry: %add.ptr9 = getelementptr inbounds i8, ptr %b, i64 %left %cmp10 = icmp ult ptr %add.ptr9, %e @@ -7733,7 +7733,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef ptr @_ZN7httplib6detail16get_header_valueERKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS0_2ciESaISt4pairIKS7_S7_EEERSA_mPKc(ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 dereferenceable(32) %key, i64 noundef %id, ptr noundef readnone %def) local_unnamed_addr #5 { +define noundef ptr @_ZN7httplib6detail16get_header_valueERKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS0_2ciESaISt4pairIKS7_S7_EEERSA_mPKc(ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 dereferenceable(32) %key, i64 noundef %id, ptr noundef readnone captures(ret: address, provenance) %def) local_unnamed_addr #5 { entry: %call.i = tail call { ptr, ptr } @_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_EN7httplib6detail2ciESaIS8_EE11equal_rangeERS7_(ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 dereferenceable(32) %key) %0 = extractvalue { ptr, ptr } %call.i, 0 @@ -8554,7 +8554,7 @@ ehcleanup: ; preds = %lpad, %lpad.i, %lpa declare i32 @strcasecmp(ptr noundef captures(none), ptr noundef captures(none)) local_unnamed_addr #7 ; Function Attrs: mustprogress uwtable -define noundef i64 @_ZN7httplib6detail13write_headersERNS_6StreamERKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS0_2ciESaISt4pairIKS9_S9_EEE(ptr noundef nonnull align 8 dereferenceable(8) %strm, ptr noundef nonnull readonly align 8 dereferenceable(48) %headers) #5 { +define noundef i64 @_ZN7httplib6detail13write_headersERNS_6StreamERKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_NS0_2ciESaISt4pairIKS9_S9_EEE(ptr noundef nonnull align 8 dereferenceable(8) %strm, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(48) %headers) #5 { entry: %ref.tmp = alloca ptr, align 8 %ref.tmp6 = alloca ptr, align 8 @@ -8870,7 +8870,7 @@ return: ; preds = %while.body, %entry } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib6detail19params_to_query_strERKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_St4lessIS7_ESaISt4pairIKS7_S7_EEE(ptr noalias nonnull sret(%"class.std::__cxx11::basic_string") align 8 %agg.result, ptr noundef nonnull readonly align 8 dereferenceable(48) %params) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib6detail19params_to_query_strERKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_St4lessIS7_ESaISt4pairIKS7_S7_EEE(ptr noalias nonnull sret(%"class.std::__cxx11::basic_string") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(48) %params) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { entry: %ref.tmp14 = alloca %"class.std::__cxx11::basic_string", align 8 tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.result) #39 @@ -9370,7 +9370,7 @@ return: ; preds = %if.then.i.i.i.i, %c declare void @__cxa_end_catch() local_unnamed_addr ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib6detail8to_lowerB5cxx11EPKcS2_(ptr noalias nonnull sret(%"class.std::__cxx11::basic_string") align 8 %agg.result, ptr noundef readonly %beg, ptr noundef readnone %end) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib6detail8to_lowerB5cxx11EPKcS2_(ptr noalias nonnull sret(%"class.std::__cxx11::basic_string") align 8 %agg.result, ptr noundef readonly captures(address) %beg, ptr noundef readnone captures(address) %end) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { entry: tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.result) #39 %cmp.not3 = icmp eq ptr %beg, %end @@ -15776,7 +15776,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE declare i32 @__res_init() local_unnamed_addr #1 ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib19append_query_paramsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS5_S5_St4lessIS5_ESaISt4pairIS6_S5_EEE(ptr noalias nonnull sret(%"class.std::__cxx11::basic_string") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib19append_query_paramsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS5_S5_St4lessIS5_ESaISt4pairIS6_S5_EEE(ptr noalias nonnull sret(%"class.std::__cxx11::basic_string") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { entry: %__what.i.i = alloca %"class.std::__cxx11::match_results", align 8 %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 @@ -18352,7 +18352,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull align 8 dereferenceable(32) ptr @_ZNK7httplib6detail12BufferStream10get_bufferB5cxx11Ev(ptr noundef nonnull readnone align 8 dereferenceable(48) %this) local_unnamed_addr #8 align 2 { +define noundef nonnull align 8 dereferenceable(32) ptr @_ZNK7httplib6detail12BufferStream10get_bufferB5cxx11Ev(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(48) %this) local_unnamed_addr #8 align 2 { entry: %buffer = getelementptr inbounds nuw i8, ptr %this, i64 8 ret ptr %buffer @@ -21481,7 +21481,7 @@ entry: } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server24set_file_request_handlerESt8functionIFvRKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server24set_file_request_handlerESt8functionIFvRKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.sroa.0.i.i.i = alloca { i64, i64 }, align 8 %ref.tmp.i = alloca %"class.std::function.156", align 8 @@ -21536,7 +21536,7 @@ _ZNSt8functionIFvRKN7httplib7RequestERNS0_8ResponseEEEaSEOS7_.exit: ; preds = %_ } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server17set_error_handlerESt8functionIFNS0_15HandlerResponseERKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server17set_error_handlerESt8functionIFNS0_15HandlerResponseERKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.sroa.0.i.i.i = alloca { i64, i64 }, align 8 %ref.tmp.i = alloca %"class.std::function.169", align 8 @@ -21591,7 +21591,7 @@ _ZNSt8functionIFN7httplib6Server15HandlerResponseERKNS0_7RequestERNS0_8ResponseE } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server17set_error_handlerESt8functionIFvRKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 dereferenceable(816) %this, ptr noundef %handler) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server17set_error_handlerESt8functionIFvRKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(816) %this, ptr noundef %handler) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.sroa.0.i.i.i = alloca { i64, i64 }, align 8 %ref.tmp.i = alloca %"class.std::function.169", align 8 @@ -21736,7 +21736,7 @@ terminate.lpad.i.i.i12: ; preds = %if.then.i.i.i10 } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server21set_exception_handlerESt8functionIFvRKNS_7RequestERNS_8ResponseENSt15__exception_ptr13exception_ptrEEE(ptr noundef nonnull returned align 8 dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server21set_exception_handlerESt8functionIFvRKNS_7RequestERNS_8ResponseENSt15__exception_ptr13exception_ptrEEE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.sroa.0.i.i.i = alloca { i64, i64 }, align 8 %ref.tmp.i = alloca %"class.std::function.172", align 8 @@ -21791,7 +21791,7 @@ _ZNSt8functionIFvRKN7httplib7RequestERNS0_8ResponseENSt15__exception_ptr13except } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server23set_pre_routing_handlerESt8functionIFNS0_15HandlerResponseERKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server23set_pre_routing_handlerESt8functionIFNS0_15HandlerResponseERKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.sroa.0.i.i.i = alloca { i64, i64 }, align 8 %ref.tmp.i = alloca %"class.std::function.169", align 8 @@ -21846,7 +21846,7 @@ _ZNSt8functionIFN7httplib6Server15HandlerResponseERKNS0_7RequestERNS0_8ResponseE } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server24set_post_routing_handlerESt8functionIFvRKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server24set_post_routing_handlerESt8functionIFvRKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.sroa.0.i.i.i = alloca { i64, i64 }, align 8 %ref.tmp.i = alloca %"class.std::function.156", align 8 @@ -21901,7 +21901,7 @@ _ZNSt8functionIFvRKN7httplib7RequestERNS0_8ResponseEEEaSEOS7_.exit: ; preds = %_ } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server10set_loggerESt8functionIFvRKNS_7RequestERKNS_8ResponseEEE(ptr noundef nonnull returned align 8 dereferenceable(816) %this, ptr noundef captures(none) %logger) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server10set_loggerESt8functionIFvRKNS_7RequestERKNS_8ResponseEEE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(816) %this, ptr noundef captures(none) %logger) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.sroa.0.i.i.i = alloca { i64, i64 }, align 8 %ref.tmp.i = alloca %"class.std::function.177", align 8 @@ -21956,7 +21956,7 @@ _ZNSt8functionIFvRKN7httplib7RequestERKNS0_8ResponseEEEaSEOS8_.exit: ; preds = % } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server31set_expect_100_continue_handlerESt8functionIFiRKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server31set_expect_100_continue_handlerESt8functionIFiRKNS_7RequestERNS_8ResponseEEE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(816) %this, ptr noundef captures(none) %handler) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.sroa.0.i.i.i = alloca { i64, i64 }, align 8 %ref.tmp.i = alloca %"class.std::function.174", align 8 @@ -22011,7 +22011,7 @@ _ZNSt8functionIFiRKN7httplib7RequestERNS0_8ResponseEEEaSEOS7_.exit: ; preds = %_ } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server18set_address_familyEi(ptr noundef nonnull returned writeonly align 8 dereferenceable(816) initializes((696, 700)) %this, i32 noundef %family) local_unnamed_addr #3 align 2 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server18set_address_familyEi(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(816) initializes((696, 700)) %this, i32 noundef %family) local_unnamed_addr #3 align 2 { entry: %address_family_ = getelementptr inbounds nuw i8, ptr %this, i64 696 store i32 %family, ptr %address_family_, align 8 @@ -22019,7 +22019,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server15set_tcp_nodelayEb(ptr noundef nonnull returned writeonly align 8 dereferenceable(816) initializes((700, 701)) %this, i1 noundef zeroext %on) local_unnamed_addr #3 align 2 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server15set_tcp_nodelayEb(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(816) initializes((700, 701)) %this, i1 noundef zeroext %on) local_unnamed_addr #3 align 2 { entry: %frombool = zext i1 %on to i8 %tcp_nodelay_ = getelementptr inbounds nuw i8, ptr %this, i64 700 @@ -22028,7 +22028,7 @@ entry: } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server18set_socket_optionsESt8functionIFviEE(ptr noundef nonnull returned align 8 dereferenceable(816) %this, ptr noundef captures(none) %socket_options) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server18set_socket_optionsESt8functionIFviEE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(816) %this, ptr noundef captures(none) %socket_options) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.sroa.0.i.i.i = alloca { i64, i64 }, align 8 %ref.tmp.i = alloca %"class.std::function.17", align 8 @@ -22140,7 +22140,7 @@ _ZNSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_N7httplib6 } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server17set_header_writerERKSt8functionIFlRNS_6StreamERSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_NS_6detail2ciESaISt4pairIKSA_SA_EEEEE(ptr noundef nonnull returned align 8 dereferenceable(816) %this, ptr noundef nonnull align 8 dereferenceable(32) %writer) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server17set_header_writerERKSt8functionIFlRNS_6StreamERSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_NS_6detail2ciESaISt4pairIKSA_SA_EEEEE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(816) %this, ptr noundef nonnull align 8 dereferenceable(32) %writer) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.sroa.0.i.i.i = alloca { i64, i64 }, align 8 %ref.tmp.i = alloca %"class.std::function.180", align 8 @@ -22221,7 +22221,7 @@ _ZNSt8functionIFlRN7httplib6StreamERSt8multimapINSt7__cxx1112basic_stringIcSt11c } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server24set_keep_alive_max_countEm(ptr noundef nonnull returned writeonly align 8 dereferenceable(816) initializes((48, 56)) %this, i64 noundef %count) local_unnamed_addr #3 align 2 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server24set_keep_alive_max_countEm(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(816) initializes((48, 56)) %this, i64 noundef %count) local_unnamed_addr #3 align 2 { entry: %keep_alive_max_count_ = getelementptr inbounds nuw i8, ptr %this, i64 48 store i64 %count, ptr %keep_alive_max_count_, align 8 @@ -22229,7 +22229,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server22set_keep_alive_timeoutEl(ptr noundef nonnull returned writeonly align 8 dereferenceable(816) initializes((56, 64)) %this, i64 noundef %sec) local_unnamed_addr #3 align 2 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server22set_keep_alive_timeoutEl(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(816) initializes((56, 64)) %this, i64 noundef %sec) local_unnamed_addr #3 align 2 { entry: %keep_alive_timeout_sec_ = getelementptr inbounds nuw i8, ptr %this, i64 56 store i64 %sec, ptr %keep_alive_timeout_sec_, align 8 @@ -22237,7 +22237,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server16set_read_timeoutEll(ptr noundef nonnull returned writeonly align 8 dereferenceable(816) initializes((64, 80)) %this, i64 noundef %sec, i64 noundef %usec) local_unnamed_addr #3 align 2 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server16set_read_timeoutEll(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(816) initializes((64, 80)) %this, i64 noundef %sec, i64 noundef %usec) local_unnamed_addr #3 align 2 { entry: %read_timeout_sec_ = getelementptr inbounds nuw i8, ptr %this, i64 64 store i64 %sec, ptr %read_timeout_sec_, align 8 @@ -22247,7 +22247,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server17set_write_timeoutEll(ptr noundef nonnull returned writeonly align 8 dereferenceable(816) initializes((80, 96)) %this, i64 noundef %sec, i64 noundef %usec) local_unnamed_addr #3 align 2 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server17set_write_timeoutEll(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(816) initializes((80, 96)) %this, i64 noundef %sec, i64 noundef %usec) local_unnamed_addr #3 align 2 { entry: %write_timeout_sec_ = getelementptr inbounds nuw i8, ptr %this, i64 80 store i64 %sec, ptr %write_timeout_sec_, align 8 @@ -22257,7 +22257,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server17set_idle_intervalEll(ptr noundef nonnull returned writeonly align 8 dereferenceable(816) initializes((96, 112)) %this, i64 noundef %sec, i64 noundef %usec) local_unnamed_addr #3 align 2 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server17set_idle_intervalEll(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(816) initializes((96, 112)) %this, i64 noundef %sec, i64 noundef %usec) local_unnamed_addr #3 align 2 { entry: %idle_interval_sec_ = getelementptr inbounds nuw i8, ptr %this, i64 96 store i64 %sec, ptr %idle_interval_sec_, align 8 @@ -22267,7 +22267,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server22set_payload_max_lengthEm(ptr noundef nonnull returned writeonly align 8 dereferenceable(816) initializes((112, 120)) %this, i64 noundef %length) local_unnamed_addr #3 align 2 { +define noundef nonnull align 8 dereferenceable(816) ptr @_ZN7httplib6Server22set_payload_max_lengthEm(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(816) initializes((112, 120)) %this, i64 noundef %length) local_unnamed_addr #3 align 2 { entry: %payload_max_length_ = getelementptr inbounds nuw i8, ptr %this, i64 112 store i64 %length, ptr %payload_max_length_, align 8 @@ -43684,7 +43684,7 @@ _ZNSt8functionIFbRKN7httplib8ResponseEEED2Ev.exit42: ; preds = %_ZNSt8functionIF } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib10ClientImpl3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib10ClientImpl3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %agg.tmp.i = alloca %"class.std::function.55", align 8 %path_with_query = alloca %"class.std::__cxx11::basic_string", align 8 @@ -43836,7 +43836,7 @@ return: ; preds = %_ZNSt8functionIFbmm } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib10ClientImpl3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbPKcmEESN_IFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %content_receiver, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib10ClientImpl3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbPKcmEESN_IFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %content_receiver, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %agg.tmp = alloca %"class.std::function.50", align 8 %agg.tmp2 = alloca %"class.std::function.58", align 8 @@ -44033,7 +44033,7 @@ _ZNSt8functionIFbRKN7httplib8ResponseEEED2Ev.exit56: ; preds = %ehcleanup8, %if. } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib10ClientImpl3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbRKNS_8ResponseEEESN_IFbPKcmEESN_IFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %response_handler, ptr noundef %content_receiver, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib10ClientImpl3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbRKNS_8ResponseEEESN_IFbPKcmEESN_IFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %response_handler, ptr noundef %content_receiver, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %agg.tmp = alloca %"class.std::function.50", align 8 %agg.tmp2 = alloca %"class.std::function.58", align 8 @@ -45028,7 +45028,7 @@ ehcleanup: ; preds = %lpad, %lpad.i, %_ZN } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib10ClientImpl4PostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib10ClientImpl4PostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp = alloca %"class.std::multimap", align 8 %0 = getelementptr inbounds nuw i8, ptr %ref.tmp, i64 8 @@ -45066,7 +45066,7 @@ lpad: ; preds = %entry } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib10ClientImpl4PostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_NS_6detail2ciESaISt4pairIS7_S6_EEERKS9_IS6_S6_St4lessIS6_ESE_E(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib10ClientImpl4PostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_NS_6detail2ciESaISt4pairIS7_S6_EEERKS9_IS6_S6_St4lessIS6_ESE_E(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %query = alloca %"class.std::__cxx11::basic_string", align 8 %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 @@ -46752,7 +46752,7 @@ ehcleanup: ; preds = %lpad, %lpad.i, %_ZN } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib10ClientImpl3PutERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib10ClientImpl3PutERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp = alloca %"class.std::multimap", align 8 %0 = getelementptr inbounds nuw i8, ptr %ref.tmp, i64 8 @@ -46790,7 +46790,7 @@ lpad: ; preds = %entry } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib10ClientImpl3PutERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_NS_6detail2ciESaISt4pairIS7_S6_EEERKS9_IS6_S6_St4lessIS6_ESE_E(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib10ClientImpl3PutERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_NS_6detail2ciESaISt4pairIS7_S6_EEERKS9_IS6_S6_St4lessIS6_ESE_E(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %query = alloca %"class.std::__cxx11::basic_string", align 8 %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 @@ -53380,7 +53380,7 @@ _ZNSt8functionIFbRKN7httplib8ResponseEEED2Ev.exit41: ; preds = %_ZNSt8functionIF } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib6Client3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib6Client3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %agg.tmp = alloca %"class.std::function.55", align 8 %0 = load ptr, ptr %this, align 8 @@ -53469,7 +53469,7 @@ terminate.lpad.i.i11: ; preds = %if.then.i.i9 } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib6Client3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbPKcmEESN_IFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %content_receiver, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib6Client3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbPKcmEESN_IFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %content_receiver, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %agg.tmp = alloca %"class.std::function.58", align 8 %agg.tmp2 = alloca %"class.std::function.55", align 8 @@ -53631,7 +53631,7 @@ terminate.lpad.i.i39: ; preds = %if.then.i.i37 } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib6Client3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbRKNS_8ResponseEEESN_IFbPKcmEESN_IFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %response_handler, ptr noundef %content_receiver, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib6Client3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEERKS9_IS6_S6_NS_6detail2ciESE_ESt8functionIFbRKNS_8ResponseEEESN_IFbPKcmEESN_IFbmmEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef %response_handler, ptr noundef %content_receiver, ptr noundef %progress) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %agg.tmp = alloca %"class.std::function.50", align 8 %agg.tmp2 = alloca %"class.std::function.58", align 8 @@ -54319,7 +54319,7 @@ _ZNSt8functionIFbmRN7httplib8DataSinkEEED2Ev.exit7: ; preds = %lpad, %if.then.i. } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib6Client4PostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib6Client4PostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i = alloca %"class.std::multimap", align 8 %0 = load ptr, ptr %this, align 8 @@ -54360,7 +54360,7 @@ _ZN7httplib10ClientImpl4PostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIc } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib6Client4PostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_NS_6detail2ciESaISt4pairIS7_S6_EEERKS9_IS6_S6_St4lessIS6_ESE_E(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 dereferenceable(48) %params) local_unnamed_addr #5 align 2 { +define void @_ZN7httplib6Client4PostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_NS_6detail2ciESaISt4pairIS7_S6_EEERKS9_IS6_S6_St4lessIS6_ESE_E(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params) local_unnamed_addr #5 align 2 { entry: %0 = load ptr, ptr %this, align 8 tail call void @_ZN7httplib10ClientImpl4PostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_NS_6detail2ciESaISt4pairIS7_S6_EEERKS9_IS6_S6_St4lessIS6_ESE_E(ptr sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %0, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 dereferenceable(48) %params) @@ -54815,7 +54815,7 @@ _ZNSt8functionIFbmRN7httplib8DataSinkEEED2Ev.exit7: ; preds = %lpad, %if.then.i. } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib6Client3PutERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN7httplib6Client3PutERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_St4lessIS6_ESaISt4pairIS7_S6_EEE(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i = alloca %"class.std::multimap", align 8 %0 = load ptr, ptr %this, align 8 @@ -54856,7 +54856,7 @@ _ZN7httplib10ClientImpl3PutERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcE } ; Function Attrs: mustprogress uwtable -define void @_ZN7httplib6Client3PutERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_NS_6detail2ciESaISt4pairIS7_S6_EEERKS9_IS6_S6_St4lessIS6_ESE_E(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 dereferenceable(48) %params) local_unnamed_addr #5 align 2 { +define void @_ZN7httplib6Client3PutERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_NS_6detail2ciESaISt4pairIS7_S6_EEERKS9_IS6_S6_St4lessIS6_ESE_E(ptr noalias sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %this, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %params) local_unnamed_addr #5 align 2 { entry: %0 = load ptr, ptr %this, align 8 tail call void @_ZN7httplib10ClientImpl3PutERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8multimapIS6_S6_NS_6detail2ciESaISt4pairIS7_S6_EEERKS9_IS6_S6_St4lessIS6_ESE_E(ptr sret(%"class.httplib::Result") align 8 %agg.result, ptr noundef nonnull align 8 dereferenceable(1000) %0, ptr noundef nonnull align 8 dereferenceable(32) %path, ptr noundef nonnull align 8 dereferenceable(48) %headers, ptr noundef nonnull align 8 dereferenceable(48) %params) @@ -96207,7 +96207,7 @@ sw.epilog: ; preds = %entry, %sw.bb4.i, % } ; Function Attrs: mustprogress uwtable -define internal fastcc void @"_ZZN7httplib6detail21write_content_chunkedIZNS_6Server27write_content_with_providerERNS_6StreamERKNS_7RequestERNS_8ResponseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESH_E3$_0NS0_10compressorEEEbS4_RKSt8functionIFbmmRNS_8DataSinkEEERKT_RT0_RNS_5ErrorEENKUlPKSt8multimapISF_SF_NS0_2ciESaISt4pairISG_SF_EEEE_clES15_"(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %this, ptr noundef readonly %trailer) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc void @"_ZZN7httplib6detail21write_content_chunkedIZNS_6Server27write_content_with_providerERNS_6StreamERKNS_7RequestERNS_8ResponseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESH_E3$_0NS0_10compressorEEEbS4_RKSt8functionIFbmmRNS_8DataSinkEEERKT_RT0_RNS_5ErrorEENKUlPKSt8multimapISF_SF_NS0_2ciESaISt4pairISG_SF_EEEE_clES15_"(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %this, ptr noundef readonly captures(address) %trailer) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i = alloca %"class.std::__cxx11::basic_string", align 8 %payload = alloca %"class.std::__cxx11::basic_string", align 8 @@ -96711,7 +96711,7 @@ sw.epilog: ; preds = %entry, %sw.bb4.i, % } ; Function Attrs: mustprogress uwtable -define internal void @"_ZNSt17_Function_handlerIFvRKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_N7httplib6detail2ciESaISt4pairIKS6_S6_EEEEZNS8_21write_content_chunkedIZNS7_6Server27write_content_with_providerERNS7_6StreamERKNS7_7RequestERNS7_8ResponseERSB_SR_E3$_0NS8_10compressorEEEbSL_RKSt8functionIFbmmRNS7_8DataSinkEEERKT_RT0_RNS7_5ErrorEEUlSG_E_E9_M_invokeERKSt9_Any_dataSG_"(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %__functor, ptr noundef nonnull align 8 dereferenceable(48) %__args) #5 align 2 { +define internal void @"_ZNSt17_Function_handlerIFvRKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_N7httplib6detail2ciESaISt4pairIKS6_S6_EEEEZNS8_21write_content_chunkedIZNS7_6Server27write_content_with_providerERNS7_6StreamERKNS7_7RequestERNS7_8ResponseERSB_SR_E3$_0NS8_10compressorEEEbSL_RKSt8functionIFbmmRNS7_8DataSinkEEERKT_RT0_RNS7_5ErrorEEUlSG_E_E9_M_invokeERKSt9_Any_dataSG_"(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %__functor, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %__args) #5 align 2 { entry: %call.val = load ptr, ptr %__functor, align 8 tail call fastcc void @"_ZZN7httplib6detail21write_content_chunkedIZNS_6Server27write_content_with_providerERNS_6StreamERKNS_7RequestERNS_8ResponseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESH_E3$_0NS0_10compressorEEEbS4_RKSt8functionIFbmmRNS_8DataSinkEEERKT_RT0_RNS_5ErrorEENKUlPKSt8multimapISF_SF_NS0_2ciESaISt4pairISG_SF_EEEE_clES15_"(ptr noundef nonnull readonly align 8 dereferenceable(32) %call.val, ptr noundef nonnull align 8 dereferenceable(48) %__args) @@ -102190,7 +102190,7 @@ sw.epilog: ; preds = %entry, %sw.bb4.i, % } ; Function Attrs: mustprogress uwtable -define internal fastcc void @"_ZZN7httplib6detail21write_content_chunkedIZNKS_10ClientImpl27write_content_with_providerERNS_6StreamERKNS_7RequestERNS_5ErrorEE3$_0NS0_10compressorEEEbS4_RKSt8functionIFbmmRNS_8DataSinkEEERKT_RT0_S9_ENKUlPKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESU_NS0_2ciESaISt4pairIKSU_SU_EEEE_clES12_"(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %this, ptr noundef readonly %trailer) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc void @"_ZZN7httplib6detail21write_content_chunkedIZNKS_10ClientImpl27write_content_with_providerERNS_6StreamERKNS_7RequestERNS_5ErrorEE3$_0NS0_10compressorEEEbS4_RKSt8functionIFbmmRNS_8DataSinkEEERKT_RT0_S9_ENKUlPKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESU_NS0_2ciESaISt4pairIKSU_SU_EEEE_clES12_"(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %this, ptr noundef readonly captures(address) %trailer) unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i = alloca %"class.std::__cxx11::basic_string", align 8 %payload = alloca %"class.std::__cxx11::basic_string", align 8 @@ -102694,7 +102694,7 @@ sw.epilog: ; preds = %entry, %sw.bb4.i, % } ; Function Attrs: mustprogress uwtable -define internal void @"_ZNSt17_Function_handlerIFvRKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_N7httplib6detail2ciESaISt4pairIKS6_S6_EEEEZNS8_21write_content_chunkedIZNKS7_10ClientImpl27write_content_with_providerERNS7_6StreamERKNS7_7RequestERNS7_5ErrorEE3$_0NS8_10compressorEEEbSL_RKSt8functionIFbmmRNS7_8DataSinkEEERKT_RT0_SQ_EUlSG_E_E9_M_invokeERKSt9_Any_dataSG_"(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %__functor, ptr noundef nonnull align 8 dereferenceable(48) %__args) #5 align 2 { +define internal void @"_ZNSt17_Function_handlerIFvRKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_N7httplib6detail2ciESaISt4pairIKS6_S6_EEEEZNS8_21write_content_chunkedIZNKS7_10ClientImpl27write_content_with_providerERNS7_6StreamERKNS7_7RequestERNS7_5ErrorEE3$_0NS8_10compressorEEEbSL_RKSt8functionIFbmmRNS7_8DataSinkEEERKT_RT0_SQ_EUlSG_E_E9_M_invokeERKSt9_Any_dataSG_"(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %__functor, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %__args) #5 align 2 { entry: %call.val = load ptr, ptr %__functor, align 8 tail call fastcc void @"_ZZN7httplib6detail21write_content_chunkedIZNKS_10ClientImpl27write_content_with_providerERNS_6StreamERKNS_7RequestERNS_5ErrorEE3$_0NS0_10compressorEEEbS4_RKSt8functionIFbmmRNS_8DataSinkEEERKT_RT0_S9_ENKUlPKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESU_NS0_2ciESaISt4pairIKSU_SU_EEEE_clES12_"(ptr noundef nonnull readonly align 8 dereferenceable(32) %call.val, ptr noundef nonnull align 8 dereferenceable(48) %__args) diff --git a/bench/double_conversion/optimized/bignum.ll b/bench/double_conversion/optimized/bignum.ll index f6c0ff4a85c..e15cec567ac 100644 --- a/bench/double_conversion/optimized/bignum.ll +++ b/bench/double_conversion/optimized/bignum.ll @@ -8,7 +8,7 @@ target triple = "x86_64-unknown-linux-gnu" @_ZZN17double_conversion6Bignum20MultiplyByPowerOfTenEiE12kFive1_to_12 = internal unnamed_addr constant [12 x i32] [i32 5, i32 25, i32 125, i32 625, i32 3125, i32 15625, i32 78125, i32 390625, i32 1953125, i32 9765625, i32 48828125, i32 244140625], align 16 ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull align 4 dereferenceable(4) ptr @_ZN17double_conversion6Bignum8RawBigitEi(ptr noundef nonnull readnone align 4 dereferenceable(516) %this, i32 noundef %index) local_unnamed_addr #0 align 2 { +define noundef nonnull align 4 dereferenceable(4) ptr @_ZN17double_conversion6Bignum8RawBigitEi(ptr noundef nonnull readnone align 4 captures(ret: address, provenance) dereferenceable(516) %this, i32 noundef %index) local_unnamed_addr #0 align 2 { entry: %bigits_buffer_ = getelementptr inbounds nuw i8, ptr %this, i64 4 %idxprom = sext i32 %index to i64 @@ -17,7 +17,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull align 4 dereferenceable(4) ptr @_ZNK17double_conversion6Bignum8RawBigitEi(ptr noundef nonnull readnone align 4 dereferenceable(516) %this, i32 noundef %index) local_unnamed_addr #0 align 2 { +define noundef nonnull align 4 dereferenceable(4) ptr @_ZNK17double_conversion6Bignum8RawBigitEi(ptr noundef nonnull readnone align 4 captures(ret: address, provenance) dereferenceable(516) %this, i32 noundef %index) local_unnamed_addr #0 align 2 { entry: %bigits_buffer_ = getelementptr inbounds nuw i8, ptr %this, i64 4 %idxprom = sext i32 %index to i64 diff --git a/bench/double_conversion/optimized/string-to-double.ll b/bench/double_conversion/optimized/string-to-double.ll index 0a802b8efdb..829d6e6b76c 100644 --- a/bench/double_conversion/optimized/string-to-double.ll +++ b/bench/double_conversion/optimized/string-to-double.ll @@ -2510,7 +2510,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef zeroext i1 @_ZN17double_conversion12_GLOBAL__N_116ConsumeSubStringIPKcEEbPT_S4_S3_b(ptr noundef nonnull captures(none) %current, ptr noundef readnone %end, ptr noundef readonly captures(none) %substring, i1 noundef zeroext %allow_case_insensitivity) unnamed_addr #0 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef zeroext i1 @_ZN17double_conversion12_GLOBAL__N_116ConsumeSubStringIPKcEEbPT_S4_S3_b(ptr noundef nonnull captures(none) %current, ptr noundef readnone captures(address) %end, ptr noundef readonly captures(none) %substring, i1 noundef zeroext %allow_case_insensitivity) unnamed_addr #0 personality ptr @__gxx_personality_v0 { entry: br i1 %allow_case_insensitivity, label %for.cond.i, label %for.cond.i4.preheader @@ -2594,7 +2594,7 @@ return: ; preds = %lor.lhs.false.i11, } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc noundef zeroext i1 @_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_(ptr noundef nonnull captures(none) %it, i16 noundef zeroext %separator, i32 noundef range(i32 10, 17) %base, ptr readnone %end.0.val) unnamed_addr #1 { +define internal fastcc noundef zeroext i1 @_ZN17double_conversionL7AdvanceIPKcEEbPT_tiRS3_(ptr noundef nonnull captures(none) %it, i16 noundef zeroext %separator, i32 noundef range(i32 10, 17) %base, ptr readnone captures(address) %end.0.val) unnamed_addr #1 { entry: %conv = zext i16 %separator to i32 %cmp = icmp eq i16 %separator, 0 @@ -2698,7 +2698,7 @@ return: ; preds = %if.end10, %if.end6, } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc noundef zeroext i1 @_ZN17double_conversionL16IsHexFloatStringIPKcEEbT_S3_tb(ptr noundef %start, ptr noundef %end, i16 noundef zeroext %separator, i1 noundef zeroext %allow_trailing_junk) unnamed_addr #2 { +define internal fastcc noundef zeroext i1 @_ZN17double_conversionL16IsHexFloatStringIPKcEEbT_S3_tb(ptr noundef %start, ptr noundef captures(address) %end, i16 noundef zeroext %separator, i1 noundef zeroext %allow_trailing_junk) unnamed_addr #2 { entry: %current = alloca ptr, align 8 store ptr %start, ptr %current, align 8 @@ -3132,7 +3132,7 @@ return: ; preds = %if.end6.i, %if.end2 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc noundef double @_ZN17double_conversionL17RadixStringToIeeeILi4EPKcEEdPT0_S3_btbbdbPb(ptr noundef nonnull captures(none) %current, ptr noundef readnone %end, i1 noundef zeroext %sign, i16 noundef zeroext %separator, i1 noundef zeroext %parse_as_hex_float, i1 noundef zeroext %allow_trailing_junk, double noundef %junk_string_value, i1 noundef zeroext %read_as_double, ptr noundef nonnull writeonly captures(none) initializes((0, 1)) %result_is_junk) unnamed_addr #2 { +define internal fastcc noundef double @_ZN17double_conversionL17RadixStringToIeeeILi4EPKcEEdPT0_S3_btbbdbPb(ptr noundef nonnull captures(none) %current, ptr noundef readnone captures(address) %end, i1 noundef zeroext %sign, i16 noundef zeroext %separator, i1 noundef zeroext %parse_as_hex_float, i1 noundef zeroext %allow_trailing_junk, double noundef %junk_string_value, i1 noundef zeroext %read_as_double, ptr noundef nonnull writeonly captures(none) initializes((0, 1)) %result_is_junk) unnamed_addr #2 { entry: store i8 1, ptr %result_is_junk, align 1 %current.promoted = load ptr, ptr %current, align 8 @@ -3989,7 +3989,7 @@ return: ; preds = %for.cond.i.i, %for. } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc noundef double @_ZN17double_conversionL17RadixStringToIeeeILi3EPcEEdPT0_S2_btbbdbPb(ptr noundef nonnull captures(none) %current, ptr noundef nonnull readnone %end, i1 noundef zeroext %sign, i16 noundef zeroext %separator, i1 noundef zeroext %allow_trailing_junk, double noundef %junk_string_value, i1 noundef zeroext %read_as_double, ptr noundef nonnull writeonly captures(none) initializes((0, 1)) %result_is_junk) unnamed_addr #2 { +define internal fastcc noundef double @_ZN17double_conversionL17RadixStringToIeeeILi3EPcEEdPT0_S2_btbbdbPb(ptr noundef nonnull captures(none) %current, ptr noundef nonnull readnone captures(address) %end, i1 noundef zeroext %sign, i16 noundef zeroext %separator, i1 noundef zeroext %allow_trailing_junk, double noundef %junk_string_value, i1 noundef zeroext %read_as_double, ptr noundef nonnull writeonly captures(none) initializes((0, 1)) %result_is_junk) unnamed_addr #2 { entry: store i8 1, ptr %result_is_junk, align 1 %current.promoted = load ptr, ptr %current, align 8 @@ -4458,7 +4458,7 @@ declare void @__cxa_guard_release(ptr) local_unnamed_addr #4 declare i32 @llvm.abs.i32(i32, i1 immarg) #5 ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc noundef zeroext i1 @_ZN17double_conversionL17AdvanceToNonspaceIPKtEEbPT_S3_(ptr noundef nonnull captures(none) %current, ptr noundef readnone %end) unnamed_addr #2 { +define internal fastcc noundef zeroext i1 @_ZN17double_conversionL17AdvanceToNonspaceIPKtEEbPT_S3_(ptr noundef nonnull captures(none) %current, ptr noundef readnone captures(address) %end) unnamed_addr #2 { entry: %current.promoted = load ptr, ptr %current, align 8 %cmp.not10.not = icmp eq ptr %current.promoted, %end @@ -4508,7 +4508,7 @@ return: ; preds = %if.end, %for.cond5. } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef zeroext i1 @_ZN17double_conversion12_GLOBAL__N_116ConsumeSubStringIPKtEEbPT_S4_PKcb(ptr noundef nonnull captures(none) %current, ptr noundef readnone %end, ptr noundef readonly captures(none) %substring, i1 noundef zeroext %allow_case_insensitivity) unnamed_addr #0 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef zeroext i1 @_ZN17double_conversion12_GLOBAL__N_116ConsumeSubStringIPKtEEbPT_S4_PKcb(ptr noundef nonnull captures(none) %current, ptr noundef readnone captures(address) %end, ptr noundef readonly captures(none) %substring, i1 noundef zeroext %allow_case_insensitivity) unnamed_addr #0 personality ptr @__gxx_personality_v0 { entry: br i1 %allow_case_insensitivity, label %for.cond.i, label %for.cond.i4.preheader @@ -4594,7 +4594,7 @@ return: ; preds = %lor.lhs.false.i11, } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc noundef zeroext i1 @_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_(ptr noundef nonnull captures(none) %it, i16 noundef zeroext %separator, i32 noundef range(i32 10, 17) %base, ptr readnone %end.0.val) unnamed_addr #1 { +define internal fastcc noundef zeroext i1 @_ZN17double_conversionL7AdvanceIPKtEEbPT_tiRS3_(ptr noundef nonnull captures(none) %it, i16 noundef zeroext %separator, i32 noundef range(i32 10, 17) %base, ptr readnone captures(address) %end.0.val) unnamed_addr #1 { entry: %cmp = icmp eq i16 %separator, 0 %0 = load ptr, ptr %it, align 8 @@ -4696,7 +4696,7 @@ return: ; preds = %if.end10, %if.end6, } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc noundef zeroext i1 @_ZN17double_conversionL16IsHexFloatStringIPKtEEbT_S3_tb(ptr noundef %start, ptr noundef %end, i16 noundef zeroext %separator, i1 noundef zeroext %allow_trailing_junk) unnamed_addr #2 { +define internal fastcc noundef zeroext i1 @_ZN17double_conversionL16IsHexFloatStringIPKtEEbT_S3_tb(ptr noundef %start, ptr noundef captures(address) %end, i16 noundef zeroext %separator, i1 noundef zeroext %allow_trailing_junk) unnamed_addr #2 { entry: %current = alloca ptr, align 8 store ptr %start, ptr %current, align 8 @@ -5148,7 +5148,7 @@ return: ; preds = %if.end22.i, %if.the } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc noundef double @_ZN17double_conversionL17RadixStringToIeeeILi4EPKtEEdPT0_S3_btbbdbPb(ptr noundef nonnull captures(none) %current, ptr noundef readnone %end, i1 noundef zeroext %sign, i16 noundef zeroext %separator, i1 noundef zeroext %parse_as_hex_float, i1 noundef zeroext %allow_trailing_junk, double noundef %junk_string_value, i1 noundef zeroext %read_as_double, ptr noundef nonnull writeonly captures(none) initializes((0, 1)) %result_is_junk) unnamed_addr #2 { +define internal fastcc noundef double @_ZN17double_conversionL17RadixStringToIeeeILi4EPKtEEdPT0_S3_btbbdbPb(ptr noundef nonnull captures(none) %current, ptr noundef readnone captures(address) %end, i1 noundef zeroext %sign, i16 noundef zeroext %separator, i1 noundef zeroext %parse_as_hex_float, i1 noundef zeroext %allow_trailing_junk, double noundef %junk_string_value, i1 noundef zeroext %read_as_double, ptr noundef nonnull writeonly captures(none) initializes((0, 1)) %result_is_junk) unnamed_addr #2 { entry: store i8 1, ptr %result_is_junk, align 1 %current.promoted = load ptr, ptr %current, align 8 diff --git a/bench/git/optimized/blame.ll b/bench/git/optimized/blame.ll index c36a9da147e..7ec5be3c5dc 100644 --- a/bench/git/optimized/blame.ll +++ b/bench/git/optimized/blame.ll @@ -131,7 +131,7 @@ declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #1 declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #1 ; Function Attrs: nounwind uwtable -define dso_local void @blame_origin_decref(ptr noundef %0) local_unnamed_addr #2 { +define dso_local void @blame_origin_decref(ptr noundef captures(address) %0) local_unnamed_addr #2 { %.not = icmp eq ptr %0, null br i1 %.not, label %48, label %2 @@ -1280,7 +1280,6 @@ free_line_fingerprints.exit.i.i.i: ; preds = %free_line_fingerpri 328: ; preds = %.loopexit471.i %329 = load i32, ptr %45, align 4, !tbaa !138 - %.0..0..0. = load ptr, ptr %30, align 8, !tbaa !31 %.01722.i.i = load ptr, ptr %134, align 8, !tbaa !31 %.not23.i.i = icmp eq ptr %.01722.i.i, null br i1 %.not23.i.i, label %filter_small.exit.i, label %.lr.ph.i250.i @@ -1352,7 +1351,7 @@ blame_entry_score.exit.i.i: ; preds = %._crit_edge.i.i.i, filter_small.exit.i: ; preds = %blame_entry_score.exit.i.i, %328 %.019.lcssa.i.i = phi ptr [ %134, %328 ], [ %.01726..01924.i.i, %blame_entry_score.exit.i.i ] %.0.lcssa.i.i = phi ptr [ %30, %328 ], [ %.025..01726.i.i, %blame_entry_score.exit.i.i ] - store ptr %.0..0..0., ptr %.0.lcssa.i.i, align 8, !tbaa !31 + store ptr null, ptr %.0.lcssa.i.i, align 8, !tbaa !31 store ptr null, ptr %.019.lcssa.i.i, align 8, !tbaa !31 %359 = load ptr, ptr %134, align 8, !tbaa !31 %.not193.i = icmp eq ptr %359, null @@ -4157,7 +4156,7 @@ define dso_local void @init_scoreboard(ptr noundef writeonly captures(none) init declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immarg) #9 ; Function Attrs: nounwind uwtable -define dso_local void @setup_scoreboard(ptr noundef %0, ptr noundef writeonly %1) local_unnamed_addr #2 { +define dso_local void @setup_scoreboard(ptr noundef %0, ptr noundef writeonly captures(address_is_null) %1) local_unnamed_addr #2 { %3 = alloca i64, align 8 %4 = alloca i64, align 8 %5 = alloca %struct.object_id, align 4 @@ -5213,7 +5212,7 @@ define internal fastcc ptr @_(ptr noundef %0) unnamed_addr #10 { declare void @BUG_fl(ptr noundef, i32 noundef, ptr noundef, ...) local_unnamed_addr #4 ; Function Attrs: nounwind uwtable -define internal fastcc ptr @find_single_final(ptr noundef readonly captures(none) %0, ptr noundef writeonly %1) unnamed_addr #2 { +define internal fastcc ptr @find_single_final(ptr noundef readonly captures(none) %0, ptr noundef writeonly captures(address_is_null) %1) unnamed_addr #2 { %3 = getelementptr inbounds nuw i8, ptr %0, i64 8 %4 = load i32, ptr %3, align 8, !tbaa !208 %.not42 = icmp eq i32 %4, 0 @@ -5524,7 +5523,7 @@ declare ptr @get_bloom_filter_settings(ptr noundef) local_unnamed_addr #7 declare ptr @xmalloc(i64 noundef) local_unnamed_addr #7 ; Function Attrs: nounwind uwtable -define internal fastcc void @add_bloom_key(ptr noundef %0, ptr noundef %1) unnamed_addr #2 { +define internal fastcc void @add_bloom_key(ptr noundef captures(address_is_null) %0, ptr noundef %1) unnamed_addr #2 { %.not = icmp eq ptr %0, null br i1 %.not, label %27, label %3 @@ -5661,7 +5660,7 @@ declare noundef i32 @fprintf(ptr noundef captures(none), ptr noundef readonly ca declare i32 @repo_parse_commit_gently(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #7 ; Function Attrs: nounwind uwtable -define internal ptr @find_rename(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) unnamed_addr #2 { +define internal ptr @find_rename(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef captures(address_is_null) %3) unnamed_addr #2 { %5 = alloca %struct.diff_options, align 8 call void @llvm.lifetime.start.p0(i64 592, ptr nonnull %5) #21 call void @repo_diff_setup(ptr noundef %0, ptr noundef nonnull %5) #21 @@ -5760,7 +5759,7 @@ define internal ptr @find_rename(ptr noundef %0, ptr noundef %1, ptr noundef %2, } ; Function Attrs: nounwind uwtable -define internal ptr @find_origin(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef readonly %3) unnamed_addr #2 { +define internal ptr @find_origin(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef readonly captures(address_is_null) %3) unnamed_addr #2 { %5 = alloca %struct.diff_options, align 8 %6 = alloca [2 x ptr], align 16 call void @llvm.lifetime.start.p0(i64 592, ptr nonnull %5) #21 diff --git a/bench/graphviz/optimized/SparseMatrix.ll b/bench/graphviz/optimized/SparseMatrix.ll index 0d733e89aa0..a5fe4ad85be 100644 --- a/bench/graphviz/optimized/SparseMatrix.ll +++ b/bench/graphviz/optimized/SparseMatrix.ll @@ -18,7 +18,7 @@ target triple = "x86_64-pc-linux-gnu" @switch.table.SparseMatrix_multiply3 = private unnamed_addr constant [4 x i64] [i64 8, i64 16, i64 0, i64 4], align 8 ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_sort(ptr noundef %0) local_unnamed_addr #0 { +define noalias noundef ptr @SparseMatrix_sort(ptr noundef captures(address_is_null) %0) local_unnamed_addr #0 { %2 = tail call ptr @SparseMatrix_transpose(ptr noundef %0) %.not.i = icmp eq ptr %0, null br i1 %.not.i, label %SparseMatrix_delete.exit, label %3 @@ -59,7 +59,7 @@ SparseMatrix_delete.exit6: ; preds = %SparseMatrix_delete } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_transpose(ptr noundef readonly %0) local_unnamed_addr #0 { +define noalias noundef ptr @SparseMatrix_transpose(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #0 { %.not = icmp eq ptr %0, null br i1 %.not, label %SparseMatrix_delete.exit, label %2 @@ -429,13 +429,11 @@ SparseMatrix_new.exit: ; preds = %size_of_matrix_type br i1 %.not.i, label %SparseMatrix_delete.exit, label %181 181: ; preds = %180 - %182 = load ptr, ptr %23, align 8 - tail call void @free(ptr noundef %182) #16 - %183 = load ptr, ptr %25, align 8 + tail call void @free(ptr noundef %24) #16 + tail call void @free(ptr noundef %26) #16 + %183 = getelementptr inbounds nuw i8, ptr %21, i64 40 + %183 = load ptr, ptr %182, align 8 tail call void @free(ptr noundef %183) #16 - %184 = getelementptr inbounds nuw i8, ptr %18, i64 40 - %185 = load ptr, ptr %184, align 8 - tail call void @free(ptr noundef %185) #16 tail call void @free(ptr noundef nonnull %18) #16 br label %SparseMatrix_delete.exit @@ -444,13 +442,11 @@ SparseMatrix_new.exit: ; preds = %size_of_matrix_type br i1 %.not.i152, label %SparseMatrix_delete.exit, label %187 187: ; preds = %186 - %188 = load ptr, ptr %23, align 8 - tail call void @free(ptr noundef %188) #16 - %189 = load ptr, ptr %25, align 8 - tail call void @free(ptr noundef %189) #16 - %190 = getelementptr inbounds nuw i8, ptr %18, i64 40 - %191 = load ptr, ptr %190, align 8 - tail call void @free(ptr noundef %191) #16 + tail call void @free(ptr noundef %24) #16 + tail call void @free(ptr noundef %26) #16 + %189 = getelementptr inbounds nuw i8, ptr %21, i64 40 + %187 = load ptr, ptr %189, align 8 + tail call void @free(ptr noundef %187) #16 tail call void @free(ptr noundef nonnull %18) #16 br label %SparseMatrix_delete.exit @@ -481,7 +477,7 @@ SparseMatrix_delete.exit: ; preds = %187, %186, %181, %1 } ; Function Attrs: mustprogress nounwind willreturn uwtable -define void @SparseMatrix_delete(ptr noundef %0) local_unnamed_addr #1 { +define void @SparseMatrix_delete(ptr noundef captures(address_is_null) %0) local_unnamed_addr #1 { %.not = icmp eq ptr %0, null br i1 %.not, label %9, label %2 @@ -503,7 +499,7 @@ define void @SparseMatrix_delete(ptr noundef %0) local_unnamed_addr #1 { } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_make_undirected(ptr noundef %0) local_unnamed_addr #0 { +define noundef ptr @SparseMatrix_make_undirected(ptr noundef captures(address_is_null) %0) local_unnamed_addr #0 { %2 = tail call ptr @SparseMatrix_symmetrize(ptr noundef %0, i1 noundef zeroext false) %3 = getelementptr inbounds nuw i8, ptr %2, i64 52 %4 = load i32, ptr %3, align 4 @@ -514,7 +510,7 @@ define noundef ptr @SparseMatrix_make_undirected(ptr noundef %0) local_unnamed_a } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_symmetrize(ptr noundef %0, i1 noundef zeroext %1) local_unnamed_addr #0 { +define noalias noundef ptr @SparseMatrix_symmetrize(ptr noundef captures(address_is_null) %0, i1 noundef zeroext %1) local_unnamed_addr #0 { %3 = tail call zeroext i1 @SparseMatrix_is_symmetric(ptr noundef %0, i1 noundef zeroext %1) br i1 %3, label %4, label %6 @@ -551,7 +547,7 @@ SparseMatrix_delete.exit: ; preds = %6 } ; Function Attrs: nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define noundef ptr @SparseMatrix_remove_upper(ptr noundef %0) local_unnamed_addr #2 { +define noundef ptr @SparseMatrix_remove_upper(ptr noundef captures(address_is_null, ret: address, provenance) %0) local_unnamed_addr #2 { %.not = icmp eq ptr %0, null br i1 %.not, label %129, label %2 @@ -830,7 +826,7 @@ define noundef ptr @SparseMatrix_remove_upper(ptr noundef %0) local_unnamed_addr } ; Function Attrs: nofree nounwind uwtable -define noundef ptr @SparseMatrix_new(i32 noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) local_unnamed_addr #3 { +define noalias noundef ptr @SparseMatrix_new(i32 noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) local_unnamed_addr #3 { %switch.tableidx = add i32 %3, -1 %6 = icmp ult i32 %switch.tableidx, 4 br i1 %6, label %switch.lookup, label %size_of_matrix_type.exit @@ -856,7 +852,7 @@ size_of_matrix_type.exit: ; preds = %5, %switch.lookup } ; Function Attrs: nounwind uwtable -define noundef zeroext i1 @SparseMatrix_is_symmetric(ptr noundef %0, i1 noundef zeroext %1) local_unnamed_addr #0 { +define noundef zeroext i1 @SparseMatrix_is_symmetric(ptr noundef captures(address_is_null) %0, i1 noundef zeroext %1) local_unnamed_addr #0 { %.not = icmp eq ptr %0, null br i1 %.not, label %221, label %3 @@ -1361,13 +1357,11 @@ gv_calloc.exit: ; preds = %15 SparseMatrix_delete.exit: ; preds = %.lr.ph256, %.lr.ph266, %.lr.ph269, %.lr.ph276, %.lr.ph284, %141, %.lr.ph287, %.lr.ph293, %.lr.ph301, %.lr.ph304, %.loopexit217, %._crit_edge %.0190 = phi i1 [ false, %._crit_edge ], [ true, %.loopexit217 ], [ false, %.lr.ph304 ], [ false, %.lr.ph301 ], [ false, %.lr.ph293 ], [ false, %.lr.ph287 ], [ false, %141 ], [ false, %.lr.ph284 ], [ false, %.lr.ph276 ], [ false, %.lr.ph269 ], [ false, %.lr.ph266 ], [ false, %.lr.ph256 ] tail call void @free(ptr noundef %40) #16 - %217 = load ptr, ptr %20, align 8 - tail call void @free(ptr noundef %217) #16 - %218 = load ptr, ptr %22, align 8 + tail call void @free(ptr noundef %21) #16 + tail call void @free(ptr noundef %23) #16 + %218 = getelementptr inbounds nuw i8, ptr %14, i64 40 + %218 = load ptr, ptr %217, align 8 tail call void @free(ptr noundef %218) #16 - %219 = getelementptr inbounds nuw i8, ptr %14, i64 40 - %220 = load ptr, ptr %219, align 8 - tail call void @free(ptr noundef %220) #16 tail call void @free(ptr noundef nonnull %14) #16 br label %221 @@ -1377,7 +1371,7 @@ SparseMatrix_delete.exit: ; preds = %.lr.ph256, %.lr.ph2 } ; Function Attrs: nofree nounwind uwtable -define noundef ptr @SparseMatrix_copy(ptr noundef readonly %0) local_unnamed_addr #3 { +define noalias noundef ptr @SparseMatrix_copy(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #3 { %.not = icmp eq ptr %0, null br i1 %.not, label %54, label %2 @@ -1461,7 +1455,7 @@ SparseMatrix_general_new.exit: ; preds = %2, %16 } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_add(ptr noundef readonly captures(none) %0, ptr noundef readonly captures(none) %1) local_unnamed_addr #0 { +define noalias noundef ptr @SparseMatrix_add(ptr noundef readonly captures(none) %0, ptr noundef readonly captures(none) %1) local_unnamed_addr #0 { %3 = getelementptr inbounds nuw i8, ptr %0, i64 24 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -2143,7 +2137,7 @@ gv_calloc.exit: ; preds = %.thread, %22 } ; Function Attrs: nofree nounwind uwtable -define internal fastcc noundef ptr @SparseMatrix_alloc(ptr noundef returned initializes((40, 48)) %0, i32 noundef range(i32 1, -2147483648) %1) unnamed_addr #3 { +define internal fastcc noundef ptr @SparseMatrix_alloc(ptr noundef returned captures(ret: address, provenance) initializes((40, 48)) %0, i32 noundef range(i32 1, -2147483648) %1) unnamed_addr #3 { %3 = getelementptr inbounds nuw i8, ptr %0, i64 48 %4 = load i32, ptr %3, align 8 %5 = zext nneg i32 %1 to i64 @@ -2260,7 +2254,7 @@ gv_calloc.exit30: ; preds = %37 } ; Function Attrs: nofree nounwind uwtable -define noundef ptr @SparseMatrix_general_new(i32 noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i64 noundef %4, i32 noundef %5) local_unnamed_addr #3 { +define noalias noundef ptr @SparseMatrix_general_new(i32 noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i64 noundef %4, i32 noundef %5) local_unnamed_addr #3 { %7 = tail call fastcc ptr @SparseMatrix_init(i32 noundef %0, i32 noundef %1, i32 noundef %3, i64 noundef %4, i32 noundef %5) %8 = icmp sgt i32 %2, 0 br i1 %8, label %9, label %11 @@ -3322,7 +3316,7 @@ define void @SparseMatrix_multiply_dense(ptr noundef readonly captures(none) %0, declare double @llvm.fmuladd.f64(double, double, double) #4 ; Function Attrs: nofree nounwind uwtable -define void @SparseMatrix_multiply_vector(ptr noundef readonly captures(none) %0, ptr noundef readonly %1, ptr noundef captures(none) %2) local_unnamed_addr #3 { +define void @SparseMatrix_multiply_vector(ptr noundef readonly captures(none) %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef captures(none) %2) local_unnamed_addr #3 { %4 = getelementptr inbounds nuw i8, ptr %0, i64 24 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -4323,7 +4317,7 @@ SparseMatrix_new.exit: ; preds = %size_of_matrix_type declare noalias noundef ptr @calloc(i64 noundef, i64 noundef) local_unnamed_addr #7 ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_multiply3(ptr noundef readonly captures(none) %0, ptr noundef readonly captures(none) %1, ptr noundef readonly captures(none) %2) local_unnamed_addr #0 { +define noalias noundef ptr @SparseMatrix_multiply3(ptr noundef readonly captures(none) %0, ptr noundef readonly captures(none) %1, ptr noundef readonly captures(none) %2) local_unnamed_addr #0 { %4 = getelementptr inbounds nuw i8, ptr %0, i64 24 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -4680,7 +4674,7 @@ SparseMatrix_new.exit: ; preds = %size_of_matrix_type } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_sum_repeat_entries(ptr noundef %0) local_unnamed_addr #0 { +define noundef ptr @SparseMatrix_sum_repeat_entries(ptr noundef captures(ret: address, provenance) %0) local_unnamed_addr #0 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 24 %3 = load ptr, ptr %2, align 8 %4 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -5079,7 +5073,7 @@ gv_calloc.exit: ; preds = %1 } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_coordinate_form_add_entry(ptr noundef returned %0, i32 noundef %1, i32 noundef %2, ptr noundef readonly captures(none) %3) local_unnamed_addr #0 { +define noundef ptr @SparseMatrix_coordinate_form_add_entry(ptr noundef returned captures(ret: address, provenance) %0, i32 noundef %1, i32 noundef %2, ptr noundef readonly captures(none) %3) local_unnamed_addr #0 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 %6 = load i32, ptr %5, align 8 %7 = add nsw i32 %6, 1 @@ -5280,7 +5274,7 @@ SparseMatrix_realloc.exit: ; preds = %16, %30, %gv_calloc declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #8 ; Function Attrs: nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define noundef ptr @SparseMatrix_remove_diagonal(ptr noundef %0) local_unnamed_addr #2 { +define noundef ptr @SparseMatrix_remove_diagonal(ptr noundef captures(address_is_null, ret: address, provenance) %0) local_unnamed_addr #2 { %.not = icmp eq ptr %0, null br i1 %.not, label %122, label %2 @@ -5555,7 +5549,7 @@ define noundef ptr @SparseMatrix_remove_diagonal(ptr noundef %0) local_unnamed_a } ; Function Attrs: nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define noundef ptr @SparseMatrix_divide_row_by_degree(ptr noundef readonly %0) local_unnamed_addr #2 { +define noundef ptr @SparseMatrix_divide_row_by_degree(ptr noundef readonly captures(address_is_null, ret: address, provenance) %0) local_unnamed_addr #2 { %.not = icmp eq ptr %0, null br i1 %.not, label %66, label %2 @@ -5700,7 +5694,7 @@ define noundef ptr @SparseMatrix_divide_row_by_degree(ptr noundef readonly %0) l } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_get_real_adjacency_matrix_symmetrized(ptr noundef readonly %0) local_unnamed_addr #0 { +define noundef ptr @SparseMatrix_get_real_adjacency_matrix_symmetrized(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #0 { %.not = icmp eq ptr %0, null br i1 %.not, label %55, label %2 @@ -5811,7 +5805,7 @@ gv_calloc.exit: ; preds = %SparseMatrix_delete } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_apply_fun(ptr noundef readonly returned %0, ptr noundef readonly captures(none) %1) local_unnamed_addr #0 { +define noundef ptr @SparseMatrix_apply_fun(ptr noundef readonly returned captures(address_is_null, ret: address, provenance) %0, ptr noundef readonly captures(none) %1) local_unnamed_addr #0 { %.not = icmp eq ptr %0, null br i1 %.not, label %.loopexit25, label %3 @@ -5936,7 +5930,7 @@ define noundef zeroext i1 @SparseMatrix_has_diagonal(ptr noundef readonly captur } ; Function Attrs: nounwind uwtable -define noalias noundef ptr @SparseMatrix_weakly_connected_components(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef writeonly captures(none) %2) local_unnamed_addr #0 { +define noalias noundef ptr @SparseMatrix_weakly_connected_components(ptr noundef captures(address) %0, ptr noundef captures(none) %1, ptr noundef writeonly captures(none) %2) local_unnamed_addr #0 { %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 %6 = alloca ptr, align 8 @@ -6846,7 +6840,7 @@ gv_calloc.exit91: ; preds = %37 } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_to_square_matrix(ptr noundef %0, i32 noundef %1) local_unnamed_addr #0 { +define noundef ptr @SparseMatrix_to_square_matrix(ptr noundef captures(address_is_null, ret: address, provenance) %0, i32 noundef %1) local_unnamed_addr #0 { switch i32 %1, label %23 [ i32 0, label %3 i32 1, label %8 @@ -6911,7 +6905,7 @@ SparseMatrix_delete.exit: ; preds = %25, %23, %20, %13, } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_get_submatrix(ptr noundef readonly captures(none) %0, i32 noundef %1, i32 noundef %2, ptr noundef readonly %3, ptr noundef readonly %4) local_unnamed_addr #0 { +define noundef ptr @SparseMatrix_get_submatrix(ptr noundef readonly captures(none) %0, i32 noundef %1, i32 noundef %2, ptr noundef readonly captures(address_is_null) %3, ptr noundef readonly captures(address_is_null) %4) local_unnamed_addr #0 { %6 = getelementptr inbounds nuw i8, ptr %0, i64 24 %7 = load ptr, ptr %6, align 8 %8 = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -7682,7 +7676,7 @@ gv_calloc.exit304: ; preds = %.thread328, %299 } ; Function Attrs: nounwind uwtable -define noundef ptr @SparseMatrix_set_entries_to_real_one(ptr noundef returned %0) local_unnamed_addr #0 { +define noundef ptr @SparseMatrix_set_entries_to_real_one(ptr noundef returned captures(ret: address, provenance) %0) local_unnamed_addr #0 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 40 %3 = load ptr, ptr %2, align 8 tail call void @free(ptr noundef %3) #16 @@ -7741,7 +7735,7 @@ gv_calloc.exit: ; preds = %1 } ; Function Attrs: nofree nounwind uwtable -define noundef ptr @SparseMatrix_from_dense(i32 noundef %0, i32 noundef %1, ptr noundef readonly captures(none) %2) local_unnamed_addr #3 { +define noalias noundef ptr @SparseMatrix_from_dense(i32 noundef %0, i32 noundef %1, ptr noundef readonly captures(none) %2) local_unnamed_addr #3 { %4 = mul nsw i32 %1, %0 %5 = tail call fastcc ptr @SparseMatrix_init(i32 noundef %0, i32 noundef %1, i32 noundef 1, i64 noundef 8, i32 noundef 0) %6 = icmp sgt i32 %4, 0 @@ -7761,16 +7755,15 @@ SparseMatrix_new.exit: ; preds = %3, %7 .lr.ph.preheader: ; preds = %SparseMatrix_new.exit %11 = add nuw i32 %0, 1 %wide.trip.count = zext i32 %11 to i64 + %load_initial = load i32, ptr %10, align 4 br label %.lr.ph .lr.ph: ; preds = %.lr.ph.preheader, %.lr.ph + %store_forwarded = phi i32 [ %load_initial, %.lr.ph.preheader ], [ %13, %.lr.ph ] %indvars.iv = phi i64 [ 1, %.lr.ph.preheader ], [ %indvars.iv.next, %.lr.ph ] - %12 = load ptr, ptr %9, align 8 - %13 = getelementptr i32, ptr %12, i64 %indvars.iv - %14 = getelementptr i8, ptr %13, i64 -4 - %15 = load i32, ptr %14, align 4 - %16 = add nsw i32 %15, %1 - store i32 %16, ptr %13, align 4 + %12 = getelementptr i32, ptr %10, i64 %indvars.iv + %13 = add nsw i32 %store_forwarded, %1 + store i32 %13, ptr %12, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %.preheader.lr.ph, label %.lr.ph @@ -7824,7 +7817,7 @@ SparseMatrix_new.exit: ; preds = %3, %7 } ; Function Attrs: nounwind uwtable -define void @SparseMatrix_distance_matrix(ptr noundef %0, ptr noundef captures(none) %1) local_unnamed_addr #0 { +define void @SparseMatrix_distance_matrix(ptr noundef captures(address) %0, ptr noundef captures(none) %1) local_unnamed_addr #0 { %3 = alloca ptr, align 8 %4 = alloca ptr, align 8 %5 = alloca ptr, align 8 diff --git a/bench/hermes/optimized/MicrosoftDemangle.ll b/bench/hermes/optimized/MicrosoftDemangle.ll index 6c406d68e11..dab691814af 100644 --- a/bench/hermes/optimized/MicrosoftDemangle.ll +++ b/bench/hermes/optimized/MicrosoftDemangle.ll @@ -262,7 +262,7 @@ return: ; preds = %if.end5, %if.then2, } ; Function Attrs: mustprogress nounwind uwtable -define hidden noundef ptr @_ZN4llvh17microsoftDemangleEPKcPcPmPiNS_15MSDemangleFlagsE(ptr noundef %MangledName, ptr noundef %Buf, ptr noundef %N, ptr noundef writeonly %Status, i32 noundef %Flags) local_unnamed_addr #2 { +define hidden noundef ptr @_ZN4llvh17microsoftDemangleEPKcPcPmPiNS_15MSDemangleFlagsE(ptr noundef %MangledName, ptr noundef %Buf, ptr noundef captures(address_is_null) %N, ptr noundef writeonly captures(address_is_null) %Status, i32 noundef %Flags) local_unnamed_addr #2 { entry: %OS.i = alloca %class.OutputStream, align 8 %D = alloca %"class.(anonymous namespace)::Demangler", align 8 @@ -9942,10 +9942,8 @@ if.end42: ; preds = %_ZNK10StringView10s _ZNK10StringView10startsWithEc.exit.i74: ; preds = %if.end42 %41 = load i8, ptr %39, align 1 - switch i8 %41, label %if.end50 [ - i8 64, label %_ZN10StringView12consumeFrontEc.exit78 - i8 90, label %_ZN10StringView12consumeFrontEc.exit85 - ] + %cmp.i.i75 = icmp eq i8 %41, 64 + br i1 %cmp.i.i75, label %_ZN10StringView12consumeFrontEc.exit78, label %_ZN10StringView12consumeFrontEc.exit85 _ZN10StringView12consumeFrontEc.exit78: ; preds = %_ZNK10StringView10startsWithEc.exit.i74 %add.ptr.i.i77 = getelementptr inbounds nuw i8, ptr %39, i64 1 @@ -9953,11 +9951,16 @@ _ZN10StringView12consumeFrontEc.exit78: ; preds = %_ZNK10StringView10s br label %return _ZN10StringView12consumeFrontEc.exit85: ; preds = %_ZNK10StringView10startsWithEc.exit.i74 + %42 = load i8, ptr %39, align 1 + %cmp.i.i82 = icmp eq i8 %42, 90 + br i1 %cmp.i.i82, label %_ZN10StringView12consumeFrontEc.exit85, label %if.end50 + +_ZN10StringView12consumeFrontEc.exit85: ; preds = %_ZNK10StringView10startsWithEc.exit.i81 %add.ptr.i.i84 = getelementptr inbounds nuw i8, ptr %39, i64 1 store ptr %add.ptr.i.i84, ptr %MangledName, align 8 br label %return -if.end50: ; preds = %_ZNK10StringView10startsWithEc.exit.i74, %if.end42 +if.end50: ; preds = %if.end42, %_ZNK10StringView10startsWithEc.exit.i81 store i8 1, ptr %Error, align 8 br label %return diff --git a/bench/imgui/optimized/imgui.ll b/bench/imgui/optimized/imgui.ll index 9cf386f3ded..4aa99b0c03e 100644 --- a/bench/imgui/optimized/imgui.ll +++ b/bench/imgui/optimized/imgui.ll @@ -1652,7 +1652,7 @@ return: ; preds = %_ZN8ImVectorI15ImGu } ; Function Attrs: mustprogress uwtable -define void @_ZN7ImGuiIO22AddInputCharactersUTF8EPKc(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(14568) %this, ptr noundef %utf8_chars) local_unnamed_addr #0 align 2 { +define void @_ZN7ImGuiIO22AddInputCharactersUTF8EPKc(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(14568) %this, ptr noundef captures(address) %utf8_chars) local_unnamed_addr #0 align 2 { entry: %c = alloca i32, align 4 %AppAcceptingEvents = getelementptr inbounds nuw i8, ptr %this, i64 14545 @@ -1743,7 +1743,7 @@ while.end: ; preds = %_ZN7ImGuiIO17AddInp } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define noundef range(i32 -128, 129) i32 @_Z18ImTextCharFromUtf8PjPKcS1_(ptr noundef writeonly captures(none) initializes((0, 4)) %out_char, ptr noundef readonly %in_text, ptr noundef readnone %in_text_end) local_unnamed_addr #6 { +define noundef range(i32 -128, 129) i32 @_Z18ImTextCharFromUtf8PjPKcS1_(ptr noundef writeonly captures(none) initializes((0, 4)) %out_char, ptr noundef readonly captures(address) %in_text, ptr noundef readnone captures(address) %in_text_end) local_unnamed_addr #6 { entry: %0 = load i8, ptr %in_text, align 1 %1 = lshr i8 %0, 3 @@ -2196,7 +2196,7 @@ return: ; preds = %land.lhs.true, %ent } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef nonnull ptr @_ZN5ImGui10GetKeyDataEP12ImGuiContext8ImGuiKey(ptr noundef readonly %ctx, i32 noundef %key) local_unnamed_addr #7 { +define noundef nonnull ptr @_ZN5ImGui10GetKeyDataEP12ImGuiContext8ImGuiKey(ptr noundef readonly captures(ret: address, provenance) %ctx, i32 noundef %key) local_unnamed_addr #7 { entry: %and = and i32 %key, 63488 %tobool.not = icmp eq i32 %and, 0 @@ -3545,7 +3545,7 @@ if.end: ; preds = %if.else.i, %if.then } ; Function Attrs: mustprogress uwtable -define noundef ptr @_Z11ImStrdupcpyPcPmPKc(ptr noundef %dst, ptr noundef %p_dst_size, ptr noundef readonly captures(none) %src) local_unnamed_addr #0 { +define noundef ptr @_Z11ImStrdupcpyPcPmPKc(ptr noundef %dst, ptr noundef captures(address_is_null) %p_dst_size, ptr noundef readonly captures(none) %src) local_unnamed_addr #0 { entry: %tobool.not = icmp eq ptr %p_dst_size, null br i1 %tobool.not, label %cond.false, label %cond.true @@ -3801,7 +3801,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef ptr @_Z9ImStrbolWPKtS0_(ptr noundef readonly %buf_mid_line, ptr noundef readnone %buf_begin) local_unnamed_addr #7 { +define noundef ptr @_Z9ImStrbolWPKtS0_(ptr noundef readonly captures(address, ret: address, provenance) %buf_mid_line, ptr noundef readnone captures(address) %buf_begin) local_unnamed_addr #7 { entry: br label %while.cond @@ -3821,7 +3821,7 @@ while.end: ; preds = %while.cond, %land.r } ; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read) uwtable -define noundef ptr @_Z9ImStristrPKcS0_S0_S0_(ptr noundef readonly %haystack, ptr noundef readnone %haystack_end, ptr noundef readonly %needle, ptr noundef readnone %needle_end) local_unnamed_addr #18 { +define noundef ptr @_Z9ImStristrPKcS0_S0_S0_(ptr noundef readonly captures(address, ret: address, provenance) %haystack, ptr noundef readnone captures(address) %haystack_end, ptr noundef readonly captures(address) %needle, ptr noundef readnone captures(address) %needle_end) local_unnamed_addr #18 { entry: %tobool.not = icmp eq ptr %needle_end, null br i1 %tobool.not, label %if.then, label %if.end @@ -4002,7 +4002,7 @@ if.end: ; preds = %while.end22, %if.th declare void @llvm.memmove.p0.p0.i64(ptr writeonly captures(none), ptr readonly captures(none), i64, i1 immarg) #1 ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef ptr @_Z14ImStrSkipBlankPKc(ptr noundef readonly %str) local_unnamed_addr #7 { +define noundef ptr @_Z14ImStrSkipBlankPKc(ptr noundef readonly captures(ret: address, provenance) %str) local_unnamed_addr #7 { entry: br label %while.cond @@ -4023,7 +4023,7 @@ while.end: ; preds = %while.cond } ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef i32 @_Z14ImFormatStringPcmPKcz(ptr noundef %buf, i64 noundef %buf_size, ptr noundef readonly captures(none) %fmt, ...) local_unnamed_addr #20 { +define noundef i32 @_Z14ImFormatStringPcmPKcz(ptr noundef captures(address_is_null) %buf, i64 noundef %buf_size, ptr noundef readonly captures(none) %fmt, ...) local_unnamed_addr #20 { entry: %args = alloca [1 x %struct.__va_list_tag], align 16 call void @llvm.va_start.p0(ptr nonnull %args) @@ -4053,7 +4053,7 @@ return: ; preds = %entry, %if.end declare noundef i32 @vsnprintf(ptr noundef captures(none), i64 noundef, ptr noundef readonly captures(none), ptr noundef) local_unnamed_addr #21 ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef i32 @_Z15ImFormatStringVPcmPKcP13__va_list_tag(ptr noundef %buf, i64 noundef %buf_size, ptr noundef readonly captures(none) %fmt, ptr noundef %args) local_unnamed_addr #20 { +define noundef i32 @_Z15ImFormatStringVPcmPKcP13__va_list_tag(ptr noundef captures(address_is_null) %buf, i64 noundef %buf_size, ptr noundef readonly captures(none) %fmt, ptr noundef %args) local_unnamed_addr #20 { entry: %call = tail call i32 @vsnprintf(ptr noundef %buf, i64 noundef %buf_size, ptr noundef %fmt, ptr noundef %args) #39 %cmp = icmp eq ptr %buf, null @@ -4077,7 +4077,7 @@ return: ; preds = %entry, %if.end } ; Function Attrs: mustprogress nofree nounwind uwtable -define void @_Z26ImFormatStringToTempBufferPPKcS1_S0_z(ptr noundef writeonly captures(none) initializes((0, 8)) %out_buf, ptr noundef %out_buf_end, ptr noundef readonly captures(none) %fmt, ...) local_unnamed_addr #20 { +define void @_Z26ImFormatStringToTempBufferPPKcS1_S0_z(ptr noundef writeonly captures(none) initializes((0, 8)) %out_buf, ptr noundef captures(address_is_null) %out_buf_end, ptr noundef readonly captures(none) %fmt, ...) local_unnamed_addr #20 { entry: %args = alloca [1 x %struct.__va_list_tag], align 16 call void @llvm.va_start.p0(ptr nonnull %args) @@ -4087,7 +4087,7 @@ entry: } ; Function Attrs: mustprogress nofree nounwind uwtable -define void @_Z27ImFormatStringToTempBufferVPPKcS1_S0_P13__va_list_tag(ptr noundef writeonly captures(none) initializes((0, 8)) %out_buf, ptr noundef writeonly %out_buf_end, ptr noundef readonly captures(none) %fmt, ptr noundef %args) local_unnamed_addr #20 { +define void @_Z27ImFormatStringToTempBufferVPPKcS1_S0_P13__va_list_tag(ptr noundef writeonly captures(none) initializes((0, 8)) %out_buf, ptr noundef writeonly captures(address_is_null) %out_buf_end, ptr noundef readonly captures(none) %fmt, ptr noundef %args) local_unnamed_addr #20 { entry: %0 = load ptr, ptr @GImGui, align 8 %1 = load i8, ptr %fmt, align 1 @@ -4456,7 +4456,7 @@ entry: declare noundef i64 @fwrite(ptr noundef captures(none), i64 noundef, i64 noundef, ptr noundef captures(none)) local_unnamed_addr #21 ; Function Attrs: mustprogress uwtable -define noundef ptr @_Z18ImFileLoadToMemoryPKcS0_Pmi(ptr noundef readonly captures(none) %filename, ptr noundef readonly captures(none) %mode, ptr noundef writeonly %out_file_size, i32 noundef %padding_bytes) local_unnamed_addr #0 { +define noundef ptr @_Z18ImFileLoadToMemoryPKcS0_Pmi(ptr noundef readonly captures(none) %filename, ptr noundef readonly captures(none) %mode, ptr noundef writeonly captures(address_is_null) %out_file_size, i32 noundef %padding_bytes) local_unnamed_addr #0 { entry: %tobool.not = icmp eq ptr %out_file_size, null br i1 %tobool.not, label %if.end, label %if.then @@ -4647,7 +4647,7 @@ return: ; preds = %if.end21, %if.then2 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define noundef i32 @_Z17ImTextStrFromUtf8PtiPKcS1_PS1_(ptr noundef %buf, i32 noundef %buf_size, ptr noundef %in_text, ptr noundef %in_text_end, ptr noundef writeonly %in_text_remaining) local_unnamed_addr #22 { +define noundef i32 @_Z17ImTextStrFromUtf8PtiPKcS1_PS1_(ptr noundef %buf, i32 noundef %buf_size, ptr noundef %in_text, ptr noundef captures(address) %in_text_end, ptr noundef writeonly captures(address_is_null) %in_text_remaining) local_unnamed_addr #22 { entry: %c = alloca i32, align 4 %idx.ext = sext i32 %buf_size to i64 @@ -4721,7 +4721,7 @@ if.end: ; preds = %if.then, %while.end } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define noundef i32 @_Z24ImTextCountCharsFromUtf8PKcS0_(ptr noundef %in_text, ptr noundef %in_text_end) local_unnamed_addr #22 { +define noundef i32 @_Z24ImTextCountCharsFromUtf8PKcS0_(ptr noundef captures(address) %in_text, ptr noundef captures(address) %in_text_end) local_unnamed_addr #22 { entry: %c = alloca i32, align 4 %tobool.not = icmp eq ptr %in_text_end, null @@ -4769,7 +4769,7 @@ while.end: ; preds = %land.rhs, %while.bo } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define noundef ptr @_Z16ImTextCharToUtf8Pcj(ptr noundef returned writeonly %out_buf, i32 noundef %c) local_unnamed_addr #8 { +define noundef ptr @_Z16ImTextCharToUtf8Pcj(ptr noundef returned writeonly captures(ret: address, provenance) %out_buf, i32 noundef %c) local_unnamed_addr #8 { entry: %cmp.i = icmp ult i32 %c, 128 br i1 %cmp.i, label %if.then.i, label %if.end.i @@ -4853,7 +4853,7 @@ _ZL23ImTextCharToUtf8_inlinePcij.exit: ; preds = %if.then.i, %if.then } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define noundef range(i32 -128, 129) i32 @_Z28ImTextCountUtf8BytesFromCharPKcS0_(ptr noundef %in_text, ptr noundef %in_text_end) local_unnamed_addr #6 { +define noundef range(i32 -128, 129) i32 @_Z28ImTextCountUtf8BytesFromCharPKcS0_(ptr noundef captures(address) %in_text, ptr noundef captures(address) %in_text_end) local_unnamed_addr #6 { entry: %unused = alloca i32, align 4 %call = call noundef i32 @_Z18ImTextCharFromUtf8PjPKcS1_(ptr noundef nonnull %unused, ptr noundef %in_text, ptr noundef %in_text_end) @@ -4861,7 +4861,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define noundef i32 @_Z15ImTextStrToUtf8PciPKtS1_(ptr noundef %out_buf, i32 noundef %out_buf_size, ptr noundef readonly %in_text, ptr noundef readnone %in_text_end) local_unnamed_addr #19 { +define noundef i32 @_Z15ImTextStrToUtf8PciPKtS1_(ptr noundef %out_buf, i32 noundef %out_buf_size, ptr noundef readonly captures(address) %in_text, ptr noundef readnone captures(address) %in_text_end) local_unnamed_addr #19 { entry: %idx.ext = sext i32 %out_buf_size to i64 %add.ptr = getelementptr inbounds i8, ptr %out_buf, i64 %idx.ext @@ -5037,7 +5037,7 @@ while.end: ; preds = %land.rhs, %if.end, } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef i32 @_Z27ImTextCountUtf8BytesFromStrPKtS0_(ptr noundef readonly %in_text, ptr noundef readnone %in_text_end) local_unnamed_addr #7 { +define noundef i32 @_Z27ImTextCountUtf8BytesFromStrPKtS0_(ptr noundef readonly captures(address) %in_text, ptr noundef readnone captures(address) %in_text_end) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %in_text_end, null %cmp7 = icmp ult ptr %in_text, %in_text_end @@ -5089,7 +5089,7 @@ while.end: ; preds = %land.rhs, %while.bo } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef ptr @_Z31ImTextFindPreviousUtf8CodepointPKcS0_(ptr noundef readnone %in_text_start, ptr noundef readonly %in_text_curr) local_unnamed_addr #7 { +define noundef ptr @_Z31ImTextFindPreviousUtf8CodepointPKcS0_(ptr noundef readnone captures(address, ret: address, provenance) %in_text_start, ptr noundef readonly captures(address, ret: address, provenance) %in_text_curr) local_unnamed_addr #7 { entry: br label %while.cond @@ -6402,7 +6402,7 @@ for.end: ; preds = %for.body, %entry } ; Function Attrs: mustprogress uwtable -define void @_ZN15ImGuiTextFilterC2EPKc(ptr noundef nonnull align 8 dereferenceable(276) initializes((0, 1), (256, 276)) %this, ptr noundef readonly %default_filter) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN15ImGuiTextFilterC2EPKc(ptr noundef nonnull align 8 dereferenceable(276) initializes((0, 1), (256, 276)) %this, ptr noundef readonly captures(address_is_null) %default_filter) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { entry: %Filters = getelementptr inbounds nuw i8, ptr %this, i64 256 store i8 0, ptr %this, align 8 @@ -6762,7 +6762,7 @@ if.end7: ; preds = %_ZN8ImVectorIN15ImG } ; Function Attrs: mustprogress nofree nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(276) %this, ptr noundef readonly %text, ptr noundef readnone %text_end) local_unnamed_addr #31 align 2 { +define noundef zeroext i1 @_ZNK15ImGuiTextFilter10PassFilterEPKcS1_(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(276) %this, ptr noundef readonly captures(address) %text, ptr noundef readnone captures(address) %text_end) local_unnamed_addr #31 align 2 { entry: %Filters = getelementptr inbounds nuw i8, ptr %this, i64 256 %0 = load i32, ptr %Filters, align 8 @@ -9360,7 +9360,7 @@ return: ; preds = %entry, %switch.look } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef ptr @_ZN5ImGui19FindRenderedTextEndEPKcS1_(ptr noundef readonly %text, ptr noundef readnone %text_end) local_unnamed_addr #7 { +define noundef ptr @_ZN5ImGui19FindRenderedTextEndEPKcS1_(ptr noundef readonly captures(address, ret: address, provenance) %text, ptr noundef readnone captures(address) %text_end) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %text_end, null %spec.select = select i1 %tobool.not, ptr inttoptr (i64 -1 to ptr), ptr %text_end @@ -9518,7 +9518,7 @@ if.end10: ; preds = %if.then, %if.then5, declare void @_ZN10ImDrawList7AddTextEPK6ImFontfRK6ImVec2jPKcS7_fPK6ImVec4(ptr noundef nonnull align 8 dereferenceable(196), ptr noundef, float noundef, ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef, ptr noundef, float noundef, ptr noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui15LogRenderedTextEPK6ImVec2PKcS4_(ptr noundef %ref_pos, ptr noundef %text, ptr noundef %text_end) local_unnamed_addr #0 { +define void @_ZN5ImGui15LogRenderedTextEPK6ImVec2PKcS4_(ptr noundef captures(address_is_null) %ref_pos, ptr noundef %text, ptr noundef %text_end) local_unnamed_addr #0 { entry: %tobool3.not = icmp eq ptr %ref_pos, null %y = getelementptr inbounds nuw i8, ptr %ref_pos, i64 4 @@ -9746,7 +9746,7 @@ if.end6: ; preds = %if.then1, %if.then4 } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui19RenderTextClippedExEP10ImDrawListRK6ImVec2S4_PKcS6_PS3_S4_PK6ImRect(ptr noundef %draw_list, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %pos_min, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %pos_max, ptr noundef %text, ptr noundef %text_display_end, ptr noundef readonly %text_size_if_known, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %align, ptr noundef readonly %clip_rect) local_unnamed_addr #10 { +define void @_ZN5ImGui19RenderTextClippedExEP10ImDrawListRK6ImVec2S4_PKcS6_PS3_S4_PK6ImRect(ptr noundef %draw_list, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %pos_min, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %pos_max, ptr noundef %text, ptr noundef %text_display_end, ptr noundef readonly captures(address_is_null) %text_size_if_known, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %align, ptr noundef readonly captures(address_is_null) %clip_rect) local_unnamed_addr #10 { entry: %pos = alloca %struct.ImVec2, align 8 %fine_clip_rect = alloca %struct.ImVec4, align 4 @@ -9999,7 +9999,7 @@ return: ; preds = %if.end2, %if.then1 } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui17RenderTextClippedERK6ImVec2S2_PKcS4_PS1_S2_PK6ImRect(ptr noundef nonnull align 4 dereferenceable(8) %pos_min, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %pos_max, ptr noundef %text, ptr noundef %text_end, ptr noundef %text_size_if_known, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %align, ptr noundef %clip_rect) local_unnamed_addr #0 { +define void @_ZN5ImGui17RenderTextClippedERK6ImVec2S2_PKcS4_PS1_S2_PK6ImRect(ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(8) %pos_min, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %pos_max, ptr noundef %text, ptr noundef %text_end, ptr noundef captures(address_is_null) %text_size_if_known, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %align, ptr noundef captures(address_is_null) %clip_rect) local_unnamed_addr #0 { entry: %tobool.not.i = icmp eq ptr %text_end, null %spec.select.i = select i1 %tobool.not.i, ptr inttoptr (i64 -1 to ptr), ptr %text_end @@ -10071,7 +10071,7 @@ if.end2: ; preds = %_ZN5ImGui19FindRend } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui18RenderTextEllipsisEP10ImDrawListRK6ImVec2S4_ffPKcS6_PS3_(ptr noundef %draw_list, ptr noundef nonnull align 4 dereferenceable(8) %pos_min, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %pos_max, float noundef %clip_max_x, float noundef %ellipsis_max_x, ptr noundef %text, ptr noundef %text_end_full, ptr noundef readonly %text_size_if_known) local_unnamed_addr #10 { +define void @_ZN5ImGui18RenderTextEllipsisEP10ImDrawListRK6ImVec2S4_ffPKcS6_PS3_(ptr noundef %draw_list, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(8) %pos_min, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %pos_max, float noundef %clip_max_x, float noundef %ellipsis_max_x, ptr noundef %text, ptr noundef %text_end_full, ptr noundef readonly captures(address_is_null) %text_size_if_known) local_unnamed_addr #10 { entry: %unused.i = alloca i32, align 4 %text_size = alloca %struct.ImVec2, align 8 @@ -14439,7 +14439,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui21SaveIniSettingsToDiskEPKc(ptr noundef readonly %ini_filename) local_unnamed_addr #0 { +define void @_ZN5ImGui21SaveIniSettingsToDiskEPKc(ptr noundef readonly captures(address_is_null) %ini_filename) local_unnamed_addr #0 { entry: %0 = load ptr, ptr @GImGui, align 8 %SettingsDirtyTimer = getelementptr inbounds nuw i8, ptr %0, i64 24332 @@ -18956,7 +18956,7 @@ return: ; preds = %while.body.i, %if.e } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define noundef zeroext i1 @_ZN5ImGui26IsWindowWithinBeginStackOfEP11ImGuiWindowS1_(ptr noundef readonly %window, ptr noundef readnone %potential_parent) local_unnamed_addr #27 { +define noundef zeroext i1 @_ZN5ImGui26IsWindowWithinBeginStackOfEP11ImGuiWindowS1_(ptr noundef readonly captures(address) %window, ptr noundef readnone captures(address) %potential_parent) local_unnamed_addr #27 { entry: %RootWindow = getelementptr inbounds nuw i8, ptr %window, i64 904 %0 = load ptr, ptr %RootWindow, align 8 @@ -20998,7 +20998,7 @@ if.end24: ; preds = %if.else9, %land.lhs } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define noundef zeroext i1 @_ZN5ImGui15IsMousePosValidEPK6ImVec2(ptr noundef readonly %mouse_pos) local_unnamed_addr #27 { +define noundef zeroext i1 @_ZN5ImGui15IsMousePosValidEPK6ImVec2(ptr noundef readonly captures(address_is_null) %mouse_pos) local_unnamed_addr #27 { entry: %tobool.not = icmp eq ptr %mouse_pos, null %0 = load ptr, ptr @GImGui, align 8 @@ -21532,7 +21532,7 @@ return: ; preds = %if.then, %for.inc, } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define noundef zeroext i1 @_ZN5ImGui13IsWindowAboveEP11ImGuiWindowS1_(ptr noundef readonly %potential_above, ptr noundef readonly %potential_below) local_unnamed_addr #27 { +define noundef zeroext i1 @_ZN5ImGui13IsWindowAboveEP11ImGuiWindowS1_(ptr noundef readonly captures(address) %potential_above, ptr noundef readonly captures(address) %potential_below) local_unnamed_addr #27 { entry: %0 = getelementptr i8, ptr %potential_above, i64 20 %potential_above.val = load i32, ptr %0, align 4 @@ -21581,7 +21581,7 @@ return: ; preds = %for.cond, %if.end9, } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui21ClosePopupsOverWindowEP11ImGuiWindowb(ptr noundef readonly %ref_window, i1 noundef zeroext %restore_focus_to_window_under_popup) local_unnamed_addr #0 { +define void @_ZN5ImGui21ClosePopupsOverWindowEP11ImGuiWindowb(ptr noundef readonly captures(address) %ref_window, i1 noundef zeroext %restore_focus_to_window_under_popup) local_unnamed_addr #0 { entry: %0 = load ptr, ptr @GImGui, align 8 %OpenPopupStack = getelementptr inbounds nuw i8, ptr %0, i64 19104 @@ -30954,7 +30954,7 @@ declare void @_ZN5ImGui30TableGcCompactTransientBuffersEP10ImGuiTable(ptr nounde declare void @_ZN5ImGui30TableGcCompactTransientBuffersEP18ImGuiTableTempData(ptr noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui26FocusTopMostWindowUnderOneEP11ImGuiWindowS1_P13ImGuiViewporti(ptr noundef readonly %under_this_window, ptr noundef readnone %ignore_window, ptr noundef readnone captures(none) %filter_viewport, i32 noundef %flags) local_unnamed_addr #0 { +define void @_ZN5ImGui26FocusTopMostWindowUnderOneEP11ImGuiWindowS1_P13ImGuiViewporti(ptr noundef readonly captures(address_is_null) %under_this_window, ptr noundef readnone captures(address) %ignore_window, ptr noundef readnone captures(none) %filter_viewport, i32 noundef %flags) local_unnamed_addr #0 { entry: %0 = load ptr, ptr @GImGui, align 8 %WindowsFocusOrder = getelementptr inbounds nuw i8, ptr %0, i64 16312 @@ -31049,7 +31049,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef %name, ptr noundef writeonly %p_open, i32 noundef %flags) local_unnamed_addr #10 personality ptr @__gxx_personality_v0 { +define noundef zeroext i1 @_ZN5ImGui5BeginEPKcPbi(ptr noundef %name, ptr noundef writeonly captures(address_is_null) %p_open, i32 noundef %flags) local_unnamed_addr #10 personality ptr @__gxx_personality_v0 { entry: %item_data.i = alloca %struct.ImGuiLastItemData, align 4 %r.i = alloca %struct.ImRect, align 4 @@ -37471,7 +37471,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define noundef ptr @_ZN5ImGui43FindBottomMostVisibleWindowWithinBeginStackEP11ImGuiWindow(ptr noundef readonly %parent_window) local_unnamed_addr #27 { +define noundef ptr @_ZN5ImGui43FindBottomMostVisibleWindowWithinBeginStackEP11ImGuiWindow(ptr noundef readonly captures(address, ret: address, provenance) %parent_window) local_unnamed_addr #27 { entry: %0 = load ptr, ptr @GImGui, align 8 %Windows.i = getelementptr inbounds nuw i8, ptr %0, i64 16296 @@ -37571,7 +37571,7 @@ for.end: ; preds = %for.inc, %if.end4.i } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define noundef i32 @_ZN5ImGui22FindWindowDisplayIndexEP11ImGuiWindow(ptr noundef readnone %window) local_unnamed_addr #27 { +define noundef i32 @_ZN5ImGui22FindWindowDisplayIndexEP11ImGuiWindow(ptr noundef readnone captures(address) %window) local_unnamed_addr #27 { entry: %0 = load ptr, ptr @GImGui, align 8 %Windows = getelementptr inbounds nuw i8, ptr %0, i64 16296 @@ -41430,7 +41430,7 @@ if.end34: ; preds = %if.else20, %if.then } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui13NavInitWindowEP11ImGuiWindowb(ptr noundef readonly %window, i1 noundef zeroext %force_reinit) local_unnamed_addr #0 { +define void @_ZN5ImGui13NavInitWindowEP11ImGuiWindowb(ptr noundef readonly captures(address) %window, i1 noundef zeroext %force_reinit) local_unnamed_addr #0 { entry: %0 = load ptr, ptr @GImGui, align 8 %Flags = getelementptr inbounds nuw i8, ptr %window, i64 20 @@ -41836,7 +41836,7 @@ if.end88: ; preds = %if.end.i, %if.then8 } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui7ItemAddERK6ImRectjPS1_i(ptr noundef nonnull readonly align 4 captures(none) dereferenceable(16) %bb, i32 noundef %id, ptr noundef readonly %nav_bb_arg, i32 noundef %extra_flags) local_unnamed_addr #10 { +define noundef zeroext i1 @_ZN5ImGui7ItemAddERK6ImRectjPS1_i(ptr noundef nonnull readonly align 4 captures(none) dereferenceable(16) %bb, i32 noundef %id, ptr noundef readonly captures(address_is_null) %nav_bb_arg, i32 noundef %extra_flags) local_unnamed_addr #10 { entry: %item_data.i = alloca %struct.ImGuiLastItemData, align 4 %r.i = alloca %struct.ImRect, align 4 @@ -43726,7 +43726,7 @@ while.end: ; preds = %while.body, %if.end } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define noundef ptr @_ZN5ImGui17FindBlockingModalEP11ImGuiWindow(ptr noundef readonly %window) local_unnamed_addr #27 { +define noundef ptr @_ZN5ImGui17FindBlockingModalEP11ImGuiWindow(ptr noundef readonly captures(address) %window) local_unnamed_addr #27 { entry: %0 = load ptr, ptr @GImGui, align 8 %OpenPopupStack = getelementptr inbounds nuw i8, ptr %0, i64 19104 @@ -46014,7 +46014,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define noundef zeroext i1 @_ZN5ImGui15IsWindowChildOfEP11ImGuiWindowS1_b(ptr noundef readonly %window, ptr noundef readnone %potential_parent, i1 noundef zeroext %popup_hierarchy) local_unnamed_addr #27 { +define noundef zeroext i1 @_ZN5ImGui15IsWindowChildOfEP11ImGuiWindowS1_b(ptr noundef readonly captures(address) %window, ptr noundef readnone captures(address) %potential_parent, i1 noundef zeroext %popup_hierarchy) local_unnamed_addr #27 { entry: %cmp.not5.i = icmp eq ptr %window, null br i1 %cmp.not5.i, label %_ZL21GetCombinedRootWindowP11ImGuiWindowb.exit.thread, label %while.body.lr.ph.i @@ -46371,7 +46371,7 @@ return: ; preds = %if.end7.i, %while.b } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef zeroext i1 @_ZN5ImGui20IsWindowNavFocusableEP11ImGuiWindow(ptr noundef readonly %window) local_unnamed_addr #7 { +define noundef zeroext i1 @_ZN5ImGui20IsWindowNavFocusableEP11ImGuiWindow(ptr noundef readonly captures(address) %window) local_unnamed_addr #7 { entry: %WasActive = getelementptr inbounds nuw i8, ptr %window, i64 191 %0 = load i8, ptr %WasActive, align 1 @@ -46879,7 +46879,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui14SetWindowFocusEPKc(ptr noundef readonly %name) local_unnamed_addr #0 { +define void @_ZN5ImGui14SetWindowFocusEPKc(ptr noundef readonly captures(address_is_null) %name) local_unnamed_addr #0 { entry: %tobool.not = icmp eq ptr %name, null br i1 %tobool.not, label %if.end3.sink.split, label %if.then @@ -49243,7 +49243,7 @@ return: ; preds = %if.then, %return.fo } ; Function Attrs: mustprogress nofree nounwind uwtable -define void @_ZN5ImGui15GetKeyChordNameEiPci(i32 noundef %key_chord, ptr noundef %out_buf, i32 noundef %out_buf_size) local_unnamed_addr #20 { +define void @_ZN5ImGui15GetKeyChordNameEiPci(i32 noundef %key_chord, ptr noundef captures(address_is_null) %out_buf, i32 noundef %out_buf_size) local_unnamed_addr #20 { entry: %0 = load ptr, ptr @GImGui, align 8 %and = and i32 %key_chord, 2048 @@ -51973,7 +51973,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui25ErrorCheckEndFrameRecoverEPFvPvPKczES0_(ptr noundef %log_callback, ptr noundef %user_data) local_unnamed_addr #0 { +define void @_ZN5ImGui25ErrorCheckEndFrameRecoverEPFvPvPKczES0_(ptr noundef captures(address_is_null) %log_callback, ptr noundef %user_data) local_unnamed_addr #0 { entry: %0 = load ptr, ptr @GImGui, align 8 %CurrentWindowStack = getelementptr inbounds nuw i8, ptr %0, i64 16344 @@ -52049,7 +52049,7 @@ while.end: ; preds = %if.end12, %while.bo } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui26ErrorCheckEndWindowRecoverEPFvPvPKczES0_(ptr noundef readonly %log_callback, ptr noundef %user_data) local_unnamed_addr #0 { +define void @_ZN5ImGui26ErrorCheckEndWindowRecoverEPFvPvPKczES0_(ptr noundef readonly captures(address_is_null) %log_callback, ptr noundef %user_data) local_unnamed_addr #0 { entry: %0 = load ptr, ptr @GImGui, align 8 %CurrentTable = getelementptr inbounds nuw i8, ptr %0, i64 19912 @@ -55488,7 +55488,7 @@ return: ; preds = %_ZN11ImGuiWindow5Ge } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef %name, ptr noundef %p_open, i32 noundef %flags) local_unnamed_addr #10 { +define noundef zeroext i1 @_ZN5ImGui15BeginPopupModalEPKcPbi(ptr noundef %name, ptr noundef captures(address_is_null) %p_open, i32 noundef %flags) local_unnamed_addr #10 { entry: %0 = load ptr, ptr @GImGui, align 8 %CurrentWindow = getelementptr inbounds nuw i8, ptr %0, i64 16392 @@ -55741,7 +55741,7 @@ return: ; preds = %lor.lhs.false, %lan } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(readwrite, inaccessiblemem: none) uwtable -define void @_ZN5ImGui25NavMoveRequestTryWrappingEP11ImGuiWindowi(ptr noundef readnone %window, i32 noundef %wrap_flags) local_unnamed_addr #30 { +define void @_ZN5ImGui25NavMoveRequestTryWrappingEP11ImGuiWindowi(ptr noundef readnone captures(address) %window, i32 noundef %wrap_flags) local_unnamed_addr #30 { entry: %0 = load ptr, ptr @GImGui, align 8 %NavWindow = getelementptr inbounds nuw i8, ptr %0, i64 19176 @@ -58699,7 +58699,7 @@ land.end: ; preds = %land.rhs, %entry } ; Function Attrs: mustprogress uwtable -define noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef readonly %type, i32 noundef %flags) local_unnamed_addr #0 { +define noundef ptr @_ZN5ImGui21AcceptDragDropPayloadEPKci(ptr noundef readonly captures(address_is_null) %type, i32 noundef %flags) local_unnamed_addr #0 { entry: %r = alloca %struct.ImRect, align 4 %0 = load ptr, ptr @GImGui, align 8 @@ -59314,7 +59314,7 @@ return: ; preds = %entry, %_ZN5ImGui8L } ; Function Attrs: mustprogress nofree nounwind uwtable -define void @_ZN5ImGui9LogToFileEiPKc(i32 noundef %auto_open_depth, ptr noundef readonly %filename) local_unnamed_addr #20 { +define void @_ZN5ImGui9LogToFileEiPKc(i32 noundef %auto_open_depth, ptr noundef readonly captures(address_is_null) %filename) local_unnamed_addr #20 { entry: %0 = load ptr, ptr @GImGui, align 8 %LogEnabled = getelementptr inbounds nuw i8, ptr %0, i64 24488 @@ -60378,7 +60378,7 @@ for.end86: ; preds = %for.inc84, %for.end } ; Function Attrs: mustprogress uwtable -define noundef ptr @_ZN5ImGui23SaveIniSettingsToMemoryEPm(ptr noundef writeonly %out_size) local_unnamed_addr #0 { +define noundef ptr @_ZN5ImGui23SaveIniSettingsToMemoryEPm(ptr noundef writeonly captures(address_is_null) %out_size) local_unnamed_addr #0 { entry: %0 = load ptr, ptr @GImGui, align 8 %SettingsDirtyTimer = getelementptr inbounds nuw i8, ptr %0, i64 24332 @@ -60943,7 +60943,7 @@ if.end6: ; preds = %for.inc.i.i, %for.i } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define internal fastcc void @_ZL24InitOrLoadWindowSettingsP11ImGuiWindowP19ImGuiWindowSettings(ptr noundef captures(none) initializes((40, 64), (222, 223), (288, 312)) %window, ptr noundef readonly %settings) unnamed_addr #46 { +define internal fastcc void @_ZL24InitOrLoadWindowSettingsP11ImGuiWindowP19ImGuiWindowSettings(ptr noundef captures(none) initializes((40, 64), (222, 223), (288, 312)) %window, ptr noundef readonly captures(address_is_null) %settings) unnamed_addr #46 { entry: %0 = load ptr, ptr @GImGui, align 8 %Data.i.i = getelementptr inbounds nuw i8, ptr %0, i64 19168 @@ -62598,7 +62598,7 @@ declare noundef zeroext i1 @_ZN5ImGui8CheckboxEPKcPb(ptr noundef, ptr noundef) l declare void @_ZN5ImGui5ImageEPvRK6ImVec2S3_S3_RK6ImVec4S6_(ptr noundef, ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(16)) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui17ShowMetricsWindowEPb(ptr noundef %p_open) local_unnamed_addr #10 { +define void @_ZN5ImGui17ShowMetricsWindowEPb(ptr noundef captures(address_is_null) %p_open) local_unnamed_addr #10 { entry: %ref.tmp.i1629 = alloca %struct.ImVec2, align 8 %ref.tmp4.i1630 = alloca %struct.ImVec2, align 8 @@ -67292,7 +67292,7 @@ return: ; preds = %if.end937, %if.then } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui18ShowDebugLogWindowEPb(ptr noundef %p_open) local_unnamed_addr #10 personality ptr @__gxx_personality_v0 { +define void @_ZN5ImGui18ShowDebugLogWindowEPb(ptr noundef captures(address_is_null) %p_open) local_unnamed_addr #10 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i260 = alloca %struct.ImVec2, align 8 %ref.tmp.i = alloca %struct.ImVec2, align 8 @@ -68568,7 +68568,7 @@ return: ; preds = %invoke.cont116, %if } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui21ShowIDStackToolWindowEPb(ptr noundef %p_open) local_unnamed_addr #10 { +define void @_ZN5ImGui21ShowIDStackToolWindowEPb(ptr noundef captures(address_is_null) %p_open) local_unnamed_addr #10 { entry: %ref.tmp7 = alloca %struct.ImVec4, align 4 %level_desc = alloca [256 x i8], align 16 @@ -69398,7 +69398,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui38DebugNodeWindowsListByBeginStackParentEPP11ImGuiWindowiS1_(ptr noundef readonly captures(none) %windows, i32 noundef %windows_size, ptr noundef readnone %parent_in_begin_stack) local_unnamed_addr #0 { +define void @_ZN5ImGui38DebugNodeWindowsListByBeginStackParentEPP11ImGuiWindowiS1_(ptr noundef readonly captures(none) %windows, i32 noundef %windows_size, ptr noundef readnone captures(address) %parent_in_begin_stack) local_unnamed_addr #0 { entry: %buf = alloca [20 x i8], align 16 %cmp18 = icmp sgt i32 %windows_size, 0 @@ -71919,7 +71919,7 @@ entry: } ; Function Attrs: mustprogress nofree nounwind uwtable -define internal fastcc void @_ZL24StackToolFormatLevelInfoP16ImGuiIDStackToolibPcm(ptr noundef readonly captures(none) %tool, i32 noundef %n, i1 noundef zeroext %format_for_ui, ptr noundef %buf, i64 noundef range(i64 -2147483648, 2147483648) %buf_size) unnamed_addr #20 { +define internal fastcc void @_ZL24StackToolFormatLevelInfoP16ImGuiIDStackToolibPcm(ptr noundef readonly captures(none) %tool, i32 noundef %n, i1 noundef zeroext %format_for_ui, ptr noundef captures(address_is_null) %buf, i64 noundef range(i64 -2147483648, 2147483648) %buf_size) unnamed_addr #20 { entry: %Results = getelementptr inbounds nuw i8, ptr %tool, i64 16 %Data.i = getelementptr inbounds nuw i8, ptr %tool, i64 24 diff --git a/bench/imgui/optimized/imgui_draw.ll b/bench/imgui/optimized/imgui_draw.ll index 6a809b7395f..648194dc121 100644 --- a/bench/imgui/optimized/imgui_draw.ll +++ b/bench/imgui/optimized/imgui_draw.ll @@ -9364,7 +9364,7 @@ return: ; preds = %entry, %_ZN10ImDraw } ; Function Attrs: mustprogress uwtable -define void @_ZN10ImDrawList7AddTextEPK6ImFontfRK6ImVec2jPKcS7_fPK6ImVec4(ptr noundef nonnull align 8 captures(none) dereferenceable(196) %this, ptr noundef readonly %font, float noundef %font_size, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %pos, i32 noundef %col, ptr noundef %text_begin, ptr noundef %text_end, float noundef %wrap_width, ptr noundef readonly %cpu_fine_clip_rect) local_unnamed_addr #7 align 2 { +define void @_ZN10ImDrawList7AddTextEPK6ImFontfRK6ImVec2jPKcS7_fPK6ImVec4(ptr noundef nonnull align 8 captures(none) dereferenceable(196) %this, ptr noundef readonly captures(address_is_null) %font, float noundef %font_size, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(8) %pos, i32 noundef %col, ptr noundef %text_begin, ptr noundef %text_end, float noundef %wrap_width, ptr noundef readonly captures(address_is_null) %cpu_fine_clip_rect) local_unnamed_addr #7 align 2 { entry: %clip_rect = alloca %struct.ImVec4, align 4 %cmp = icmp ult i32 %col, 16777216 @@ -12352,7 +12352,7 @@ _ZN8ImVectorIP6ImFontE12clear_deleteEv.exit: ; preds = %for.end.i, %if.then } ; Function Attrs: mustprogress uwtable -define void @_ZN11ImFontAtlas18GetTexDataAsAlpha8EPPhPiS2_S2_(ptr noundef nonnull align 8 dereferenceable(1180) %this, ptr noundef writeonly captures(none) initializes((0, 8)) %out_pixels, ptr noundef writeonly %out_width, ptr noundef writeonly %out_height, ptr noundef writeonly %out_bytes_per_pixel) local_unnamed_addr #7 align 2 { +define void @_ZN11ImFontAtlas18GetTexDataAsAlpha8EPPhPiS2_S2_(ptr noundef nonnull align 8 dereferenceable(1180) %this, ptr noundef writeonly captures(none) initializes((0, 8)) %out_pixels, ptr noundef writeonly captures(address_is_null) %out_width, ptr noundef writeonly captures(address_is_null) %out_height, ptr noundef writeonly captures(address_is_null) %out_bytes_per_pixel) local_unnamed_addr #7 align 2 { entry: %font_cfg.i.i = alloca %struct.ImFontConfig, align 8 %TexPixelsAlpha8 = getelementptr inbounds nuw i8, ptr %this, i64 48 @@ -12546,7 +12546,7 @@ if.end5: ; preds = %if.end.if.end5_crit } ; Function Attrs: mustprogress uwtable -define void @_ZN11ImFontAtlas18GetTexDataAsRGBA32EPPhPiS2_S2_(ptr noundef nonnull align 8 dereferenceable(1180) %this, ptr noundef writeonly captures(none) %out_pixels, ptr noundef writeonly %out_width, ptr noundef writeonly %out_height, ptr noundef writeonly %out_bytes_per_pixel) local_unnamed_addr #7 align 2 { +define void @_ZN11ImFontAtlas18GetTexDataAsRGBA32EPPhPiS2_S2_(ptr noundef nonnull align 8 dereferenceable(1180) %this, ptr noundef writeonly captures(none) %out_pixels, ptr noundef writeonly captures(address_is_null) %out_width, ptr noundef writeonly captures(address_is_null) %out_height, ptr noundef writeonly captures(address_is_null) %out_bytes_per_pixel) local_unnamed_addr #7 align 2 { entry: %font_cfg.i.i.i = alloca %struct.ImFontConfig, align 8 %TexPixelsRGBA32 = getelementptr inbounds nuw i8, ptr %this, i64 56 @@ -12998,7 +12998,7 @@ for.end: ; preds = %if.end, %entry } ; Function Attrs: mustprogress uwtable -define noundef ptr @_ZN11ImFontAtlas14AddFontDefaultEPK12ImFontConfig(ptr noundef nonnull align 8 captures(none) dereferenceable(1180) %this, ptr noundef readonly %font_cfg_template) local_unnamed_addr #7 align 2 { +define noundef ptr @_ZN11ImFontAtlas14AddFontDefaultEPK12ImFontConfig(ptr noundef nonnull align 8 captures(none) dereferenceable(1180) %this, ptr noundef readonly captures(address_is_null) %font_cfg_template) local_unnamed_addr #7 align 2 { entry: %font_cfg = alloca %struct.ImFontConfig, align 8 %tobool.not = icmp eq ptr %font_cfg_template, null @@ -13067,7 +13067,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef ptr @_ZN11ImFontAtlas36AddFontFromMemoryCompressedBase85TTFEPKcfPK12ImFontConfigPKt(ptr noundef nonnull align 8 captures(none) dereferenceable(1180) %this, ptr noundef readonly captures(none) %compressed_ttf_data_base85, float noundef %size_pixels, ptr noundef %font_cfg, ptr noundef %glyph_ranges) local_unnamed_addr #7 align 2 { +define noundef ptr @_ZN11ImFontAtlas36AddFontFromMemoryCompressedBase85TTFEPKcfPK12ImFontConfigPKt(ptr noundef nonnull align 8 captures(none) dereferenceable(1180) %this, ptr noundef readonly captures(none) %compressed_ttf_data_base85, float noundef %size_pixels, ptr noundef captures(address_is_null) %font_cfg, ptr noundef %glyph_ranges) local_unnamed_addr #7 align 2 { entry: %call = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %compressed_ttf_data_base85) #41 %conv = trunc i64 %call to i32 @@ -13147,7 +13147,7 @@ _ZL8Decode85PKhPh.exit: ; preds = %while.body.i, %entr } ; Function Attrs: mustprogress uwtable -define noundef ptr @_ZN11ImFontAtlas18AddFontFromFileTTFEPKcfPK12ImFontConfigPKt(ptr noundef nonnull align 8 captures(none) dereferenceable(1180) %this, ptr noundef %filename, float noundef %size_pixels, ptr noundef readonly %font_cfg_template, ptr noundef %glyph_ranges) local_unnamed_addr #7 align 2 { +define noundef ptr @_ZN11ImFontAtlas18AddFontFromFileTTFEPKcfPK12ImFontConfigPKt(ptr noundef nonnull align 8 captures(none) dereferenceable(1180) %this, ptr noundef %filename, float noundef %size_pixels, ptr noundef readonly captures(address_is_null) %font_cfg_template, ptr noundef %glyph_ranges) local_unnamed_addr #7 align 2 { entry: %font_cfg.i = alloca %struct.ImFontConfig, align 8 %data_size = alloca i64, align 8 @@ -13232,7 +13232,7 @@ return: ; preds = %entry, %_ZN11ImFont declare noundef ptr @_Z18ImFileLoadToMemoryPKcS0_Pmi(ptr noundef, ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1 ; Function Attrs: mustprogress uwtable -define noundef ptr @_ZN11ImFontAtlas20AddFontFromMemoryTTFEPvifPK12ImFontConfigPKt(ptr noundef nonnull align 8 captures(none) dereferenceable(1180) %this, ptr noundef %font_data, i32 noundef %font_data_size, float noundef %size_pixels, ptr noundef readonly %font_cfg_template, ptr noundef %glyph_ranges) local_unnamed_addr #7 align 2 { +define noundef ptr @_ZN11ImFontAtlas20AddFontFromMemoryTTFEPvifPK12ImFontConfigPKt(ptr noundef nonnull align 8 captures(none) dereferenceable(1180) %this, ptr noundef %font_data, i32 noundef %font_data_size, float noundef %size_pixels, ptr noundef readonly captures(address_is_null) %font_cfg_template, ptr noundef %glyph_ranges) local_unnamed_addr #7 align 2 { entry: %font_cfg = alloca %struct.ImFontConfig, align 8 %tobool.not = icmp eq ptr %font_cfg_template, null @@ -13269,7 +13269,7 @@ if.end: ; preds = %if.then, %cond.end } ; Function Attrs: mustprogress uwtable -define noundef ptr @_ZN11ImFontAtlas30AddFontFromMemoryCompressedTTFEPKvifPK12ImFontConfigPKt(ptr noundef nonnull align 8 captures(none) dereferenceable(1180) %this, ptr noundef %compressed_ttf_data, i32 %compressed_ttf_size, float noundef %size_pixels, ptr noundef readonly %font_cfg_template, ptr noundef %glyph_ranges) local_unnamed_addr #7 align 2 { +define noundef ptr @_ZN11ImFontAtlas30AddFontFromMemoryCompressedTTFEPKvifPK12ImFontConfigPKt(ptr noundef nonnull align 8 captures(none) dereferenceable(1180) %this, ptr noundef %compressed_ttf_data, i32 %compressed_ttf_size, float noundef %size_pixels, ptr noundef readonly captures(address_is_null) %font_cfg_template, ptr noundef %glyph_ranges) local_unnamed_addr #7 align 2 { entry: %font_cfg.i = alloca %struct.ImFontConfig, align 8 %font_cfg = alloca %struct.ImFontConfig, align 8 @@ -21246,7 +21246,7 @@ _ZN8ImVectorItE5clearEv.exit: ; preds = %_ZN8ImVectorIfE5cle } ; Function Attrs: mustprogress uwtable -define void @_Z31ImFontAtlasBuildPackCustomRectsP11ImFontAtlasPv(ptr noundef captures(none) %atlas, ptr noundef %stbrp_context_opaque) local_unnamed_addr #7 personality ptr @__gxx_personality_v0 { +define void @_Z31ImFontAtlasBuildPackCustomRectsP11ImFontAtlasPv(ptr noundef captures(none) %atlas, ptr noundef captures(address_is_null) %stbrp_context_opaque) local_unnamed_addr #7 personality ptr @__gxx_personality_v0 { _ZNK8ImVectorI10stbrp_rectE14_grow_capacityEi.exit.i: %pack_rects = alloca %struct.ImVector.12, align 8 %CustomRects = getelementptr inbounds nuw i8, ptr %atlas, i64 104 @@ -21385,7 +21385,7 @@ _ZN8ImVectorI10stbrp_rectED2Ev.exit: ; preds = %for.end50, %if.then } ; Function Attrs: mustprogress nofree uwtable -define internal fastcc void @_ZL16stbrp_pack_rectsP13stbrp_contextP10stbrp_recti(ptr noundef %context, ptr noundef %rects, i32 noundef %num_rects) unnamed_addr #28 { +define internal fastcc void @_ZL16stbrp_pack_rectsP13stbrp_contextP10stbrp_recti(ptr noundef captures(address_is_null) %context, ptr noundef %rects, i32 noundef %num_rects) unnamed_addr #28 { entry: %cmp57 = icmp sgt i32 %num_rects, 0 br i1 %cmp57, label %for.body.preheader, label %for.end @@ -22756,7 +22756,7 @@ for.end28: ; preds = %for.inc27, %for.end } ; Function Attrs: mustprogress uwtable -define void @_ZN6ImFont8AddGlyphEPK12ImFontConfigtfffffffff(ptr noundef nonnull align 8 captures(none) dereferenceable(118) initializes((96, 97)) %this, ptr noundef readonly %cfg, i16 noundef zeroext %codepoint, float noundef %x0, float noundef %y0, float noundef %x1, float noundef %y1, float noundef %u0, float noundef %v0, float noundef %u1, float noundef %v1, float noundef %advance_x) local_unnamed_addr #7 align 2 { +define void @_ZN6ImFont8AddGlyphEPK12ImFontConfigtfffffffff(ptr noundef nonnull align 8 captures(none) dereferenceable(118) initializes((96, 97)) %this, ptr noundef readonly captures(address_is_null) %cfg, i16 noundef zeroext %codepoint, float noundef %x0, float noundef %y0, float noundef %x1, float noundef %y1, float noundef %u0, float noundef %v0, float noundef %u1, float noundef %v1, float noundef %advance_x) local_unnamed_addr #7 align 2 { entry: %cmp.not = icmp eq ptr %cfg, null br i1 %cmp.not, label %if.end15, label %if.then @@ -24622,7 +24622,7 @@ while.end: ; preds = %while.cond.outer.ou } ; Function Attrs: mustprogress uwtable -define <2 x float> @_ZNK6ImFont13CalcTextSizeAEfffPKcS1_PS1_(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(118) %this, float noundef %size, float noundef %max_width, float noundef %wrap_width, ptr noundef %text_begin, ptr noundef %text_end, ptr noundef writeonly %remaining) local_unnamed_addr #0 align 2 { +define <2 x float> @_ZNK6ImFont13CalcTextSizeAEfffPKcS1_PS1_(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(118) %this, float noundef %size, float noundef %max_width, float noundef %wrap_width, ptr noundef %text_begin, ptr noundef %text_end, ptr noundef writeonly captures(address_is_null) %remaining) local_unnamed_addr #0 align 2 { entry: %c = alloca i32, align 4 %tobool.not = icmp eq ptr %text_end, null @@ -26965,7 +26965,7 @@ return: ; preds = %if.end250, %if.then } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define internal fastcc void @_ZL31stbtt_GetGlyphBitmapBoxSubpixelPK14stbtt_fontinfoiffffPiS2_S2_S2_(ptr noundef nonnull readonly captures(none) %font, i32 noundef %glyph, float noundef %scale_x, float noundef %scale_y, ptr noundef nonnull writeonly captures(none) initializes((0, 4)) %ix0, ptr noundef nonnull writeonly captures(none) initializes((0, 4)) %iy0, ptr noundef writeonly %ix1, ptr noundef writeonly %iy1) unnamed_addr #18 { +define internal fastcc void @_ZL31stbtt_GetGlyphBitmapBoxSubpixelPK14stbtt_fontinfoiffffPiS2_S2_S2_(ptr noundef nonnull readonly captures(none) %font, i32 noundef %glyph, float noundef %scale_x, float noundef %scale_y, ptr noundef nonnull writeonly captures(none) initializes((0, 4)) %ix0, ptr noundef nonnull writeonly captures(none) initializes((0, 4)) %iy0, ptr noundef writeonly captures(address_is_null) %ix1, ptr noundef writeonly captures(address_is_null) %iy1) unnamed_addr #18 { entry: %c.i.i = alloca %struct.stbtt__csctx, align 8 %size.i = getelementptr inbounds nuw i8, ptr %font, i64 76 @@ -30744,7 +30744,7 @@ return: ; preds = %_ZL22stbtt__GetGlyp } ; Function Attrs: mustprogress nofree nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc void @_ZL22stbtt__tesselate_curveP12stbtt__pointPifffffffi(ptr noundef %points, ptr noundef nonnull captures(none) %num_points, float noundef %x0, float noundef %y0, float noundef %x1, float noundef %y1, float noundef %x2, float noundef %y2, float noundef %objspace_flatness_squared, i32 noundef %n) unnamed_addr #34 { +define internal fastcc void @_ZL22stbtt__tesselate_curveP12stbtt__pointPifffffffi(ptr noundef captures(address_is_null) %points, ptr noundef nonnull captures(none) %num_points, float noundef %x0, float noundef %y0, float noundef %x1, float noundef %y1, float noundef %x2, float noundef %y2, float noundef %objspace_flatness_squared, i32 noundef %n) unnamed_addr #34 { entry: %cmp44 = icmp sgt i32 %n, 16 br i1 %cmp44, label %return, label %if.end.preheader @@ -30817,7 +30817,7 @@ return: ; preds = %if.then10, %entry, } ; Function Attrs: mustprogress nofree nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc void @_ZL22stbtt__tesselate_cubicP12stbtt__pointPifffffffffi(ptr noundef %points, ptr noundef nonnull captures(none) %num_points, float noundef %x0, float noundef %y0, float noundef %x1, float noundef %y1, float noundef %x2, float noundef %y2, float noundef %x3, float noundef %y3, float noundef %objspace_flatness_squared, i32 noundef %n) unnamed_addr #34 { +define internal fastcc void @_ZL22stbtt__tesselate_cubicP12stbtt__pointPifffffffffi(ptr noundef captures(address_is_null) %points, ptr noundef nonnull captures(none) %num_points, float noundef %x0, float noundef %y0, float noundef %x1, float noundef %y1, float noundef %x2, float noundef %y2, float noundef %x3, float noundef %y3, float noundef %objspace_flatness_squared, i32 noundef %n) unnamed_addr #34 { entry: %smax = tail call i32 @llvm.smax.i32(i32 %n, i32 17) %exitcond62 = icmp sgt i32 %n, 16 diff --git a/bench/imgui/optimized/imgui_widgets.ll b/bench/imgui/optimized/imgui_widgets.ll index 8993ee3e132..9e53d7409f9 100644 --- a/bench/imgui/optimized/imgui_widgets.ll +++ b/bench/imgui/optimized/imgui_widgets.ll @@ -1100,7 +1100,7 @@ declare noundef i32 @_ZN5ImGui11GetColorU32Eif(i32 noundef, float noundef) local declare void @_ZN5ImGui12RenderBulletEP10ImDrawList6ImVec2j(ptr noundef, <2 x float>, i32 noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui14ButtonBehaviorERK6ImRectjPbS3_i(ptr noundef nonnull align 4 dereferenceable(16) %bb, i32 noundef %id, ptr noundef writeonly %out_hovered, ptr noundef writeonly %out_held, i32 noundef %flags) local_unnamed_addr #0 { +define noundef zeroext i1 @_ZN5ImGui14ButtonBehaviorERK6ImRectjPbS3_i(ptr noundef nonnull align 4 dereferenceable(16) %bb, i32 noundef %id, ptr noundef writeonly captures(address_is_null) %out_hovered, ptr noundef writeonly captures(address_is_null) %out_held, i32 noundef %flags) local_unnamed_addr #0 { entry: %0 = load ptr, ptr @GImGui, align 8 %CurrentWindow.i = getelementptr inbounds nuw i8, ptr %0, i64 16392 @@ -6218,7 +6218,7 @@ while.end: ; preds = %while.body, %entry } ; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read) uwtable -define internal noundef ptr @_ZL24Items_SingleStringGetterPvi(ptr noundef readonly %data, i32 noundef %idx) #10 { +define internal noundef ptr @_ZL24Items_SingleStringGetterPvi(ptr noundef readonly captures(ret: address, provenance) %data, i32 noundef %idx) #10 { entry: %0 = load i8, ptr %data, align 1 %tobool.not6 = icmp eq i8 %0, 0 @@ -7041,7 +7041,7 @@ sw.epilog: ; preds = %if.then77, %if.then } ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN5ImGui21DataTypeApplyFromTextEPKciPvS1_(ptr noundef readonly captures(none) %buf, i32 noundef %data_type, ptr noundef %p_data, ptr noundef readonly %format) local_unnamed_addr #13 { +define noundef zeroext i1 @_ZN5ImGui21DataTypeApplyFromTextEPKciPvS1_(ptr noundef readonly captures(none) %buf, i32 noundef %data_type, ptr noundef %p_data, ptr noundef readonly captures(address) %format) local_unnamed_addr #13 { entry: %data_backup = alloca %struct.ImGuiDataTypeTempStorage, align 1 %format_sanitized = alloca [32 x i8], align 16 @@ -7247,7 +7247,7 @@ return: ; preds = %while.cond, %if.end } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define noundef ptr @_Z32ImParseFormatSanitizeForScanningPKcPcm(ptr noundef readonly %fmt_in, ptr noundef returned writeonly %fmt_out, i64 noundef %fmt_out_size) local_unnamed_addr #14 { +define noundef ptr @_Z32ImParseFormatSanitizeForScanningPKcPcm(ptr noundef readonly captures(address) %fmt_in, ptr noundef returned writeonly captures(ret: address, provenance) %fmt_out, i64 noundef %fmt_out_size) local_unnamed_addr #14 { entry: %0 = load i8, ptr %fmt_in, align 1 %cmp.not.i = icmp eq i8 %0, 37 @@ -7448,7 +7448,7 @@ return: ; preds = %entry, %sw.bb17, %s } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define noundef zeroext i1 @_ZN5ImGui13DataTypeClampEiPvPKvS2_(i32 noundef %data_type, ptr noundef captures(none) %p_data, ptr noundef readonly %p_min, ptr noundef readonly %p_max) local_unnamed_addr #12 { +define noundef zeroext i1 @_ZN5ImGui13DataTypeClampEiPvPKvS2_(i32 noundef %data_type, ptr noundef captures(none) %p_data, ptr noundef readonly captures(address_is_null) %p_min, ptr noundef readonly captures(address_is_null) %p_max) local_unnamed_addr #12 { entry: switch i32 %data_type, label %return [ i32 0, label %sw.bb @@ -7719,7 +7719,7 @@ return: ; preds = %return.sink.split.i } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui12DragBehaviorEjiPvfPKvS2_PKci(i32 noundef %id, i32 noundef %data_type, ptr noundef %p_v, float noundef %v_speed, ptr noundef readonly %p_min, ptr noundef readonly %p_max, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #5 { +define noundef zeroext i1 @_ZN5ImGui12DragBehaviorEjiPvfPKvS2_PKci(i32 noundef %id, i32 noundef %data_type, ptr noundef %p_v, float noundef %v_speed, ptr noundef readonly captures(address_is_null) %p_min, ptr noundef readonly captures(address_is_null) %p_max, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #5 { entry: %v32 = alloca i32, align 4 %v3238 = alloca i32, align 4 @@ -11243,7 +11243,7 @@ return: ; preds = %if.end100.thread185 } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, float noundef %v_speed, ptr noundef %p_min, ptr noundef %p_max, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #0 { +define noundef zeroext i1 @_ZN5ImGui10DragScalarEPKciPvfPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, float noundef %v_speed, ptr noundef captures(address_is_null) %p_min, ptr noundef captures(address_is_null) %p_max, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #0 { entry: %ref.tmp.i = alloca %struct.ImVec2, align 8 %frame_bb = alloca %struct.ImRect, align 8 @@ -11628,7 +11628,7 @@ return: ; preds = %if.end149, %if.then declare noundef zeroext i1 @_ZN5ImGui24IsMouseDragPastThresholdEif(i32 noundef, float noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui15TempInputScalarERK6ImRectjPKciPvS4_PKvS7_(ptr noundef nonnull readonly align 4 captures(none) dereferenceable(16) %bb, i32 noundef %id, ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, ptr noundef %format, ptr noundef %p_clamp_min, ptr noundef %p_clamp_max) local_unnamed_addr #0 { +define noundef zeroext i1 @_ZN5ImGui15TempInputScalarERK6ImRectjPKciPvS4_PKvS7_(ptr noundef nonnull readonly align 4 captures(none) dereferenceable(16) %bb, i32 noundef %id, ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, ptr noundef %format, ptr noundef captures(address_is_null) %p_clamp_min, ptr noundef captures(address_is_null) %p_clamp_max) local_unnamed_addr #0 { entry: %ref.tmp.i = alloca %struct.ImVec2, align 8 %fmt_buf = alloca [32 x i8], align 16 @@ -11903,7 +11903,7 @@ if.end27: ; preds = %if.end21, %if.then2 } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui11DragScalarNEPKciPvifPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, i32 noundef %components, float noundef %v_speed, ptr noundef %p_min, ptr noundef %p_max, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #5 { +define noundef zeroext i1 @_ZN5ImGui11DragScalarNEPKciPvifPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, i32 noundef %components, float noundef %v_speed, ptr noundef captures(address_is_null) %p_min, ptr noundef captures(address_is_null) %p_max, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #5 { entry: %0 = load ptr, ptr @GImGui, align 8 %CurrentWindow.i = getelementptr inbounds nuw i8, ptr %0, i64 16392 @@ -16509,7 +16509,7 @@ if.end270: ; preds = %if.then249, %if.els } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, ptr noundef %p_min, ptr noundef %p_max, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #0 { +define noundef zeroext i1 @_ZN5ImGui12SliderScalarEPKciPvPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, ptr noundef captures(address_is_null) %p_min, ptr noundef captures(address_is_null) %p_max, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #0 { entry: %ref.tmp.i = alloca %struct.ImVec2, align 8 %frame_bb = alloca %struct.ImRect, align 8 @@ -16757,7 +16757,7 @@ return: ; preds = %if.end117, %if.then } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui13SliderScalarNEPKciPviPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %v, i32 noundef %components, ptr noundef %v_min, ptr noundef %v_max, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #5 { +define noundef zeroext i1 @_ZN5ImGui13SliderScalarNEPKciPviPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %v, i32 noundef %components, ptr noundef captures(address_is_null) %v_min, ptr noundef captures(address_is_null) %v_max, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #5 { entry: %0 = load ptr, ptr @GImGui, align 8 %CurrentWindow.i = getelementptr inbounds nuw i8, ptr %0, i64 16392 @@ -17158,7 +17158,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef ptr @_Z22ImParseFormatFindStartPKc(ptr noundef readonly %fmt) local_unnamed_addr #9 { +define noundef ptr @_Z22ImParseFormatFindStartPKc(ptr noundef readonly captures(ret: address, provenance) %fmt) local_unnamed_addr #9 { entry: %0 = load i8, ptr %fmt, align 1 %tobool.not8 = icmp eq i8 %0, 0 @@ -17190,7 +17190,7 @@ return: ; preds = %land.lhs.true, %if. } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef ptr @_Z20ImParseFormatFindEndPKc(ptr noundef readonly %fmt) local_unnamed_addr #9 { +define noundef ptr @_Z20ImParseFormatFindEndPKc(ptr noundef readonly captures(ret: address, provenance) %fmt) local_unnamed_addr #9 { entry: %0 = load i8, ptr %fmt, align 1 %cmp.not = icmp eq i8 %0, 37 @@ -17327,7 +17327,7 @@ return: ; preds = %if.else.i, %for.inc declare void @_Z9ImStrncpyPcPKcm(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define void @_Z32ImParseFormatSanitizeForPrintingPKcPcm(ptr noundef readonly %fmt_in, ptr noundef writeonly captures(none) %fmt_out, i64 noundef %fmt_out_size) local_unnamed_addr #14 { +define void @_Z32ImParseFormatSanitizeForPrintingPKcPcm(ptr noundef readonly captures(address) %fmt_in, ptr noundef writeonly captures(none) %fmt_out, i64 noundef %fmt_out_size) local_unnamed_addr #14 { entry: %0 = load i8, ptr %fmt_in, align 1 %cmp.not.i = icmp eq i8 %0, 37 @@ -21054,7 +21054,7 @@ return: ; preds = %if.end1869, %if.the declare void @_Z15ImStrTrimBlanksPc(ptr noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, ptr noundef readonly %p_step, ptr noundef readonly %p_step_fast, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #5 { +define noundef zeroext i1 @_ZN5ImGui11InputScalarEPKciPvPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, ptr noundef readonly captures(address_is_null) %p_step, ptr noundef readonly captures(address_is_null) %p_step_fast, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #5 { entry: %ref.tmp.i53 = alloca %struct.ImVec2, align 4 %ref.tmp.i = alloca %struct.ImVec2, align 4 @@ -21270,7 +21270,7 @@ declare void @_ZN5ImGui13BeginDisabledEb(i1 noundef zeroext) local_unnamed_addr declare void @_ZN5ImGui11EndDisabledEv() local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui12InputScalarNEPKciPviPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, i32 noundef %components, ptr noundef %p_step, ptr noundef %p_step_fast, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #5 { +define noundef zeroext i1 @_ZN5ImGui12InputScalarNEPKciPviPKvS4_S1_i(ptr noundef %label, i32 noundef %data_type, ptr noundef %p_data, i32 noundef %components, ptr noundef captures(address_is_null) %p_step, ptr noundef captures(address_is_null) %p_step_fast, ptr noundef %format, i32 noundef %flags) local_unnamed_addr #5 { entry: %0 = load ptr, ptr @GImGui, align 8 %CurrentWindow.i = getelementptr inbounds nuw i8, ptr %0, i64 16392 @@ -24400,7 +24400,7 @@ declare noundef ptr @_ZN5ImGui16GetClipboardTextEv() local_unnamed_addr #2 declare noundef i32 @_Z18ImTextCharFromUtf8PjPKcS1_(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN5ImStbL18stb_textedit_pasteEP19ImGuiInputTextStatePNS_17STB_TexteditStateEPKti(ptr noundef captures(none) %str, ptr noundef %state, ptr noundef %ctext, i32 noundef range(i32 1, -2147483648) %len) unnamed_addr #5 { +define internal fastcc void @_ZN5ImStbL18stb_textedit_pasteEP19ImGuiInputTextStatePNS_17STB_TexteditStateEPKti(ptr noundef captures(none) %str, ptr noundef captures(address_is_null) %state, ptr noundef %ctext, i32 noundef range(i32 1, -2147483648) %len) unnamed_addr #5 { entry: %0 = getelementptr i8, ptr %str, i64 12 %str.val.i = load i32, ptr %0, align 4 @@ -24468,7 +24468,7 @@ _ZN5ImStbL27stb_textedit_paste_internalEP19ImGuiInputTextStatePNS_17STB_Textedit } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN5ImStbL20stb_textedit_replaceEP19ImGuiInputTextStatePNS_17STB_TexteditStateEPKti(ptr noundef captures(none) %str, ptr noundef initializes((3616, 3618), (3624, 3628)) %state, ptr noundef %text, i32 noundef range(i32 -2147483648, 2147483647) %text_len) unnamed_addr #5 { +define internal fastcc void @_ZN5ImStbL20stb_textedit_replaceEP19ImGuiInputTextStatePNS_17STB_TexteditStateEPKti(ptr noundef captures(none) %str, ptr noundef captures(address_is_null) initializes((3616, 3618), (3624, 3628)) %state, ptr noundef %text, i32 noundef range(i32 -2147483648, 2147483647) %text_len) unnamed_addr #5 { entry: %CurLenW = getelementptr inbounds nuw i8, ptr %str, i64 12 %0 = load i32, ptr %CurLenW, align 4 @@ -24586,7 +24586,7 @@ terminate.lpad: ; preds = %if.then } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZL44InputTextReconcileUndoStateAfterUserCallbackP19ImGuiInputTextStatePKci(ptr noundef %state, ptr noundef %new_buf_a, i32 noundef %new_length_a) unnamed_addr #5 { +define internal fastcc void @_ZL44InputTextReconcileUndoStateAfterUserCallbackP19ImGuiInputTextStatePKci(ptr noundef captures(address_is_null) %state, ptr noundef %new_buf_a, i32 noundef %new_length_a) unnamed_addr #5 { entry: %0 = load ptr, ptr @GImGui, align 8 %Data = getelementptr inbounds nuw i8, ptr %state, i64 32 @@ -26266,7 +26266,7 @@ declare void @_ZN5ImGui9OpenPopupEPKci(ptr noundef, i32 noundef) local_unnamed_a declare noundef zeroext i1 @_ZN5ImGui10BeginPopupEPKci(ptr noundef, i32 noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef %label, ptr noundef %col, i32 noundef %flags, ptr noundef readonly %ref_col) local_unnamed_addr #0 { +define noundef zeroext i1 @_ZN5ImGui12ColorPicker4EPKcPfiPKf(ptr noundef %label, ptr noundef %col, i32 noundef %flags, ptr noundef readonly captures(address_is_null) %ref_col) local_unnamed_addr #0 { entry: %ref.tmp.i512 = alloca %struct.ImVec4, align 4 %size.i474 = alloca %struct.ImVec2, align 8 @@ -29735,7 +29735,7 @@ return: ; preds = %entry, %if.end } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKcPbi(ptr noundef %label, ptr noundef %p_visible, i32 noundef %flags) local_unnamed_addr #5 { +define noundef zeroext i1 @_ZN5ImGui16CollapsingHeaderEPKcPbi(ptr noundef %label, ptr noundef captures(address_is_null) %p_visible, i32 noundef %flags) local_unnamed_addr #5 { entry: %last_item_backup = alloca %struct.ImGuiLastItemData, align 4 %ref.tmp = alloca %struct.ImVec2, align 4 @@ -30159,7 +30159,7 @@ declare noundef ptr @_Z31ImTextFindPreviousUtf8CodepointPKcS0_(ptr noundef, ptr declare noundef i32 @_Z28ImTextCountUtf8BytesFromCharPKcS0_(ptr noundef, ptr noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define noundef i32 @_ZN5ImGui21TypingSelectFindMatchEP24ImGuiTypingSelectRequestiPFPKcPviES4_i(ptr noundef readonly %req, i32 noundef %items_count, ptr noundef readonly captures(none) %get_item_name_func, ptr noundef %user_data, i32 noundef %nav_item_idx) local_unnamed_addr #5 { +define noundef i32 @_ZN5ImGui21TypingSelectFindMatchEP24ImGuiTypingSelectRequestiPFPKcPviES4_i(ptr noundef readonly captures(address_is_null) %req, i32 noundef %items_count, ptr noundef readonly captures(none) %get_item_name_func, ptr noundef %user_data, i32 noundef %nav_item_idx) local_unnamed_addr #5 { entry: %cmp = icmp eq ptr %req, null br i1 %cmp, label %return, label %lor.lhs.false @@ -31875,7 +31875,7 @@ return: ; preds = %entry, %if.end26 declare void @_ZN5ImGui21NavMoveRequestForwardEiiii(i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui20BeginViewportSideBarEPKcP13ImGuiViewportifi(ptr noundef %name, ptr noundef %viewport_p, i32 noundef %dir, float noundef %axis_size, i32 noundef %window_flags) local_unnamed_addr #0 { +define noundef zeroext i1 @_ZN5ImGui20BeginViewportSideBarEPKcP13ImGuiViewportifi(ptr noundef %name, ptr noundef captures(address_is_null) %viewport_p, i32 noundef %dir, float noundef %axis_size, i32 noundef %window_flags) local_unnamed_addr #0 { entry: %avail_rect = alloca %struct.ImRect, align 4 %pos = alloca %struct.ImVec2, align 8 @@ -33226,7 +33226,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %label, ptr noundef %shortcut, ptr noundef %p_selected, i1 noundef zeroext %enabled) local_unnamed_addr #5 { +define noundef zeroext i1 @_ZN5ImGui8MenuItemEPKcS1_Pbb(ptr noundef %label, ptr noundef %shortcut, ptr noundef captures(address_is_null) %p_selected, i1 noundef zeroext %enabled) local_unnamed_addr #5 { entry: %tobool.not = icmp eq ptr %p_selected, null br i1 %tobool.not, label %cond.end.thread, label %cond.end @@ -35688,7 +35688,7 @@ return: ; preds = %for.cond.i, %for.co declare void @_ZN5ImGui20MarkIniSettingsDirtyEv() local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui12BeginTabItemEPKcPbi(ptr noundef %label, ptr noundef %p_open, i32 noundef %flags) local_unnamed_addr #5 { +define noundef zeroext i1 @_ZN5ImGui12BeginTabItemEPKcPbi(ptr noundef %label, ptr noundef captures(address_is_null) %p_open, i32 noundef %flags) local_unnamed_addr #5 { entry: %0 = load ptr, ptr @GImGui, align 8 %CurrentWindow = getelementptr inbounds nuw i8, ptr %0, i64 16392 @@ -35728,7 +35728,7 @@ return: ; preds = %if.end2, %if.then5, } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN5ImGui9TabItemExEP11ImGuiTabBarPKcPbiP11ImGuiWindow(ptr noundef %tab_bar, ptr noundef %label, ptr noundef %p_open, i32 noundef %flags, ptr noundef readnone %docked_window) local_unnamed_addr #0 { +define noundef zeroext i1 @_ZN5ImGui9TabItemExEP11ImGuiTabBarPKcPbiP11ImGuiWindow(ptr noundef %tab_bar, ptr noundef %label, ptr noundef captures(address_is_null) %p_open, i32 noundef %flags, ptr noundef readnone captures(address_is_null) %docked_window) local_unnamed_addr #0 { entry: %backup_next_item_data = alloca %struct.ImGuiNextItemData, align 8 %ref.tmp = alloca %struct.ImRect, align 4 @@ -36874,7 +36874,7 @@ declare noundef zeroext i1 @_ZN5ImGui14IsMouseClickedEib(i32 noundef, i1 noundef declare noundef zeroext i1 @_ZN5ImGui15IsMouseReleasedEi(i32 noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define void @_ZN5ImGui26TabItemLabelAndCloseButtonEP10ImDrawListRK6ImRecti6ImVec2PKcjjbPbS8_(ptr noundef %draw_list, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(16) %bb, i32 noundef %flags, <2 x float> %frame_padding.coerce, ptr noundef %label, i32 noundef %tab_id, i32 noundef %close_button_id, i1 noundef zeroext %is_contents_visible, ptr noundef writeonly %out_just_closed, ptr noundef writeonly %out_text_clipped) local_unnamed_addr #0 { +define void @_ZN5ImGui26TabItemLabelAndCloseButtonEP10ImDrawListRK6ImRecti6ImVec2PKcjjbPbS8_(ptr noundef %draw_list, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(16) %bb, i32 noundef %flags, <2 x float> %frame_padding.coerce, ptr noundef %label, i32 noundef %tab_id, i32 noundef %close_button_id, i1 noundef zeroext %is_contents_visible, ptr noundef writeonly captures(address_is_null) %out_just_closed, ptr noundef writeonly captures(address_is_null) %out_text_clipped) local_unnamed_addr #0 { entry: %label_size = alloca %struct.ImVec2, align 8 %text_ellipsis_clip_bb = alloca %struct.ImRect, align 4 @@ -37300,7 +37300,7 @@ return: ; preds = %if.end, %land.lhs.t } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN5ImStbL29stb_textedit_delete_selectionEP19ImGuiInputTextStatePNS_17STB_TexteditStateE(ptr noundef captures(none) %str, ptr noundef %state) unnamed_addr #5 { +define internal fastcc void @_ZN5ImStbL29stb_textedit_delete_selectionEP19ImGuiInputTextStatePNS_17STB_TexteditStateE(ptr noundef captures(none) %str, ptr noundef captures(address_is_null) %state) unnamed_addr #5 { entry: %0 = getelementptr i8, ptr %str, i64 12 %str.val = load i32, ptr %0, align 4 @@ -37877,7 +37877,7 @@ for.end39: ; preds = %_ZN5ImStbL21STB_TEX } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN5ImStbL19stb_textedit_deleteEP19ImGuiInputTextStatePNS_17STB_TexteditStateEii(ptr noundef captures(none) %str, ptr noundef initializes((3616, 3618), (3624, 3628)) %state, i32 noundef %where, i32 noundef %len) unnamed_addr #5 { +define internal fastcc void @_ZN5ImStbL19stb_textedit_deleteEP19ImGuiInputTextStatePNS_17STB_TexteditStateEii(ptr noundef captures(none) %str, ptr noundef captures(address_is_null) initializes((3616, 3618), (3624, 3628)) %state, i32 noundef %where, i32 noundef %len) unnamed_addr #5 { entry: %undostate.i = getelementptr inbounds nuw i8, ptr %state, i64 32 %call.i = tail call fastcc noundef ptr @_ZN5ImStbL19stb_text_createundoEPNS_12StbUndoStateEiii(ptr noundef nonnull %undostate.i, i32 noundef %where, i32 noundef %len, i32 noundef 0) @@ -37953,7 +37953,7 @@ _ZN5ImStbL24STB_TEXTEDIT_DELETECHARSEP19ImGuiInputTextStateii.exit: ; preds = %w } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite, inaccessiblemem: write) uwtable -define internal fastcc noundef ptr @_ZN5ImStbL19stb_text_createundoEPNS_12StbUndoStateEiii(ptr noundef initializes((3584, 3586), (3592, 3596)) %state, i32 noundef %pos, i32 noundef %insert_len, i32 noundef %delete_len) unnamed_addr #28 { +define internal fastcc noundef ptr @_ZN5ImStbL19stb_text_createundoEPNS_12StbUndoStateEiii(ptr noundef captures(ret: address, provenance) initializes((3584, 3586), (3592, 3596)) %state, i32 noundef %pos, i32 noundef %insert_len, i32 noundef %delete_len) unnamed_addr #28 { entry: %redo_point.i.i = getelementptr inbounds nuw i8, ptr %state, i64 3584 store i16 99, ptr %redo_point.i.i, align 4 diff --git a/bench/jsonnet/optimized/rapidyaml.ll b/bench/jsonnet/optimized/rapidyaml.ll index 01da8494ff6..4480e09d029 100644 --- a/bench/jsonnet/optimized/rapidyaml.ll +++ b/bench/jsonnet/optimized/rapidyaml.ll @@ -1232,7 +1232,7 @@ define dso_local noundef range(i64 0, 5) i64 @_ZN2c417decode_code_pointEPhmj(ptr } ; Function Attrs: mustprogress uwtable -define dso_local { ptr, i64 } @_ZN2c417decode_code_pointENS_15basic_substringIcEENS0_IKcEE(ptr %0, i64 %1, ptr readonly %2, i64 %3) local_unnamed_addr #1 personality ptr @__gxx_personality_v0 { +define dso_local { ptr, i64 } @_ZN2c417decode_code_pointENS_15basic_substringIcEENS0_IKcEE(ptr %0, i64 %1, ptr readonly captures(address) %2, i64 %3) local_unnamed_addr #1 personality ptr @__gxx_personality_v0 { %5 = getelementptr inbounds i8, ptr %2, i64 %3 %.not.not54 = icmp eq i64 %3, 0 br i1 %.not.not54, label %.critedge.thread, label %.lr.ph @@ -1354,7 +1354,7 @@ _ZN2c417decode_code_pointEPhmj.exit: ; preds = %.critedge.thread, % } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define dso_local noundef zeroext i1 @_ZN2c412base64_validENS_15basic_substringIKcEE(ptr readonly %0, i64 %1) local_unnamed_addr #10 { +define dso_local noundef zeroext i1 @_ZN2c412base64_validENS_15basic_substringIKcEE(ptr readonly captures(address) %0, i64 %1) local_unnamed_addr #10 { %3 = and i64 %1, 3 %.not = icmp eq i64 %3, 0 br i1 %.not, label %4, label %.loopexit @@ -1609,7 +1609,7 @@ define dso_local noundef i64 @_ZN2c413base64_encodeENS_15basic_substringIcEENS_5 } ; Function Attrs: mustprogress uwtable -define dso_local noundef i64 @_ZN2c413base64_decodeENS_15basic_substringIKcEENS_5blob_IcEE(ptr readonly %0, i64 %1, ptr writeonly captures(none) %2, i64 %3) local_unnamed_addr #1 { +define dso_local noundef i64 @_ZN2c413base64_decodeENS_15basic_substringIKcEENS_5blob_IcEE(ptr readonly captures(address) %0, i64 %1, ptr writeonly captures(none) %2, i64 %3) local_unnamed_addr #1 { %5 = and i64 %1, 3 %.not = icmp eq i64 %5, 0 br i1 %.not, label %6, label %.thread @@ -1926,7 +1926,7 @@ declare noundef ptr @strstr(ptr noundef, ptr noundef captures(none)) local_unnam declare i32 @atoi(ptr noundef captures(none)) local_unnamed_addr #18 ; Function Attrs: mustprogress nofree nounwind uwtable -define dso_local void @_ZN2c43yml17report_error_implEPKcmNS0_8LocationEP8_IO_FILE(ptr noundef %0, i64 noundef %1, ptr noundef readonly byval(%"struct.c4::yml::Location") align 8 captures(none) %2, ptr noundef %3) local_unnamed_addr #19 { +define dso_local void @_ZN2c43yml17report_error_implEPKcmNS0_8LocationEP8_IO_FILE(ptr noundef %0, i64 noundef %1, ptr noundef readonly byval(%"struct.c4::yml::Location") align 8 captures(none) %2, ptr noundef captures(address_is_null) %3) local_unnamed_addr #19 { %.not = icmp eq ptr %3, null %5 = load ptr, ptr @stderr, align 8 %spec.select = select i1 %.not, ptr %5, ptr %3 @@ -4035,7 +4035,7 @@ define dso_local void @_ZN2c43yml4Tree5_copyERKS1_(ptr noundef nonnull align 8 c } ; Function Attrs: mustprogress nounwind uwtable -define dso_local noundef nonnull align 8 dereferenceable(256) ptr @_ZN2c43yml4TreeaSERKS1_(ptr noundef nonnull returned align 8 dereferenceable(256) initializes((16, 40), (56, 64), (96, 256)) %0, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(256) %1) local_unnamed_addr #24 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef nonnull align 8 dereferenceable(256) ptr @_ZN2c43yml4TreeaSERKS1_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(256) initializes((16, 40), (56, 64), (96, 256)) %0, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(256) %1) local_unnamed_addr #24 align 2 personality ptr @__gxx_personality_v0 { invoke void @_ZN2c43yml4Tree5_freeEv(ptr noundef nonnull align 8 dereferenceable(256) %0) to label %3 unwind label %7 @@ -4215,7 +4215,7 @@ _ZN2c43yml4Tree6_clearEv.exit: ; preds = %66 } ; Function Attrs: mustprogress nounwind uwtable -define dso_local noundef nonnull align 8 dereferenceable(256) ptr @_ZN2c43yml4TreeaSEOS1_(ptr noundef nonnull returned align 8 dereferenceable(256) initializes((16, 40), (56, 64), (96, 256)) %0, ptr noundef nonnull align 8 captures(none) dereferenceable(256) %1) local_unnamed_addr #24 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef nonnull align 8 dereferenceable(256) ptr @_ZN2c43yml4TreeaSEOS1_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(256) initializes((16, 40), (56, 64), (96, 256)) %0, ptr noundef nonnull align 8 captures(none) dereferenceable(256) %1) local_unnamed_addr #24 align 2 personality ptr @__gxx_personality_v0 { invoke void @_ZN2c43yml4Tree5_freeEv(ptr noundef nonnull align 8 dereferenceable(256) %0) to label %3 unwind label %7 @@ -7931,7 +7931,7 @@ _ZN2c43yml4Tree14_rem_hierarchyEm.exit: ; preds = %123, %125 } ; Function Attrs: mustprogress uwtable -define dso_local noundef i64 @_ZN2c43yml4Tree4moveEPS1_mmm(ptr noundef nonnull align 8 captures(none) dereferenceable(256) %0, ptr noundef %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) local_unnamed_addr #1 align 2 { +define dso_local noundef i64 @_ZN2c43yml4Tree4moveEPS1_mmm(ptr noundef nonnull align 8 captures(none) dereferenceable(256) %0, ptr noundef captures(address_is_null) %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) local_unnamed_addr #1 align 2 { %6 = alloca [31 x i8], align 16 %7 = alloca %"struct.c4::yml::Location", align 8 %8 = alloca [29 x i8], align 16 @@ -8035,7 +8035,7 @@ define dso_local noundef i64 @_ZN2c43yml4Tree4moveEPS1_mmm(ptr noundef nonnull a } ; Function Attrs: mustprogress uwtable -define dso_local noundef i64 @_ZN2c43yml4Tree9duplicateEPKS1_mmm(ptr noundef nonnull align 8 captures(none) dereferenceable(256) %0, ptr noundef %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) local_unnamed_addr #1 align 2 { +define dso_local noundef i64 @_ZN2c43yml4Tree9duplicateEPKS1_mmm(ptr noundef nonnull align 8 captures(none) dereferenceable(256) %0, ptr noundef captures(address_is_null) %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) local_unnamed_addr #1 align 2 { %6 = alloca [31 x i8], align 16 %7 = alloca %"struct.c4::yml::Location", align 8 %8 = alloca [29 x i8], align 16 @@ -8571,13 +8571,13 @@ define dso_local noundef zeroext i1 @_ZN2c43yml4Tree11change_typeEmNS0_8NodeType } ; Function Attrs: mustprogress uwtable -define dso_local noundef i64 @_ZN2c43yml4Tree9duplicateEmmm(ptr noundef nonnull align 8 dereferenceable(256) %0, i64 noundef %1, i64 noundef %2, i64 noundef %3) local_unnamed_addr #1 align 2 { +define dso_local noundef i64 @_ZN2c43yml4Tree9duplicateEmmm(ptr noundef nonnull align 8 captures(address_is_null) dereferenceable(256) %0, i64 noundef %1, i64 noundef %2, i64 noundef %3) local_unnamed_addr #1 align 2 { %5 = tail call noundef i64 @_ZN2c43yml4Tree9duplicateEPKS1_mmm(ptr noundef nonnull align 8 dereferenceable(256) %0, ptr noundef nonnull %0, i64 noundef %1, i64 noundef %2, i64 noundef %3) ret i64 %5 } ; Function Attrs: mustprogress uwtable -define dso_local noundef i64 @_ZN2c43yml4Tree18duplicate_childrenEPKS1_mmm(ptr noundef nonnull align 8 captures(none) dereferenceable(256) %0, ptr noundef %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) local_unnamed_addr #1 align 2 { +define dso_local noundef i64 @_ZN2c43yml4Tree18duplicate_childrenEPKS1_mmm(ptr noundef nonnull align 8 captures(none) dereferenceable(256) %0, ptr noundef captures(address_is_null) %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) local_unnamed_addr #1 align 2 { %6 = alloca [31 x i8], align 16 %7 = alloca %"struct.c4::yml::Location", align 8 %8 = alloca [29 x i8], align 16 @@ -8703,19 +8703,19 @@ define dso_local noundef i64 @_ZN2c43yml4Tree18duplicate_childrenEPKS1_mmm(ptr n } ; Function Attrs: mustprogress uwtable -define dso_local noundef i64 @_ZN2c43yml4Tree18duplicate_childrenEmmm(ptr noundef nonnull align 8 dereferenceable(256) %0, i64 noundef %1, i64 noundef %2, i64 noundef %3) local_unnamed_addr #1 align 2 { +define dso_local noundef i64 @_ZN2c43yml4Tree18duplicate_childrenEmmm(ptr noundef nonnull align 8 captures(address_is_null) dereferenceable(256) %0, i64 noundef %1, i64 noundef %2, i64 noundef %3) local_unnamed_addr #1 align 2 { %5 = tail call noundef i64 @_ZN2c43yml4Tree18duplicate_childrenEPKS1_mmm(ptr noundef nonnull align 8 dereferenceable(256) %0, ptr noundef nonnull %0, i64 noundef %1, i64 noundef %2, i64 noundef %3) ret i64 %5 } ; Function Attrs: mustprogress uwtable -define dso_local void @_ZN2c43yml4Tree18duplicate_contentsEmm(ptr noundef nonnull align 8 dereferenceable(256) %0, i64 noundef %1, i64 noundef %2) local_unnamed_addr #1 align 2 { +define dso_local void @_ZN2c43yml4Tree18duplicate_contentsEmm(ptr noundef nonnull align 8 captures(address_is_null) dereferenceable(256) %0, i64 noundef %1, i64 noundef %2) local_unnamed_addr #1 align 2 { tail call void @_ZN2c43yml4Tree18duplicate_contentsEPKS1_mm(ptr noundef nonnull align 8 dereferenceable(256) %0, ptr noundef nonnull %0, i64 noundef %1, i64 noundef %2) ret void } ; Function Attrs: mustprogress uwtable -define dso_local void @_ZN2c43yml4Tree18duplicate_contentsEPKS1_mm(ptr noundef nonnull align 8 captures(none) dereferenceable(256) %0, ptr noundef %1, i64 noundef %2, i64 noundef %3) local_unnamed_addr #1 align 2 { +define dso_local void @_ZN2c43yml4Tree18duplicate_contentsEPKS1_mm(ptr noundef nonnull align 8 captures(none) dereferenceable(256) %0, ptr noundef captures(address_is_null) %1, i64 noundef %2, i64 noundef %3) local_unnamed_addr #1 align 2 { %5 = alloca [31 x i8], align 16 %6 = alloca %"struct.c4::yml::Location", align 8 %7 = alloca [29 x i8], align 16 @@ -8829,13 +8829,13 @@ define dso_local void @_ZN2c43yml4Tree18duplicate_contentsEPKS1_mm(ptr noundef n } ; Function Attrs: mustprogress uwtable -define dso_local noundef i64 @_ZN2c43yml4Tree25duplicate_children_no_repEmmm(ptr noundef nonnull align 8 dereferenceable(256) %0, i64 noundef %1, i64 noundef %2, i64 noundef %3) local_unnamed_addr #1 align 2 { +define dso_local noundef i64 @_ZN2c43yml4Tree25duplicate_children_no_repEmmm(ptr noundef nonnull align 8 captures(address_is_null) dereferenceable(256) %0, i64 noundef %1, i64 noundef %2, i64 noundef %3) local_unnamed_addr #1 align 2 { %5 = tail call noundef i64 @_ZN2c43yml4Tree25duplicate_children_no_repEPKS1_mmm(ptr noundef nonnull align 8 dereferenceable(256) %0, ptr noundef nonnull %0, i64 noundef %1, i64 noundef %2, i64 noundef %3) ret i64 %5 } ; Function Attrs: mustprogress uwtable -define dso_local noundef i64 @_ZN2c43yml4Tree25duplicate_children_no_repEPKS1_mmm(ptr noundef nonnull align 8 dereferenceable(256) %0, ptr noundef %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) local_unnamed_addr #1 align 2 { +define dso_local noundef i64 @_ZN2c43yml4Tree25duplicate_children_no_repEPKS1_mmm(ptr noundef nonnull align 8 captures(address_is_null) dereferenceable(256) %0, ptr noundef captures(address_is_null) %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) local_unnamed_addr #1 align 2 { %6 = alloca [29 x i8], align 16 %7 = alloca %"struct.c4::yml::Location", align 8 %8 = alloca [31 x i8], align 16 @@ -11920,7 +11920,7 @@ _ZNK2c415basic_substringIKcE5trimrEc.exit: ; preds = %10, %.preheader.i, } ; Function Attrs: mustprogress uwtable -define dso_local noundef i64 @_ZNK2c43yml4Tree11resolve_tagENS_15basic_substringIcEENS2_IKcEEm(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(256) %0, ptr writeonly captures(none) %1, i64 %2, ptr readonly %3, i64 %4, i64 noundef %5) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef i64 @_ZNK2c43yml4Tree11resolve_tagENS_15basic_substringIcEENS2_IKcEEm(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(256) %0, ptr writeonly captures(none) %1, i64 %2, ptr readonly captures(address) %3, i64 %4, i64 noundef %5) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 { %7 = alloca [28 x i8], align 16 %8 = alloca %"struct.c4::yml::Location", align 8 %9 = alloca [27 x i8], align 16 @@ -39660,7 +39660,7 @@ _ZNK2c415basic_substringIKcE15begins_with_anyES2_.exit: ; preds = %.preheader.i5 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define internal fastcc noundef zeroext i1 @_ZN2c43yml12_GLOBAL__N_126_is_scalar_next__rseq_rvalENS_15basic_substringIKcEE(ptr readonly %0, i64 %1) unnamed_addr #10 { +define internal fastcc noundef zeroext i1 @_ZN2c43yml12_GLOBAL__N_126_is_scalar_next__rseq_rvalENS_15basic_substringIKcEE(ptr readonly captures(address_is_null) %0, i64 %1) unnamed_addr #10 { %.not = icmp eq i64 %1, 0 br i1 %.not, label %.thread33, label %.lr.ph.i @@ -39806,7 +39806,7 @@ _ZNK2c415basic_substringIKcE17first_of_any_iterIPS2_EENS2_19first_of_any_resultE } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define internal fastcc noundef zeroext i1 @_ZN2c43yml12_GLOBAL__N_125_is_scalar_next__rmap_valENS_15basic_substringIKcEE(ptr readonly %0, i64 %1) unnamed_addr #10 { +define internal fastcc noundef zeroext i1 @_ZN2c43yml12_GLOBAL__N_125_is_scalar_next__rmap_valENS_15basic_substringIKcEE(ptr readonly captures(address_is_null) %0, i64 %1) unnamed_addr #10 { %3 = icmp ult i64 %1, 2 br i1 %3, label %.loopexit19, label %.lr.ph.i @@ -39863,7 +39863,7 @@ _ZNK2c415basic_substringIKcE11begins_withES2_.exit: ; preds = %4, %13, %.lr.ph.i } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define internal fastcc noundef zeroext i1 @_ZN2c43yml12_GLOBAL__N_121_is_scalar_next__runkENS_15basic_substringIKcEE(ptr readonly %0, i64 %1) unnamed_addr #10 { +define internal fastcc noundef zeroext i1 @_ZN2c43yml12_GLOBAL__N_121_is_scalar_next__runkENS_15basic_substringIKcEE(ptr readonly captures(address_is_null) %0, i64 %1) unnamed_addr #10 { %3 = icmp ult i64 %1, 2 br i1 %3, label %.loopexit, label %.lr.ph.i @@ -40901,7 +40901,7 @@ _ZN2c43yml6Parser20_finish_filter_arenaENS_15basic_substringIcEEm.exit: ; preds } ; Function Attrs: mustprogress uwtable -define dso_local { ptr, i64 } @_ZN2c43yml6Parser23_scan_plain_scalar_blckENS_15basic_substringIKcEES4_m(ptr noundef nonnull align 8 dereferenceable(2736) %0, ptr %1, i64 %2, ptr readonly %3, i64 %4, i64 noundef %5) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 { +define dso_local { ptr, i64 } @_ZN2c43yml6Parser23_scan_plain_scalar_blckENS_15basic_substringIKcEES4_m(ptr noundef nonnull align 8 dereferenceable(2736) %0, ptr %1, i64 %2, ptr readonly captures(address_is_null) %3, i64 %4, i64 noundef %5) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 { %7 = alloca [74 x i8], align 16 %8 = alloca %"struct.c4::yml::Location", align 8 %9 = alloca [1024 x i8], align 16 @@ -47604,7 +47604,7 @@ _ZNK2c415basic_substringIcE12first_not_ofENS0_IKcEEm.exit.thread: ; preds = %55, } ; Function Attrs: mustprogress uwtable -define dso_local noundef zeroext i1 @_ZN2c43yml6Parser12_apply_chompENS_15basic_substringIcEEPmNS1_12BlockChomp_eE(ptr noundef nonnull align 8 dereferenceable(2736) %0, ptr readonly %1, i64 %2, ptr noalias noundef captures(none) %3, i32 noundef %4) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef zeroext i1 @_ZN2c43yml6Parser12_apply_chompENS_15basic_substringIcEEPmNS1_12BlockChomp_eE(ptr noundef nonnull align 8 dereferenceable(2736) %0, ptr readonly captures(address_is_null) %1, i64 %2, ptr noalias noundef captures(none) %3, i32 noundef %4) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 { %6 = alloca [1024 x i8], align 16 %7 = alloca %"struct.c4::yml::detail::_SubstrWriter", align 8 %8 = alloca %class.anon.7, align 8 diff --git a/bench/jsonnet/optimized/vm.ll b/bench/jsonnet/optimized/vm.ll index 945aaf8e35a..bb86f9557f7 100644 --- a/bench/jsonnet/optimized/vm.ll +++ b/bench/jsonnet/optimized/vm.ll @@ -22405,7 +22405,7 @@ _ZNSt6vectorIN7jsonnet8internal12_GLOBAL__N_15Value4TypeESaIS4_EED2Ev.exit20: ; } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter11builtinTypeERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr nonnull readnone align 8 captures(none) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter11builtinTypeERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr nonnull readnone align 8 captures(none) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %.sroa.0198 = alloca ptr, align 8 %.sroa.0195 = alloca ptr, align 8 %.sroa.0192 = alloca ptr, align 8 @@ -22546,7 +22546,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEED2Ev.exit63: ; preds = % } ; Function Attrs: mustprogress uwtable -define internal noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter13builtinFilterERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter13builtinFilterERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -23128,7 +23128,7 @@ _ZNSt3setIPKN7jsonnet8internal10IdentifierESt4lessIS4_ESaIS4_EED2Ev.exit: ; pred } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter21builtinObjectFieldsExERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter21builtinObjectFieldsExERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -23579,7 +23579,7 @@ _ZNSt6vectorIN7jsonnet8internal12_GLOBAL__N_15Value4TypeESaIS4_EED2Ev.exit36: ; } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter11builtinCharERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter11builtinCharERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -25207,7 +25207,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEED2Ev.exit16.i: ; preds = } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10builtinMd5ERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10builtinMd5ERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -25521,7 +25521,7 @@ _ZN7jsonnet8internal12_GLOBAL__N_111Interpreter9makeErrorERKNS0_13LocationRangeE } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinSplitLimitERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinSplitLimitERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -26116,7 +26116,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEED2Ev.exit91: ; preds = % } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter13builtinSubstrERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter13builtinSubstrERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -26477,7 +26477,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEED2Ev.exit76: ; preds = % } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter12builtinRangeERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter12builtinRangeERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -26667,7 +26667,7 @@ _ZNSt6vectorIN7jsonnet8internal12_GLOBAL__N_15Value4TypeESaIS4_EED2Ev.exit47: ; } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinStrReplaceERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinStrReplaceERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -27008,7 +27008,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEED2Ev.exit: ; preds = %_Z } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinAsciiLowerERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinAsciiLowerERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -27202,7 +27202,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEED2Ev.exit: ; preds = %_Z } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinAsciiUpperERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinAsciiUpperERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -27396,7 +27396,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEED2Ev.exit35: ; preds = % } ; Function Attrs: mustprogress uwtable -define internal noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter11builtinJoinERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter11builtinJoinERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_stringstream", align 8 %5 = alloca %"class.std::__cxx11::basic_string", align 8 %6 = alloca %"class.std::__cxx11::basic_string", align 8 @@ -28410,7 +28410,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.ex } ; Function Attrs: mustprogress uwtable -define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinEncodeUTF8ERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noalias noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinEncodeUTF8ERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -28634,7 +28634,7 @@ _ZNSt6vectorIPN7jsonnet8internal12_GLOBAL__N_19HeapThunkESaIS4_EED2Ev.exit43: ; } ; Function Attrs: mustprogress uwtable -define internal noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinDecodeUTF8ERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { +define internal noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter17builtinDecodeUTF8ERKNS0_13LocationRangeERKSt6vectorINS1_5ValueESaIS7_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator.13", align 1 %6 = alloca %"class.std::vector.163", align 8 @@ -28721,7 +28721,7 @@ declare noundef ptr @_ZN7jsonnet8internal13makeStdlibASTEPNS0_9AllocatorENSt7__c declare void @_ZN7jsonnet8internal23jsonnet_static_analysisEPNS0_3ASTE(ptr noundef) local_unnamed_addr #0 ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN7jsonnet8internal12_GLOBAL__N_15Stack7newCallERKNS0_13LocationRangeEPNS1_10HeapEntityEPNS1_10HeapObjectEjRKSt3mapIPKNS0_10IdentifierEPNS1_9HeapThunkESt4lessISD_ESaISt4pairIKSD_SF_EEE(ptr noundef nonnull align 8 captures(none) dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef %2, ptr noundef %3, i32 noundef %4, ptr noundef nonnull align 8 dereferenceable(48) %5) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN7jsonnet8internal12_GLOBAL__N_15Stack7newCallERKNS0_13LocationRangeEPNS1_10HeapEntityEPNS1_10HeapObjectEjRKSt3mapIPKNS0_10IdentifierEPNS1_9HeapThunkESt4lessISD_ESaISt4pairIKSD_SF_EEE(ptr noundef nonnull align 8 captures(none) dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(64) %1, ptr noundef %2, ptr noundef %3, i32 noundef %4, ptr noundef nonnull align 8 captures(address) dereferenceable(48) %5) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %7 = alloca %"class.std::__cxx11::basic_string", align 8 %8 = alloca %"class.std::allocator.13", align 1 %9 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -31417,7 +31417,7 @@ _ZNSt6vectorIPN7jsonnet8internal12_GLOBAL__N_19HeapThunkESaIS4_EE17_M_realloc_in } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIPKN7jsonnet8internal10IdentifierEPNS1_12_GLOBAL__N_19HeapThunkESt4lessIS4_ESaISt4pairIKS4_S7_EEEaSERKSE_(ptr noundef nonnull returned align 8 dereferenceable(48) %0, ptr noundef nonnull readonly align 8 dereferenceable(48) %1) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIPKN7jsonnet8internal10IdentifierEPNS1_12_GLOBAL__N_19HeapThunkESt4lessIS4_ESaISt4pairIKS4_S7_EEEaSERKSE_(ptr noundef nonnull returned align 8 dereferenceable(48) %0, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(48) %1) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %3 = alloca %"struct.std::_Rb_tree, std::_Select1st>, std::less>::_Reuse_or_alloc_node", align 8 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) %.not.i = icmp eq ptr %0, %1 @@ -31587,7 +31587,7 @@ _ZNSt8_Rb_treeIPKN7jsonnet8internal10IdentifierESt4pairIKS4_PNS1_12_GLOBAL__N_19 } ; Function Attrs: mustprogress uwtable -define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter9makeArrayERKSt6vectorIPNS1_9HeapThunkESaIS5_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr %.0.val, ptr %.8.val) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter9makeArrayERKSt6vectorIPNS1_9HeapThunkESaIS5_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr %.0.val, ptr %.8.val) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %2 = tail call noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #36 %3 = getelementptr inbounds nuw i8, ptr %2, i64 9 store i8 1, ptr %3, align 1 @@ -34298,7 +34298,7 @@ _ZNSt6vectorIZN7jsonnet8internal12_GLOBAL__N_14Heap8markFromEPNS2_10HeapEntityEE } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN7jsonnet8internal12_GLOBAL__N_15Stack4markERNS1_4HeapE(ptr readonly %.16.val, ptr readnone %.24.val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(64) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN7jsonnet8internal12_GLOBAL__N_15Stack4markERNS1_4HeapE(ptr readonly captures(address) %.16.val, ptr readnone captures(address) %.24.val, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(64) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %.not2 = icmp eq ptr %.16.val, %.24.val br i1 %.not2, label %._crit_edge, label %.lr.ph @@ -34721,7 +34721,7 @@ _ZNSt8_Rb_treeIPKN7jsonnet8internal10IdentifierESt4pairIKS4_PNS1_12_GLOBAL__N_19 } ; Function Attrs: mustprogress nofree nounwind willreturn memory(read) uwtable -define internal fastcc { ptr, ptr } @_ZNSt8_Rb_treeIPKN7jsonnet8internal10IdentifierESt4pairIKS4_PNS1_12_GLOBAL__N_19HeapThunkEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISA_ERS6_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr %1, ptr readnone %.0.val) unnamed_addr #17 align 2 { +define internal fastcc { ptr, ptr } @_ZNSt8_Rb_treeIPKN7jsonnet8internal10IdentifierESt4pairIKS4_PNS1_12_GLOBAL__N_19HeapThunkEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISA_ERS6_(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr %1, ptr readnone captures(address) %.0.val) unnamed_addr #17 align 2 { %3 = getelementptr inbounds nuw i8, ptr %0, i64 8 %4 = icmp eq ptr %1, %3 br i1 %4, label %5, label %25 @@ -35084,7 +35084,7 @@ declare double @acos(double noundef) local_unnamed_addr #18 declare double @atan(double noundef) local_unnamed_addr #18 ; Function Attrs: mustprogress uwtable -define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10makeStringERKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr readonly captures(none) %.0.val, i64 %.8.val) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10makeStringERKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr readonly captures(none) %.0.val, i64 %.8.val) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %2 = tail call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #36 %3 = getelementptr inbounds nuw i8, ptr %2, i64 9 store i8 3, ptr %3, align 1 @@ -35377,7 +35377,7 @@ _ZN7jsonnet8internal12_GLOBAL__N_111Interpreter8makeHeapINS1_10HeapStringEJRKNSt } ; Function Attrs: mustprogress nounwind uwtable -define internal void @_ZN7jsonnet8internal12_GLOBAL__N_110HeapStringD2Ev(ptr noundef nonnull align 8 dereferenceable(48) initializes((0, 8)) %0) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +define internal void @_ZN7jsonnet8internal12_GLOBAL__N_110HeapStringD2Ev(ptr noundef nonnull align 8 captures(address) dereferenceable(48) initializes((0, 8)) %0) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN7jsonnet8internal12_GLOBAL__N_110HeapStringE, i64 16), ptr %0, align 8 %2 = getelementptr inbounds nuw i8, ptr %0, i64 16 %3 = load ptr, ptr %2, align 8 @@ -36379,7 +36379,7 @@ define linkonce_odr void @_ZNSt8_Rb_treeIPKN7jsonnet8internal10IdentifierES4_St9 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter8makeHeapINS1_9HeapThunkEJRPKNS0_10IdentifierEDniDnEEEPT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr %.0.val, i32 %.0.val1) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter8makeHeapINS1_9HeapThunkEJRPKNS0_10IdentifierEDniDnEEEPT_DpOT0_(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr %.0.val, i32 %.0.val1) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %2 = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #36 %3 = getelementptr inbounds nuw i8, ptr %2, i64 9 store i8 0, ptr %3, align 1 @@ -37506,7 +37506,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEE10_M_disposeEv.exit: ; p declare noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #1 ; Function Attrs: mustprogress uwtable -define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter11makeBuiltinERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorINS1_11HeapClosure5ParamESaISD_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter11makeBuiltinERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorINS1_11HeapClosure5ParamESaISD_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %2) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::map.123", align 8 %5 = getelementptr inbounds nuw i8, ptr %4, i64 8 %6 = getelementptr inbounds nuw i8, ptr %4, i64 16 @@ -38206,7 +38206,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEE7_S_copyEPDiPKDim.exit: } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter11joinStringsEv(ptr noundef nonnull align 8 dereferenceable(480) %0) unnamed_addr #4 align 2 { +define internal fastcc noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter11joinStringsEv(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0) unnamed_addr #4 align 2 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 80 %3 = getelementptr inbounds nuw i8, ptr %0, i64 104 %.val23 = load ptr, ptr %3, align 8 @@ -38290,7 +38290,7 @@ define internal fastcc noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpre } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10joinArraysEv(ptr noundef nonnull align 8 dereferenceable(480) %0) unnamed_addr #4 align 2 { +define internal fastcc noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10joinArraysEv(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0) unnamed_addr #4 align 2 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 80 %3 = getelementptr inbounds nuw i8, ptr %0, i64 104 %.val23 = load ptr, ptr %3, align 8 @@ -53430,7 +53430,7 @@ _ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_tra } ; Function Attrs: mustprogress uwtable -define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10makeObjectINS1_23HeapComprehensionObjectEJSt3mapIPKNS0_10IdentifierEPNS1_9HeapThunkESt4lessIS8_ESaISt4pairIKS8_SA_EEEPKNS0_3ASTES8_SH_EEENS1_5ValueEDpT0_(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull readonly captures(none) %1, ptr noundef %2, ptr noundef %3, ptr noundef nonnull readonly captures(none) %4) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10makeObjectINS1_23HeapComprehensionObjectEJSt3mapIPKNS0_10IdentifierEPNS1_9HeapThunkESt4lessIS8_ESaISt4pairIKS8_SA_EEEPKNS0_3ASTES8_SH_EEENS1_5ValueEDpT0_(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull readonly captures(none) %1, ptr noundef %2, ptr noundef %3, ptr noundef nonnull readonly captures(none) %4) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %6 = tail call noalias noundef nonnull dereferenceable(128) ptr @_Znwm(i64 noundef 128) #36 invoke fastcc void @_ZN7jsonnet8internal12_GLOBAL__N_123HeapComprehensionObjectC2ERKSt3mapIPKNS0_10IdentifierEPNS1_9HeapThunkESt4lessIS6_ESaISt4pairIKS6_S8_EEEPKNS0_3ASTES6_SH_(ptr noundef nonnull align 8 dereferenceable(128) %6, ptr noundef nonnull readonly align 8 dereferenceable(48) %1, ptr noundef %2, ptr noundef %3, ptr noundef nonnull readonly align 8 dereferenceable(48) %4) to label %7 unwind label %36 @@ -61227,7 +61227,7 @@ declare ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv(ptr n declare ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10decodeUTF8Ev(ptr noundef nonnull align 8 dereferenceable(480) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10decodeUTF8Ev(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %2 = alloca %"class.std::__cxx11::basic_stringstream", align 8 %3 = alloca %"class.std::__cxx11::basic_string", align 8 %4 = alloca %"class.std::__cxx11::basic_stringstream", align 8 @@ -61498,7 +61498,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEED2Ev.exit59: ; preds = % } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef ptr @_ZNSt6vectorIN7jsonnet8internal12_GLOBAL__N_15FrameESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_(ptr noundef %0, ptr noundef readnone %1, ptr noundef %2) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef ptr @_ZNSt6vectorIN7jsonnet8internal12_GLOBAL__N_15FrameESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_(ptr noundef %0, ptr noundef readnone captures(address) %1, ptr noundef %2) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { %.not1.i.i = icmp eq ptr %0, %1 br i1 %.not1.i.i, label %_ZSt12__relocate_aIPN7jsonnet8internal12_GLOBAL__N_15FrameES4_SaIS3_EET0_T_S7_S6_RT1_.exit, label %.lr.ph.i.i @@ -62448,7 +62448,7 @@ _ZNSt6vectorIN7jsonnet8internal12_GLOBAL__N_15FrameESaIS3_EE12emplace_backIJRNS2 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter8makeHeapINS1_9HeapThunkEJRPKNS0_10IdentifierERPNS1_10HeapObjectERjRKPNS0_3ASTEEEEPT_DpOT0_(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr %.0.val, ptr %.0.val1, i32 %.0.val3, ptr %.0.val5) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter8makeHeapINS1_9HeapThunkEJRPKNS0_10IdentifierERPNS1_10HeapObjectERjRKPNS0_3ASTEEEEPT_DpOT0_(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr %.0.val, ptr %.0.val1, i32 %.0.val3, ptr %.0.val5) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %2 = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #36 %3 = getelementptr inbounds nuw i8, ptr %2, i64 9 store i8 0, ptr %3, align 1 @@ -62706,7 +62706,7 @@ _ZN7jsonnet8internal12_GLOBAL__N_14Heap9checkHeapEv.exit.thread: ; preds = %_ZN7 } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter7captureERKSt6vectorIPKNS0_10IdentifierESaIS6_EE(ptr dead_on_unwind noalias nonnull writable align 8 initializes((8, 12), (16, 24)) %0, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(480) %1, ptr readonly %.0.val, ptr readnone %.8.val) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter7captureERKSt6vectorIPKNS0_10IdentifierESaIS6_EE(ptr dead_on_unwind noalias nonnull writable align 8 initializes((8, 12), (16, 24)) %0, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(480) %1, ptr readonly captures(address) %.0.val, ptr readnone captures(address) %.8.val) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %3 = alloca ptr, align 8 %4 = getelementptr inbounds nuw i8, ptr %0, i64 8 store i32 0, ptr %4, align 8 @@ -63125,7 +63125,7 @@ _ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_IDiS2_IDiESaI } ; Function Attrs: mustprogress uwtable -define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10makeObjectINS1_16HeapSimpleObjectEJSt3mapIPKNS0_10IdentifierEPNS1_9HeapThunkESt4lessIS8_ESaISt4pairIKS8_SA_EEES5_IS8_NS4_5FieldESC_SaISD_ISE_SI_EEENSt7__cxx114listIPNS0_3ASTESaISP_EEEEEENS1_5ValueEDpT0_(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull readonly captures(none) %1, ptr noundef nonnull readonly captures(none) %2, ptr noundef nonnull readonly %3) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10makeObjectINS1_16HeapSimpleObjectEJSt3mapIPKNS0_10IdentifierEPNS1_9HeapThunkESt4lessIS8_ESaISt4pairIKS8_SA_EEES5_IS8_NS4_5FieldESC_SaISD_ISE_SI_EEENSt7__cxx114listIPNS0_3ASTESaISP_EEEEEENS1_5ValueEDpT0_(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull readonly captures(none) %1, ptr noundef nonnull readonly captures(none) %2, ptr noundef nonnull readonly captures(address) %3) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca %"class.std::map.131", align 8 %6 = alloca %"class.std::__cxx11::list", align 8 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5) @@ -63658,7 +63658,7 @@ _ZN7jsonnet8internal12_GLOBAL__N_111Interpreter8makeHeapINS1_16HeapSimpleObjectE } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIPN7jsonnet8internal12_GLOBAL__N_19HeapThunkESaIS4_EEaSERKS6_(ptr noundef nonnull returned align 8 dereferenceable(24) %0, ptr noundef nonnull readonly align 8 dereferenceable(24) %1) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIPN7jsonnet8internal12_GLOBAL__N_19HeapThunkESaIS4_EEaSERKS6_(ptr noundef nonnull returned align 8 captures(address, ret: address, provenance) dereferenceable(24) %0, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(24) %1) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %.not = icmp eq ptr %1, %0 br i1 %.not, label %38, label %3 @@ -65858,7 +65858,7 @@ _ZNSt6vectorIN7jsonnet8internal12_GLOBAL__N_15FrameESaIS3_EE12emplace_backIJRNS2 } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter16objectInvariantsEPNS1_10HeapObjectES4_RjRSt6vectorIPNS1_9HeapThunkESaIS8_EE(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %3, ptr noundef nonnull align 8 captures(none) dereferenceable(24) %4) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter16objectInvariantsEPNS1_10HeapObjectES4_RjRSt6vectorIPNS1_9HeapThunkESaIS8_EE(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %3, ptr noundef nonnull align 8 captures(none) dereferenceable(24) %4) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %6 = icmp eq ptr %1, null br i1 %6, label %.thread32, label %.lr.ph @@ -66486,7 +66486,7 @@ _ZNSt8_Rb_treeIPKN7jsonnet8internal10IdentifierESt4pairIKS4_NS1_12_GLOBAL__N_116 } ; Function Attrs: mustprogress uwtable -define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10makeObjectINS1_23HeapComprehensionObjectEJSt3mapIPKNS0_10IdentifierEPNS1_9HeapThunkESt4lessIS8_ESaISt4pairIKS8_SA_EEEPNS0_3ASTES8_SH_EEENS1_5ValueEDpT0_(ptr noundef nonnull align 8 dereferenceable(480) %0, ptr noundef nonnull readonly captures(none) %1, ptr noundef %2, ptr noundef %3, ptr noundef nonnull readonly captures(none) %4) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc ptr @_ZN7jsonnet8internal12_GLOBAL__N_111Interpreter10makeObjectINS1_23HeapComprehensionObjectEJSt3mapIPKNS0_10IdentifierEPNS1_9HeapThunkESt4lessIS8_ESaISt4pairIKS8_SA_EEEPNS0_3ASTES8_SH_EEENS1_5ValueEDpT0_(ptr noundef nonnull align 8 captures(address) dereferenceable(480) %0, ptr noundef nonnull readonly captures(none) %1, ptr noundef %2, ptr noundef %3, ptr noundef nonnull readonly captures(none) %4) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { %6 = tail call noalias noundef nonnull dereferenceable(128) ptr @_Znwm(i64 noundef 128) #36 invoke fastcc void @_ZN7jsonnet8internal12_GLOBAL__N_123HeapComprehensionObjectC2ERKSt3mapIPKNS0_10IdentifierEPNS1_9HeapThunkESt4lessIS6_ESaISt4pairIKS6_S8_EEEPKNS0_3ASTES6_SH_(ptr noundef nonnull align 8 dereferenceable(128) %6, ptr noundef nonnull readonly align 8 dereferenceable(48) %1, ptr noundef %2, ptr noundef %3, ptr noundef nonnull readonly align 8 dereferenceable(48) %4) to label %7 unwind label %36 @@ -67813,7 +67813,7 @@ _ZNKSt4lessISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS2_IDiS } ; Function Attrs: mustprogress nounwind uwtable -define internal void @_ZN7jsonnet8internal12_GLOBAL__N_116HeapSimpleObjectD2Ev(ptr noundef nonnull align 8 dereferenceable(136) initializes((0, 8)) %0) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +define internal void @_ZN7jsonnet8internal12_GLOBAL__N_116HeapSimpleObjectD2Ev(ptr noundef nonnull align 8 captures(address) dereferenceable(136) initializes((0, 8)) %0) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN7jsonnet8internal12_GLOBAL__N_116HeapSimpleObjectE, i64 16), ptr %0, align 8 %2 = getelementptr inbounds nuw i8, ptr %0, i64 112 %3 = load ptr, ptr %2, align 8 diff --git a/bench/kcp/optimized/ikcp.ll b/bench/kcp/optimized/ikcp.ll index 5652a10c769..54f7db3c2f9 100644 --- a/bench/kcp/optimized/ikcp.ll +++ b/bench/kcp/optimized/ikcp.ll @@ -512,7 +512,7 @@ entry: } ; Function Attrs: nounwind uwtable -define dso_local i32 @ikcp_recv(ptr noundef %kcp, ptr noundef writeonly %buffer, i32 noundef %len) local_unnamed_addr #1 { +define dso_local i32 @ikcp_recv(ptr noundef %kcp, ptr noundef writeonly captures(address_is_null) %buffer, i32 noundef %len) local_unnamed_addr #1 { entry: %rcv_queue = getelementptr inbounds nuw i8, ptr %kcp, i64 152 %0 = load ptr, ptr %rcv_queue, align 8 @@ -784,7 +784,7 @@ return: ; preds = %if.end6.i, %while.e } ; Function Attrs: nofree norecurse nosync nounwind memory(read, inaccessiblemem: none) uwtable -define dso_local i32 @ikcp_peeksize(ptr noundef readonly %kcp) local_unnamed_addr #5 { +define dso_local i32 @ikcp_peeksize(ptr noundef readonly captures(address) %kcp) local_unnamed_addr #5 { entry: %rcv_queue = getelementptr inbounds nuw i8, ptr %kcp, i64 152 %0 = load ptr, ptr %rcv_queue, align 8 @@ -834,7 +834,7 @@ return: ; preds = %for.body, %for.inc, declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #6 ; Function Attrs: nounwind uwtable -define dso_local i32 @ikcp_send(ptr noundef %kcp, ptr noundef readonly %buffer, i32 noundef %len) local_unnamed_addr #1 { +define dso_local i32 @ikcp_send(ptr noundef %kcp, ptr noundef readonly captures(address_is_null) %buffer, i32 noundef %len) local_unnamed_addr #1 { entry: %cmp = icmp slt i32 %len, 0 br i1 %cmp, label %return, label %if.end @@ -1250,7 +1250,7 @@ while.end: ; preds = %if.then48, %land.lh } ; Function Attrs: nounwind uwtable -define dso_local range(i32 -3, 1) i32 @ikcp_input(ptr noundef %kcp, ptr noundef readonly %data, i64 noundef %size) local_unnamed_addr #1 { +define dso_local range(i32 -3, 1) i32 @ikcp_input(ptr noundef %kcp, ptr noundef readonly captures(address_is_null) %data, i64 noundef %size) local_unnamed_addr #1 { entry: %snd_una = getelementptr inbounds nuw i8, ptr %kcp, i64 16 %0 = load i32, ptr %snd_una, align 8 @@ -2671,7 +2671,7 @@ if.end29: ; preds = %if.then16, %if.end1 } ; Function Attrs: nofree norecurse nosync nounwind memory(read, inaccessiblemem: none) uwtable -define dso_local i32 @ikcp_check(ptr noundef readonly %kcp, i32 noundef %current) local_unnamed_addr #5 { +define dso_local i32 @ikcp_check(ptr noundef readonly captures(address) %kcp, i32 noundef %current) local_unnamed_addr #5 { entry: %updated = getelementptr inbounds nuw i8, ptr %kcp, i64 112 %0 = load i32, ptr %updated, align 8 @@ -2840,7 +2840,7 @@ if.end21: ; preds = %if.then20, %if.end1 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define dso_local noundef i32 @ikcp_wndsize(ptr noundef writeonly %kcp, i32 noundef %sndwnd, i32 noundef %rcvwnd) local_unnamed_addr #4 { +define dso_local noundef i32 @ikcp_wndsize(ptr noundef writeonly captures(address_is_null) %kcp, i32 noundef %sndwnd, i32 noundef %rcvwnd) local_unnamed_addr #4 { entry: %tobool.not = icmp eq ptr %kcp, null br i1 %tobool.not, label %if.end5, label %if.then diff --git a/bench/llama.cpp/optimized/llama.ll b/bench/llama.cpp/optimized/llama.ll index 3203fc39a08..5849fb93d66 100644 --- a/bench/llama.cpp/optimized/llama.ll +++ b/bench/llama.cpp/optimized/llama.ll @@ -7335,7 +7335,7 @@ _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm429496 declare i64 @time(ptr noundef) local_unnamed_addr #7 ; Function Attrs: mustprogress uwtable -define void @llama_sample_softmax(ptr noundef %ctx, ptr noundef captures(none) %candidates) local_unnamed_addr #2 { +define void @llama_sample_softmax(ptr noundef captures(address_is_null) %ctx, ptr noundef captures(none) %candidates) local_unnamed_addr #2 { entry: %__val.i24.i.i.i = alloca %struct.llama_token_data, align 4 %__val.i.i.i.i = alloca %struct.llama_token_data, align 4 @@ -7617,7 +7617,7 @@ declare i64 @ggml_time_us() local_unnamed_addr #9 declare float @expf(float noundef) local_unnamed_addr #11 ; Function Attrs: mustprogress uwtable -define void @llama_sample_top_k(ptr noundef %ctx, ptr noundef captures(none) %candidates, i32 noundef %k, i64 noundef %min_keep) local_unnamed_addr #2 { +define void @llama_sample_top_k(ptr noundef captures(address_is_null) %ctx, ptr noundef captures(none) %candidates, i32 noundef %k, i64 noundef %min_keep) local_unnamed_addr #2 { entry: %__val.i24.i.i.i = alloca %struct.llama_token_data, align 4 %__val.i.i.i.i = alloca %struct.llama_token_data, align 4 @@ -7843,7 +7843,7 @@ if.end24: ; preds = %if.then22, %if.end1 } ; Function Attrs: mustprogress uwtable -define void @llama_sample_top_p(ptr noundef %ctx, ptr noundef captures(none) %candidates, float noundef %p, i64 noundef %min_keep) local_unnamed_addr #2 { +define void @llama_sample_top_p(ptr noundef captures(address_is_null) %ctx, ptr noundef captures(none) %candidates, float noundef %p, i64 noundef %min_keep) local_unnamed_addr #2 { entry: %cmp = fcmp ult float %p, 1.000000e+00 br i1 %cmp, label %if.end, label %if.end14 @@ -7892,7 +7892,7 @@ if.end14: ; preds = %entry, %if.then11, } ; Function Attrs: mustprogress uwtable -define void @llama_sample_min_p(ptr noundef %ctx, ptr noundef captures(none) %candidates, float noundef %p, i64 noundef %min_keep) local_unnamed_addr #2 { +define void @llama_sample_min_p(ptr noundef captures(address_is_null) %ctx, ptr noundef captures(none) %candidates, float noundef %p, i64 noundef %min_keep) local_unnamed_addr #2 { entry: %cmp = fcmp ugt float %p, 0.000000e+00 br i1 %cmp, label %lor.lhs.false, label %if.end15 @@ -7951,7 +7951,7 @@ if.end15: ; preds = %entry, %lor.lhs.fal } ; Function Attrs: mustprogress uwtable -define void @llama_sample_tail_free(ptr noundef %ctx, ptr noundef captures(none) %candidates, float noundef %z, i64 noundef %min_keep) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 { +define void @llama_sample_tail_free(ptr noundef captures(address_is_null) %ctx, ptr noundef captures(none) %candidates, float noundef %z, i64 noundef %min_keep) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 { entry: %cmp = fcmp ult float %z, 1.000000e+00 br i1 %cmp, label %lor.lhs.false, label %return @@ -8184,7 +8184,7 @@ if.then.i.i.i88: ; preds = %if.then.i.i.i, %lpa } ; Function Attrs: mustprogress uwtable -define void @llama_sample_typical(ptr noundef %ctx, ptr noundef captures(none) %candidates, float noundef %p, i64 noundef %min_keep) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 { +define void @llama_sample_typical(ptr noundef captures(address_is_null) %ctx, ptr noundef captures(none) %candidates, float noundef %p, i64 noundef %min_keep) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 { entry: %shifted_scores = alloca %"class.std::vector.107", align 8 %cmp = fcmp ult float %p, 1.000000e+00 @@ -8760,7 +8760,7 @@ declare float @llvm.fmuladd.f32(float, float, float) #12 declare float @llvm.fabs.f32(float) #12 ; Function Attrs: mustprogress uwtable -define void @llama_sample_temp(ptr noundef %ctx, ptr noundef readonly captures(none) %candidates_p, float noundef %temp) local_unnamed_addr #2 { +define void @llama_sample_temp(ptr noundef captures(address_is_null) %ctx, ptr noundef readonly captures(none) %candidates_p, float noundef %temp) local_unnamed_addr #2 { entry: %call = tail call i64 @ggml_time_us() %size = getelementptr inbounds nuw i8, ptr %candidates_p, i64 8 @@ -8798,7 +8798,7 @@ if.end: ; preds = %if.then, %for.end } ; Function Attrs: mustprogress uwtable -define void @llama_sample_temperature(ptr noundef %ctx, ptr noundef readonly captures(none) %candidates_p, float noundef %temp) local_unnamed_addr #2 { +define void @llama_sample_temperature(ptr noundef captures(address_is_null) %ctx, ptr noundef readonly captures(none) %candidates_p, float noundef %temp) local_unnamed_addr #2 { entry: %call.i = tail call i64 @ggml_time_us() %size.i = getelementptr inbounds nuw i8, ptr %candidates_p, i64 8 @@ -8836,7 +8836,7 @@ llama_sample_temp.exit: ; preds = %for.end.i, %if.then } ; Function Attrs: mustprogress uwtable -define void @llama_sample_repetition_penalties(ptr noundef %ctx, ptr noundef captures(none) %candidates, ptr noundef readonly captures(none) %last_tokens, i64 noundef %penalty_last_n, float noundef %penalty_repeat, float noundef %penalty_freq, float noundef %penalty_present) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 { +define void @llama_sample_repetition_penalties(ptr noundef captures(address_is_null) %ctx, ptr noundef captures(none) %candidates, ptr noundef readonly captures(none) %last_tokens, i64 noundef %penalty_last_n, float noundef %penalty_repeat, float noundef %penalty_freq, float noundef %penalty_present) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 { entry: %token_count = alloca %"class.std::unordered_map.132", align 8 %cmp = icmp eq i64 %penalty_last_n, 0 @@ -9127,7 +9127,7 @@ _ZNSt10_HashtableIiSt4pairIKiiESaIS2_ENSt8__detail10_Select1stESt8equal_toIiESt4 } ; Function Attrs: mustprogress uwtable -define void @llama_sample_grammar(ptr noundef %ctx, ptr noundef readonly captures(none) %candidates, ptr noundef readonly captures(none) %grammar) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 { +define void @llama_sample_grammar(ptr noundef captures(address_is_null) %ctx, ptr noundef readonly captures(none) %candidates, ptr noundef readonly captures(none) %grammar) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 { entry: %candidates_decoded = alloca %"class.std::vector.214", align 8 %candidates_grammar = alloca %"class.std::vector.219", align 8 @@ -10429,7 +10429,7 @@ _ZNSt12_Vector_baseISt4pairISt6vectorIjSaIjEE18llama_partial_utf8ESaIS5_EED2Ev.e } ; Function Attrs: mustprogress uwtable -define void @llama_sample_classifier_free_guidance(ptr noundef %ctx, ptr noundef readonly captures(none) %candidates, ptr noundef readonly captures(none) %guidance_ctx, float noundef %scale) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 { +define void @llama_sample_classifier_free_guidance(ptr noundef captures(address_is_null) %ctx, ptr noundef readonly captures(none) %candidates, ptr noundef readonly captures(none) %guidance_ctx, float noundef %scale) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 { entry: %call = tail call i64 @ggml_time_us() %tobool.not = icmp eq ptr %ctx, null @@ -11580,7 +11580,7 @@ if.end31: ; preds = %for.body.i.i.i48, % } ; Function Attrs: mustprogress uwtable -define i32 @llama_sample_token_greedy(ptr noundef %ctx, ptr noundef readonly captures(none) %candidates) local_unnamed_addr #2 { +define i32 @llama_sample_token_greedy(ptr noundef captures(address_is_null) %ctx, ptr noundef readonly captures(none) %candidates) local_unnamed_addr #2 { entry: %call = tail call i64 @ggml_time_us() %0 = load ptr, ptr %candidates, align 8 @@ -77052,7 +77052,7 @@ while.end: ; preds = %"_ZSt27__unguarded_ } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc void @"_ZSt14__partial_sortIP16llama_token_dataN9__gnu_cxx5__ops15_Iter_comp_iterIZ18llama_sample_top_kE3$_0EEEvT_S7_S7_T0_"(ptr noundef %__first, ptr noundef %__middle, ptr noundef readnone %__last) unnamed_addr #37 { +define internal fastcc void @"_ZSt14__partial_sortIP16llama_token_dataN9__gnu_cxx5__ops15_Iter_comp_iterIZ18llama_sample_top_kE3$_0EEEvT_S7_S7_T0_"(ptr noundef %__first, ptr noundef %__middle, ptr noundef readnone captures(address) %__last) unnamed_addr #37 { entry: %sub.ptr.lhs.cast.i.i = ptrtoint ptr %__middle to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %__first to i64 diff --git a/bench/llvm/optimized/ComplexDeinterleavingPass.ll b/bench/llvm/optimized/ComplexDeinterleavingPass.ll index 8dbe8421209..be2ade579e4 100644 --- a/bench/llvm/optimized/ComplexDeinterleavingPass.ll +++ b/bench/llvm/optimized/ComplexDeinterleavingPass.ll @@ -579,7 +579,7 @@ define dso_local void @_ZN4llvm25ComplexDeinterleavingPass3runERNS_8FunctionERNS } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef zeroext i1 @_ZN12_GLOBAL__N_121ComplexDeinterleaving13runOnFunctionERN4llvm8FunctionE(ptr %.0.val, ptr %.8.val, ptr noundef nonnull readonly align 8 dereferenceable(136) %0) unnamed_addr #1 align 2 { +define internal fastcc noundef zeroext i1 @_ZN12_GLOBAL__N_121ComplexDeinterleaving13runOnFunctionERN4llvm8FunctionE(ptr %.0.val, ptr %.8.val, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(136) %0) unnamed_addr #1 align 2 { %2 = alloca %"class.llvm::SmallVector.475", align 8 %3 = alloca ptr, align 8 %4 = alloca %"class.llvm::IRBuilder", align 8 @@ -8995,7 +8995,7 @@ _ZNSt12__shared_ptrIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeELN9__gnu } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeEEaSEOS2_(ptr noundef nonnull returned align 8 dereferenceable(16) initializes((0, 8)) %0, ptr noundef nonnull align 8 captures(none) dereferenceable(16) %1) unnamed_addr #1 align 2 { +define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt10shared_ptrIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeEEaSEOS2_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) initializes((0, 8)) %0, ptr noundef nonnull align 8 captures(none) dereferenceable(16) %1) unnamed_addr #1 align 2 { %3 = load ptr, ptr %1, align 8, !tbaa !198 %4 = getelementptr inbounds nuw i8, ptr %1, i64 8 %5 = load ptr, ptr %4, align 8, !tbaa !204 @@ -10300,22 +10300,23 @@ _ZNSt10shared_ptrIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeEEC2ERKS2_. 98: ; preds = %92 %99 = atomicrmw volatile add ptr %93, i32 1 acq_rel, align 4 + %.pre = load ptr, ptr %10, align 8, !tbaa !198 + %.pre63 = load ptr, ptr %90, align 8, !tbaa !204 br label %_ZNSt10shared_ptrIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeEEC2ERKS2_.exit39 _ZNSt10shared_ptrIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeEEC2ERKS2_.exit39: ; preds = %87, %95, %98 + %100 = phi ptr [ null, %87 ], [ %.val5, %95 ], [ %.pre63, %98 ] + %101 = phi ptr [ %.val11, %87 ], [ %.val11, %95 ], [ %.pre, %98 ] call fastcc void @_ZN12_GLOBAL__N_126ComplexDeinterleavingGraph19submitCompositeNodeESt10shared_ptrINS_34ComplexDeinterleavingCompositeNodeEE(ptr dead_on_unwind noalias writable align 8 %16, ptr noundef nonnull align 8 dereferenceable(456) %1, ptr noundef %17) %100 = getelementptr inbounds nuw i8, ptr %16, i64 8 %.val14 = load ptr, ptr %100, align 8, !tbaa !204 call fastcc void @_ZNSt12__shared_ptrIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr %.val14) #26 %.val13 = load ptr, ptr %91, align 8, !tbaa !204 call fastcc void @_ZNSt12__shared_ptrIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeELN9__gnu_cxx12_Lock_policyE2EED2Ev(ptr %.val13) #26 - %101 = load ptr, ptr %10, align 8, !tbaa !198 store ptr %101, ptr %0, align 8, !tbaa !198 %102 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %103 = load ptr, ptr %90, align 8, !tbaa !204 store ptr null, ptr %90, align 8, !tbaa !204 - store ptr %103, ptr %102, align 8, !tbaa !204 - store ptr null, ptr %10, align 8, !tbaa !198 + store ptr %100, ptr %102, align 8, !tbaa !204 br label %104 104: ; preds = %_ZNSt10shared_ptrIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeEEC2ERKS2_.exit39, %86, %67 @@ -14062,7 +14063,7 @@ _ZN4llvm11SmallVectorINS_14PointerIntPairIPNS_5ValueELj1EbNS_21PointerLikeTypeTr } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc void @_ZN12_GLOBAL__N_126ComplexDeinterleavingGraph21extractPositiveAddendERNSt7__cxx114listISt4pairIPN4llvm5ValueEbESaIS7_EEESA_(ptr dead_on_unwind noalias nonnull writable align 8 captures(none) %0, ptr noundef nonnull align 8 dereferenceable(456) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef nonnull align 8 dereferenceable(24) %3) unnamed_addr #1 align 2 { +define internal fastcc void @_ZN12_GLOBAL__N_126ComplexDeinterleavingGraph21extractPositiveAddendERNSt7__cxx114listISt4pairIPN4llvm5ValueEbESaIS7_EEESA_(ptr dead_on_unwind noalias nonnull writable align 8 captures(none) %0, ptr noundef nonnull align 8 dereferenceable(456) %1, ptr noundef nonnull align 8 captures(address) dereferenceable(24) %2, ptr noundef nonnull align 8 captures(address) dereferenceable(24) %3) unnamed_addr #1 align 2 { %.sroa.034.050 = load ptr, ptr %2, align 8, !tbaa !316 %.not51 = icmp eq ptr %.sroa.034.050, %2 br i1 %.not51, label %._crit_edge, label %.preheader.lr.ph @@ -18203,7 +18204,7 @@ define internal void @_ZNSt23_Sp_counted_ptr_inplaceIN12_GLOBAL__N_134ComplexDei } ; Function Attrs: mustprogress nounwind willreturn uwtable -define internal void @_ZNSt23_Sp_counted_ptr_inplaceIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv(ptr noundef nonnull readonly align 8 dereferenceable(128) %0) unnamed_addr #19 align 2 { +define internal void @_ZNSt23_Sp_counted_ptr_inplaceIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(128) %0) unnamed_addr #19 align 2 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 56 %3 = load ptr, ptr %2, align 8, !tbaa !25 %4 = getelementptr inbounds nuw i8, ptr %0, i64 72 @@ -18226,7 +18227,7 @@ _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceIN12_GLOBAL__N_134ComplexDe } ; Function Attrs: mustprogress nounwind uwtable -define internal noundef ptr @_ZNSt23_Sp_counted_ptr_inplaceIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info(ptr noundef nonnull readnone align 8 dereferenceable(128) %0, ptr noundef nonnull align 8 dereferenceable(16) %1) unnamed_addr #1 align 2 { +define internal noundef ptr @_ZNSt23_Sp_counted_ptr_inplaceIN12_GLOBAL__N_134ComplexDeinterleavingCompositeNodeESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(128) %0, ptr noundef nonnull align 8 dereferenceable(16) %1) unnamed_addr #1 align 2 { %3 = getelementptr inbounds nuw i8, ptr %0, i64 16 %4 = icmp eq ptr %1, @_ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag br i1 %4, label %7, label %5 diff --git a/bench/llvm/optimized/MemorySanitizer.ll b/bench/llvm/optimized/MemorySanitizer.ll index 9c341b6246b..44724c6d048 100644 --- a/bench/llvm/optimized/MemorySanitizer.ll +++ b/bench/llvm/optimized/MemorySanitizer.ll @@ -19024,7 +19024,7 @@ declare void @_ZN4llvm18ExtractElementInstC1EPNS_5ValueES2_RKNS_5TwineENS_14Inse declare void @_ZN4llvm17InsertElementInstC1EPNS_5ValueES2_S2_RKNS_5TwineENS_14InsertPositionE(ptr noundef nonnull align 8 dereferenceable(72), ptr noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(34), ptr noundef byval(%"class.llvm::InsertPosition") align 8) unnamed_addr #5 ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef ptr @_ZNK12_GLOBAL__N_122MemorySanitizerVisitor15ptrToIntPtrTypeEPN4llvm4TypeE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(1632) %0, ptr noundef readonly %1) unnamed_addr #0 align 2 { +define internal fastcc noundef ptr @_ZNK12_GLOBAL__N_122MemorySanitizerVisitor15ptrToIntPtrTypeEPN4llvm4TypeE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(1632) %0, ptr noundef readonly captures(address_is_null) %1) unnamed_addr #0 align 2 { %3 = getelementptr inbounds nuw i8, ptr %1, i64 8 %4 = load i32, ptr %3, align 8 %5 = and i32 %4, 255 @@ -19062,7 +19062,7 @@ common.ret: ; preds = %2 } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef ptr @_ZNK12_GLOBAL__N_122MemorySanitizerVisitor13constToIntPtrEPN4llvm4TypeEm(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(1632) %0, ptr noundef readonly %1, i64 noundef %2) unnamed_addr #0 align 2 { +define internal fastcc noundef ptr @_ZNK12_GLOBAL__N_122MemorySanitizerVisitor13constToIntPtrEPN4llvm4TypeEm(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(1632) %0, ptr noundef readonly captures(address_is_null) %1, i64 noundef %2) unnamed_addr #0 align 2 { %4 = getelementptr inbounds nuw i8, ptr %1, i64 8 %5 = load i32, ptr %4, align 8 %6 = and i32 %5, 255 @@ -19099,7 +19099,7 @@ common.ret: ; preds = %3 } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef ptr @_ZNK12_GLOBAL__N_122MemorySanitizerVisitor21getPtrToShadowPtrTypeEPN4llvm4TypeES3_(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(1632) %0, ptr noundef readonly %1) unnamed_addr #0 align 2 { +define internal fastcc noundef ptr @_ZNK12_GLOBAL__N_122MemorySanitizerVisitor21getPtrToShadowPtrTypeEPN4llvm4TypeES3_(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(1632) %0, ptr noundef readonly captures(address_is_null) %1) unnamed_addr #0 align 2 { %3 = getelementptr inbounds nuw i8, ptr %1, i64 8 %4 = load i32, ptr %3, align 8 %5 = and i32 %4, 255 @@ -25201,7 +25201,7 @@ declare void @_ZN4llvm7CmpInstC2EPNS_4TypeENS_11Instruction8OtherOpsENS0_9Predic declare noundef ptr @_ZN4llvm4Type9getInt1TyERNS_11LLVMContextE(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5 ; Function Attrs: inlinehint mustprogress nounwind willreturn uwtable -define internal void @_ZN12_GLOBAL__N_116VarArgHelperBaseD2Ev(ptr noundef nonnull align 8 dereferenceable(180) initializes((0, 8)) %0) unnamed_addr #18 align 2 { +define internal void @_ZN12_GLOBAL__N_116VarArgHelperBaseD2Ev(ptr noundef nonnull align 8 captures(address) dereferenceable(180) initializes((0, 8)) %0) unnamed_addr #18 align 2 { store ptr getelementptr inbounds nuw inrange(-16, 48) (i8, ptr @_ZTVN12_GLOBAL__N_116VarArgHelperBaseE, i64 16), ptr %0, align 8, !tbaa !15 %2 = getelementptr inbounds nuw i8, ptr %0, i64 32 %3 = load ptr, ptr %2, align 8, !tbaa !32 @@ -26581,7 +26581,7 @@ _ZN12_GLOBAL__N_122MemorySanitizerVisitor9getOriginEPN4llvm5ValueE.exit: ; preds } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc void @_ZN12_GLOBAL__N_122MemorySanitizerVisitor16instrumentAllocaERN4llvm10AllocaInstEPNS1_11InstructionE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(1632) %0, ptr noundef nonnull align 8 dereferenceable(80) %1, ptr noundef readonly %2) unnamed_addr #0 align 2 { +define internal fastcc void @_ZN12_GLOBAL__N_122MemorySanitizerVisitor16instrumentAllocaERN4llvm10AllocaInstEPNS1_11InstructionE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(1632) %0, ptr noundef nonnull align 8 dereferenceable(80) %1, ptr noundef readonly captures(address_is_null) %2) unnamed_addr #0 align 2 { %4 = alloca %"class.llvm::Twine", align 8 %5 = alloca %"class.llvm::Twine", align 8 %6 = alloca [2 x ptr], align 8 @@ -30288,7 +30288,7 @@ _ZN4llvm9IRBuilderINS_14ConstantFolderENS_24IRBuilderDefaultInserterEED2Ev.exit: } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(32) ptr @_ZN12_GLOBAL__N_122MemorySanitizerVisitor8CombinerILb1EE3AddEPN4llvm5ValueE(ptr noundef nonnull returned align 8 dereferenceable(32) %0, ptr noundef %1) unnamed_addr #0 align 2 { +define internal fastcc noundef nonnull align 8 dereferenceable(32) ptr @_ZN12_GLOBAL__N_122MemorySanitizerVisitor8CombinerILb1EE3AddEPN4llvm5ValueE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(32) %0, ptr noundef %1) unnamed_addr #0 align 2 { %3 = alloca ptr, align 8 %4 = getelementptr inbounds nuw i8, ptr %0, i64 24 %5 = load ptr, ptr %4, align 8, !tbaa !810 @@ -30424,7 +30424,7 @@ _ZN12_GLOBAL__N_122MemorySanitizerVisitor9setOriginEPN4llvm5ValueES3_.exit: ; pr } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(32) ptr @_ZN12_GLOBAL__N_122MemorySanitizerVisitor8CombinerILb1EE3AddEPN4llvm5ValueES5_(ptr noundef nonnull returned align 8 dereferenceable(32) %0, ptr noundef %1, ptr noundef %2) unnamed_addr #0 align 2 { +define internal fastcc noundef nonnull align 8 dereferenceable(32) ptr @_ZN12_GLOBAL__N_122MemorySanitizerVisitor8CombinerILb1EE3AddEPN4llvm5ValueES5_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(32) %0, ptr noundef %1, ptr noundef %2) unnamed_addr #0 align 2 { %4 = alloca %"class.llvm::Twine", align 8 %5 = alloca %"class.llvm::Twine", align 8 %6 = alloca %"class.llvm::Twine", align 8 @@ -31935,7 +31935,7 @@ _ZNK4llvm13IRBuilderBase6InsertINS_11InstructionEEEPT_S4_RKNS_5TwineE.exit: ; pr } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(32) ptr @_ZN12_GLOBAL__N_122MemorySanitizerVisitor8CombinerILb0EE3AddEPN4llvm5ValueE(ptr noundef nonnull returned align 8 dereferenceable(32) %0, ptr noundef %1) unnamed_addr #0 align 2 { +define internal fastcc noundef nonnull align 8 dereferenceable(32) ptr @_ZN12_GLOBAL__N_122MemorySanitizerVisitor8CombinerILb0EE3AddEPN4llvm5ValueE(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(32) %0, ptr noundef %1) unnamed_addr #0 align 2 { %3 = alloca %"class.llvm::Twine", align 8 %4 = alloca %"class.llvm::Twine", align 8 %5 = alloca ptr, align 8 @@ -42184,12 +42184,16 @@ _ZN12_GLOBAL__N_122MemorySanitizerVisitor9setShadowEPN4llvm5ValueES3_.exit: ; pr %wide.trip.count79 = zext nneg i32 %32 to i64 br label %.lr.ph73 -._crit_edge74: ; preds = %.lr.ph73, %141 - %144 = load ptr, ptr %0, align 8, !tbaa !565 - %145 = call noundef nonnull align 8 dereferenceable(496) ptr @_ZNK4llvm8Function13getDataLayoutEv(ptr noundef nonnull align 8 dereferenceable(136) %144) #25 - %146 = call { i64, i8 } @_ZNK4llvm10DataLayout17getTypeSizeInBitsEPNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(496) %145, ptr noundef %48) - %147 = load ptr, ptr %143, align 8, !tbaa !834 - %148 = getelementptr inbounds nuw i8, ptr %147, i64 8 +._crit_edge74: ; preds = %.lr.ph73 + %144 = load ptr, ptr %143, align 8, !tbaa !834 + br label %._crit_edge74 + +._crit_edge74:; preds = %._crit_edge74.loopexit, %141 + %148 = phi ptr [ %144, %._crit_edge74 ], [ %0, %141 ] + %145 = load ptr, ptr %0, align 8, !tbaa !565 + %146 = call noundef nonnull align 8 dereferenceable(496) ptr @_ZNK4llvm8Function13getDataLayoutEv(ptr noundef nonnull align 8 dereferenceable(136) %145) #25 + %147 = call { i64, i8 } @_ZNK4llvm10DataLayout17getTypeSizeInBitsEPNS_4TypeE(ptr noundef nonnull align 8 dereferenceable(496) %146, ptr noundef %48) + %148 = getelementptr inbounds nuw i8, ptr %144, i64 8 %149 = load ptr, ptr %148, align 8, !tbaa !522 %150 = getelementptr inbounds nuw i8, ptr %149, i64 4 %151 = load i32, ptr %150, align 4, !tbaa !135 @@ -42197,16 +42201,16 @@ _ZN12_GLOBAL__N_122MemorySanitizerVisitor9setShadowEPN4llvm5ValueES3_.exit: ; pr br i1 %.not.i, label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor8CombinerILb0EE18DoneAndStoreOriginEN4llvm8TypeSizeEPNS3_5ValueE.exit, label %152 152: ; preds = %._crit_edge74 - %.fca.0.extract.i.i = extractvalue { i64, i8 } %146, 0 + %.fca.0.extract.i.i = extractvalue { i64, i8 } %147, 0 %153 = add i64 %.fca.0.extract.i.i, 7 %154 = lshr i64 %153, 3 - %.fca.1.extract.i.i = extractvalue { i64, i8 } %146, 1 + %.fca.1.extract.i.i = extractvalue { i64, i8 } %147, 1 %155 = and i8 %.fca.1.extract.i.i, 1 %156 = load ptr, ptr %142, align 8, !tbaa !837 %157 = getelementptr inbounds nuw i8, ptr %8, i64 8 %158 = load ptr, ptr %157, align 8, !tbaa !836 %.sroa.0.0.copyload.i = load i8, ptr @_ZL19kMinOriginAlignment, align 1, !tbaa !13 - call fastcc void @_ZN12_GLOBAL__N_122MemorySanitizerVisitor11paintOriginERN4llvm9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEEPNS1_5ValueES8_NS1_8TypeSizeENS1_5AlignE(ptr noundef nonnull align 8 dereferenceable(1632) %147, ptr noundef nonnull align 8 dereferenceable(144) %156, ptr noundef %158, ptr noundef %96, i64 %154, i8 %155, i8 %.sroa.0.0.copyload.i) + call fastcc void @_ZN12_GLOBAL__N_122MemorySanitizerVisitor11paintOriginERN4llvm9IRBuilderINS1_14ConstantFolderENS1_24IRBuilderDefaultInserterEEEPNS1_5ValueES8_NS1_8TypeSizeENS1_5AlignE(ptr noundef nonnull align 8 dereferenceable(1632) %144, ptr noundef nonnull align 8 dereferenceable(144) %156, ptr noundef %158, ptr noundef %96, i64 %154, i8 %155, i8 %.sroa.0.0.copyload.i) br label %_ZN12_GLOBAL__N_122MemorySanitizerVisitor8CombinerILb0EE18DoneAndStoreOriginEN4llvm8TypeSizeEPNS3_5ValueE.exit _ZN12_GLOBAL__N_122MemorySanitizerVisitor8CombinerILb0EE18DoneAndStoreOriginEN4llvm8TypeSizeEPNS3_5ValueE.exit: ; preds = %._crit_edge74, %152 diff --git a/bench/llvm/optimized/X86InstructionSelector.ll b/bench/llvm/optimized/X86InstructionSelector.ll index 2bfed52d435..bde5c880d47 100644 --- a/bench/llvm/optimized/X86InstructionSelector.ll +++ b/bench/llvm/optimized/X86InstructionSelector.ll @@ -5075,8 +5075,6 @@ _ZL16X86SelectAddressRKN4llvm12MachineInstrERKNS_19MachineRegisterInfoERNS_14X86 179: ; preds = %_ZL16X86SelectAddressRKN4llvm12MachineInstrERKNS_19MachineRegisterInfoERNS_14X86AddressModeE.exit call void @_ZN4llvm12MachineInstr13removeOperandEj(ptr noundef nonnull align 8 dereferenceable(70) %1, i32 noundef 0) #20 %180 = call fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN4llvmL14addFullAddressERKNS_19MachineInstrBuilderERKNS_14X86AddressModeE(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef nonnull align 8 dereferenceable(36) %14) - %181 = load ptr, ptr %98, align 8, !tbaa !706 - %182 = load ptr, ptr %13, align 8, !tbaa !704 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #20 %183 = getelementptr inbounds nuw i8, ptr %5, i64 8 store ptr null, ptr %183, align 8, !tbaa !599, !alias.scope !726 @@ -5085,7 +5083,7 @@ _ZL16X86SelectAddressRKN4llvm12MachineInstrERKNS_19MachineRegisterInfoERNS_14X86 %185 = getelementptr inbounds nuw i8, ptr %5, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %185, i8 0, i64 16, i1 false), !alias.scope !726 store i32 0, ptr %5, align 8, !alias.scope !726 - call void @_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE(ptr noundef nonnull align 8 dereferenceable(70) %181, ptr noundef nonnull align 8 dereferenceable(1065) %182, ptr noundef nonnull align 8 dereferenceable(32) %5) #20 + call void @_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE(ptr noundef nonnull align 8 dereferenceable(70) %1, ptr noundef nonnull align 8 dereferenceable(1065) %3, ptr noundef nonnull align 8 dereferenceable(32) %5) #20 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #20 br label %186 @@ -10672,7 +10670,7 @@ _ZN4llvm16MachineIRBuilder11setDebugLocERKNS_8DebugLocE.exit: ; preds = %_ZN4llv } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef zeroext i1 @_ZNK4llvm20GIMatchTableExecutor17executeMatchTableIKN12_GLOBAL__N_122X86InstructionSelectorENS_6BitsetILj150EEEMS3_KFSt8optionalINS_11SmallVectorISt8functionIFvRNS_19MachineInstrBuilderEEELj4EEEERNS_14MachineOperandEEMS3_KFvSB_RKNS_12MachineInstrEiEEEbRT_RNS0_12MatcherStateERKNS0_10ExecInfoTyIT0_T1_T2_EERNS_16MachineIRBuilderEPKhRKNS_15TargetInstrInfoERNS_19MachineRegisterInfoERKNS_18TargetRegisterInfoERKNS_16RegisterBankInfoERKSU_PNS_15CodeGenCoverageE(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(1400) %1, ptr noundef nonnull align 8 dereferenceable(168) %2, ptr noundef nonnull readonly align 8 dereferenceable(1064) %3, ptr noundef nonnull align 8 dereferenceable(88) %4, ptr noundef readonly %5, ptr noundef nonnull align 8 dereferenceable(80) %6, ptr noundef nonnull align 8 dereferenceable(504) %7, ptr noundef nonnull align 8 dereferenceable(308) %8, ptr noundef nonnull align 8 dereferenceable(160) %9, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %10, ptr noundef nonnull %11) unnamed_addr #0 align 2 { +define internal fastcc noundef zeroext i1 @_ZNK4llvm20GIMatchTableExecutor17executeMatchTableIKN12_GLOBAL__N_122X86InstructionSelectorENS_6BitsetILj150EEEMS3_KFSt8optionalINS_11SmallVectorISt8functionIFvRNS_19MachineInstrBuilderEEELj4EEEERNS_14MachineOperandEEMS3_KFvSB_RKNS_12MachineInstrEiEEEbRT_RNS0_12MatcherStateERKNS0_10ExecInfoTyIT0_T1_T2_EERNS_16MachineIRBuilderEPKhRKNS_15TargetInstrInfoERNS_19MachineRegisterInfoERKNS_18TargetRegisterInfoERKNS_16RegisterBankInfoERKSU_PNS_15CodeGenCoverageE(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(1400) %1, ptr noundef nonnull align 8 dereferenceable(168) %2, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(1064) %3, ptr noundef nonnull align 8 dereferenceable(88) %4, ptr noundef readonly %5, ptr noundef nonnull align 8 dereferenceable(80) %6, ptr noundef nonnull align 8 dereferenceable(504) %7, ptr noundef nonnull align 8 dereferenceable(308) %8, ptr noundef nonnull align 8 dereferenceable(160) %9, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %10, ptr noundef nonnull %11) unnamed_addr #0 align 2 { %13 = alloca %"class.llvm::MachineOperand", align 8 %14 = alloca %"class.llvm::MachineOperand", align 8 %15 = alloca %"class.llvm::MachineOperand", align 8 @@ -20006,7 +20004,7 @@ declare noundef i32 @_ZNK4llvm12X86InstrInfo16getGlobalBaseRegEPNS_15MachineFunc declare void @_ZN4llvm12MachineInstr13removeOperandEj(ptr noundef nonnull align 8 dereferenceable(70), i32 noundef) local_unnamed_addr #3 ; Function Attrs: inlinehint mustprogress nounwind uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN4llvmL14addFullAddressERKNS_19MachineInstrBuilderERKNS_14X86AddressModeE(ptr noundef nonnull readonly returned align 8 dereferenceable(16) %0, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(36) %1) unnamed_addr #4 { +define internal fastcc noundef nonnull align 8 dereferenceable(16) ptr @_ZN4llvmL14addFullAddressERKNS_19MachineInstrBuilderERKNS_14X86AddressModeE(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(16) %0, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(36) %1) unnamed_addr #4 { %3 = alloca %"class.llvm::MachineOperand", align 8 %4 = alloca %"class.llvm::MachineOperand", align 8 %5 = alloca %"class.llvm::MachineOperand", align 8 diff --git a/bench/lodepng/optimized/lodepng.ll b/bench/lodepng/optimized/lodepng.ll index 4f063373ab7..658671edb5c 100644 --- a/bench/lodepng/optimized/lodepng.ll +++ b/bench/lodepng/optimized/lodepng.ll @@ -4406,14 +4406,14 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull ptr @_Z18lodepng_chunk_dataPh(ptr noundef readnone %chunk) local_unnamed_addr #9 { +define noundef nonnull ptr @_Z18lodepng_chunk_dataPh(ptr noundef readnone captures(ret: address, provenance) %chunk) local_unnamed_addr #9 { entry: %arrayidx = getelementptr inbounds nuw i8, ptr %chunk, i64 8 ret ptr %arrayidx } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull ptr @_Z24lodepng_chunk_data_constPKh(ptr noundef readnone %chunk) local_unnamed_addr #9 { +define noundef nonnull ptr @_Z24lodepng_chunk_data_constPKh(ptr noundef readnone captures(ret: address, provenance) %chunk) local_unnamed_addr #9 { entry: %arrayidx = getelementptr inbounds nuw i8, ptr %chunk, i64 8 ret ptr %arrayidx @@ -9874,7 +9874,7 @@ cleanup: ; preds = %if.then.i, %for.inc } ; Function Attrs: mustprogress nounwind uwtable -define noundef range(i32 0, 95) i32 @_Z15lodepng_inspectPjS_P12LodePNGStatePKhm(ptr noundef writeonly %w, ptr noundef writeonly %h, ptr noundef captures(none) %state, ptr noundef readonly %in, i64 noundef %insize) local_unnamed_addr #2 { +define noundef range(i32 0, 95) i32 @_Z15lodepng_inspectPjS_P12LodePNGStatePKhm(ptr noundef writeonly captures(address_is_null) %w, ptr noundef writeonly captures(address_is_null) %h, ptr noundef captures(none) %state, ptr noundef readonly captures(address_is_null) %in, i64 noundef %insize) local_unnamed_addr #2 { entry: %info_png = getelementptr inbounds nuw i8, ptr %state, i64 208 %cmp = icmp eq i64 %insize, 0 @@ -11993,7 +11993,7 @@ return: ; preds = %if.end13, %if.end88 } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z14lodepng_decodePPhPjS1_P12LodePNGStatePKhm(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef initializes((0, 4)) %w, ptr noundef initializes((0, 4)) %h, ptr noundef %state, ptr noundef %in, i64 noundef %insize) local_unnamed_addr #5 { +define noundef i32 @_Z14lodepng_decodePPhPjS1_P12LodePNGStatePKhm(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef captures(address_is_null) initializes((0, 4)) %w, ptr noundef captures(address_is_null) initializes((0, 4)) %h, ptr noundef %state, ptr noundef %in, i64 noundef %insize) local_unnamed_addr #5 { entry: %passw.i.i.i = alloca [7 x i32], align 16 %passh.i.i.i = alloca [7 x i32], align 16 @@ -13847,7 +13847,7 @@ return: ; preds = %for.cond.i, %if.end } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z21lodepng_decode_memoryPPhPjS1_PKhm16LodePNGColorTypej(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef initializes((0, 4)) %w, ptr noundef initializes((0, 4)) %h, ptr noundef %in, i64 noundef %insize, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { +define noundef i32 @_Z21lodepng_decode_memoryPPhPjS1_PKhm16LodePNGColorTypej(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef captures(address_is_null) initializes((0, 4)) %w, ptr noundef captures(address_is_null) initializes((0, 4)) %h, ptr noundef %in, i64 noundef %insize, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { entry: %state = alloca %struct.LodePNGState, align 8 %color_convert.i.i = getelementptr inbounds nuw i8, ptr %state, i64 52 @@ -14041,21 +14041,21 @@ _Z26lodepng_color_mode_cleanupP16LodePNGColorMode.exit: ; preds = %entry, %if.th } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z16lodepng_decode32PPhPjS1_PKhm(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef initializes((0, 4)) %w, ptr noundef initializes((0, 4)) %h, ptr noundef %in, i64 noundef %insize) local_unnamed_addr #5 { +define noundef i32 @_Z16lodepng_decode32PPhPjS1_PKhm(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef captures(address_is_null) initializes((0, 4)) %w, ptr noundef captures(address_is_null) initializes((0, 4)) %h, ptr noundef %in, i64 noundef %insize) local_unnamed_addr #5 { entry: %call = tail call noundef i32 @_Z21lodepng_decode_memoryPPhPjS1_PKhm16LodePNGColorTypej(ptr noundef %out, ptr noundef %w, ptr noundef %h, ptr noundef %in, i64 noundef %insize, i32 noundef 6, i32 noundef 8) ret i32 %call } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z16lodepng_decode24PPhPjS1_PKhm(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef initializes((0, 4)) %w, ptr noundef initializes((0, 4)) %h, ptr noundef %in, i64 noundef %insize) local_unnamed_addr #5 { +define noundef i32 @_Z16lodepng_decode24PPhPjS1_PKhm(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef captures(address_is_null) initializes((0, 4)) %w, ptr noundef captures(address_is_null) initializes((0, 4)) %h, ptr noundef %in, i64 noundef %insize) local_unnamed_addr #5 { entry: %call = tail call noundef i32 @_Z21lodepng_decode_memoryPPhPjS1_PKhm16LodePNGColorTypej(ptr noundef %out, ptr noundef %w, ptr noundef %h, ptr noundef %in, i64 noundef %insize, i32 noundef 2, i32 noundef 8) ret i32 %call } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z19lodepng_decode_filePPhPjS1_PKc16LodePNGColorTypej(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef initializes((0, 4)) %w, ptr noundef initializes((0, 4)) %h, ptr noundef readonly captures(none) %filename, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { +define noundef i32 @_Z19lodepng_decode_filePPhPjS1_PKc16LodePNGColorTypej(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef captures(address_is_null) initializes((0, 4)) %w, ptr noundef captures(address_is_null) initializes((0, 4)) %h, ptr noundef readonly captures(none) %filename, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { entry: %buffer = alloca ptr, align 8 %buffersize = alloca i64, align 8 @@ -14080,7 +14080,7 @@ if.end: ; preds = %if.then, %entry } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z21lodepng_decode32_filePPhPjS1_PKc(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef initializes((0, 4)) %w, ptr noundef initializes((0, 4)) %h, ptr noundef readonly captures(none) %filename) local_unnamed_addr #5 { +define noundef i32 @_Z21lodepng_decode32_filePPhPjS1_PKc(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef captures(address_is_null) initializes((0, 4)) %w, ptr noundef captures(address_is_null) initializes((0, 4)) %h, ptr noundef readonly captures(none) %filename) local_unnamed_addr #5 { entry: %buffer.i = alloca ptr, align 8 %buffersize.i = alloca i64, align 8 @@ -14109,7 +14109,7 @@ _Z19lodepng_decode_filePPhPjS1_PKc16LodePNGColorTypej.exit: ; preds = %entry, %i } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z21lodepng_decode24_filePPhPjS1_PKc(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef initializes((0, 4)) %w, ptr noundef initializes((0, 4)) %h, ptr noundef readonly captures(none) %filename) local_unnamed_addr #5 { +define noundef i32 @_Z21lodepng_decode24_filePPhPjS1_PKc(ptr noundef captures(none) initializes((0, 8)) %out, ptr noundef captures(address_is_null) initializes((0, 4)) %w, ptr noundef captures(address_is_null) initializes((0, 4)) %h, ptr noundef readonly captures(none) %filename) local_unnamed_addr #5 { entry: %buffer.i = alloca ptr, align 8 %buffersize.i = alloca i64, align 8 @@ -14286,7 +14286,7 @@ if.end11: ; preds = %_Z23lodepng_color_m declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #16 ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z14lodepng_encodePPhPmPKhjjP12LodePNGState(ptr noundef writeonly captures(none) initializes((0, 8)) %out, ptr noundef writeonly captures(none) initializes((0, 8)) %outsize, ptr noundef %image, i32 noundef %w, i32 noundef %h, ptr noundef initializes((536, 540)) %state) local_unnamed_addr #5 { +define noundef i32 @_Z14lodepng_encodePPhPmPKhjjP12LodePNGState(ptr noundef writeonly captures(none) initializes((0, 8)) %out, ptr noundef writeonly captures(none) initializes((0, 8)) %outsize, ptr noundef captures(address_is_null) %image, i32 noundef %w, i32 noundef %h, ptr noundef initializes((536, 540)) %state) local_unnamed_addr #5 { entry: %data = alloca ptr, align 8 %datasize = alloca i64, align 8 @@ -15672,7 +15672,7 @@ if.end98: ; preds = %if.then.i70, %for.b } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 89) i32 @_ZL19preProcessScanlinesPPhPmPKhjjPK11LodePNGInfoPK22LodePNGEncoderSettings(ptr noundef nonnull captures(none) %out, ptr noundef nonnull captures(none) %outsize, ptr noundef %in, i32 noundef %w, i32 noundef %h, ptr noundef nonnull readonly captures(none) %info_png, ptr noundef readonly captures(none) %settings) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 89) i32 @_ZL19preProcessScanlinesPPhPmPKhjjPK11LodePNGInfoPK22LodePNGEncoderSettings(ptr noundef nonnull captures(none) %out, ptr noundef nonnull captures(none) %outsize, ptr noundef captures(address_is_null) %in, i32 noundef %w, i32 noundef %h, ptr noundef nonnull readonly captures(none) %info_png, ptr noundef readonly captures(none) %settings) unnamed_addr #5 { entry: %passw.i = alloca [7 x i32], align 16 %passh.i = alloca [7 x i32], align 16 @@ -18654,7 +18654,7 @@ _ZL21lodepng_chunk_createvP8ucvectormPKcPKh.exit: ; preds = %entry, %if.then.i.i } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z21lodepng_encode_memoryPPhPmPKhjj16LodePNGColorTypej(ptr noundef writeonly captures(none) initializes((0, 8)) %out, ptr noundef writeonly captures(none) initializes((0, 8)) %outsize, ptr noundef %image, i32 noundef %w, i32 noundef %h, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { +define noundef i32 @_Z21lodepng_encode_memoryPPhPmPKhjj16LodePNGColorTypej(ptr noundef writeonly captures(none) initializes((0, 8)) %out, ptr noundef writeonly captures(none) initializes((0, 8)) %outsize, ptr noundef captures(address_is_null) %image, i32 noundef %w, i32 noundef %h, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { entry: %state = alloca %struct.LodePNGState, align 8 %color_convert.i.i = getelementptr inbounds nuw i8, ptr %state, i64 52 @@ -18749,21 +18749,21 @@ _Z21lodepng_state_cleanupP12LodePNGState.exit: ; preds = %entry, %if.then.i.i } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z16lodepng_encode32PPhPmPKhjj(ptr noundef writeonly captures(none) initializes((0, 8)) %out, ptr noundef writeonly captures(none) initializes((0, 8)) %outsize, ptr noundef %image, i32 noundef %w, i32 noundef %h) local_unnamed_addr #5 { +define noundef i32 @_Z16lodepng_encode32PPhPmPKhjj(ptr noundef writeonly captures(none) initializes((0, 8)) %out, ptr noundef writeonly captures(none) initializes((0, 8)) %outsize, ptr noundef captures(address_is_null) %image, i32 noundef %w, i32 noundef %h) local_unnamed_addr #5 { entry: %call = tail call noundef i32 @_Z21lodepng_encode_memoryPPhPmPKhjj16LodePNGColorTypej(ptr noundef %out, ptr noundef %outsize, ptr noundef %image, i32 noundef %w, i32 noundef %h, i32 noundef 6, i32 noundef 8) ret i32 %call } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z16lodepng_encode24PPhPmPKhjj(ptr noundef writeonly captures(none) initializes((0, 8)) %out, ptr noundef writeonly captures(none) initializes((0, 8)) %outsize, ptr noundef %image, i32 noundef %w, i32 noundef %h) local_unnamed_addr #5 { +define noundef i32 @_Z16lodepng_encode24PPhPmPKhjj(ptr noundef writeonly captures(none) initializes((0, 8)) %out, ptr noundef writeonly captures(none) initializes((0, 8)) %outsize, ptr noundef captures(address_is_null) %image, i32 noundef %w, i32 noundef %h) local_unnamed_addr #5 { entry: %call = tail call noundef i32 @_Z21lodepng_encode_memoryPPhPmPKhjj16LodePNGColorTypej(ptr noundef %out, ptr noundef %outsize, ptr noundef %image, i32 noundef %w, i32 noundef %h, i32 noundef 2, i32 noundef 8) ret i32 %call } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z19lodepng_encode_filePKcPKhjj16LodePNGColorTypej(ptr noundef readonly captures(none) %filename, ptr noundef %image, i32 noundef %w, i32 noundef %h, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { +define noundef i32 @_Z19lodepng_encode_filePKcPKhjj16LodePNGColorTypej(ptr noundef readonly captures(none) %filename, ptr noundef captures(address_is_null) %image, i32 noundef %w, i32 noundef %h, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { entry: %buffer = alloca ptr, align 8 %buffersize = alloca i64, align 8 @@ -18790,7 +18790,7 @@ if.end: ; preds = %if.end.i, %if.then, } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z21lodepng_encode32_filePKcPKhjj(ptr noundef readonly captures(none) %filename, ptr noundef %image, i32 noundef %w, i32 noundef %h) local_unnamed_addr #5 { +define noundef i32 @_Z21lodepng_encode32_filePKcPKhjj(ptr noundef readonly captures(none) %filename, ptr noundef captures(address_is_null) %image, i32 noundef %w, i32 noundef %h) local_unnamed_addr #5 { entry: %buffer.i = alloca ptr, align 8 %buffersize.i = alloca i64, align 8 @@ -18821,7 +18821,7 @@ _Z19lodepng_encode_filePKcPKhjj16LodePNGColorTypej.exit: ; preds = %entry, %if.t } ; Function Attrs: mustprogress uwtable -define noundef i32 @_Z21lodepng_encode24_filePKcPKhjj(ptr noundef readonly captures(none) %filename, ptr noundef %image, i32 noundef %w, i32 noundef %h) local_unnamed_addr #5 { +define noundef i32 @_Z21lodepng_encode24_filePKcPKhjj(ptr noundef readonly captures(none) %filename, ptr noundef captures(address_is_null) %image, i32 noundef %w, i32 noundef %h) local_unnamed_addr #5 { entry: %buffer.i = alloca ptr, align 8 %buffersize.i = alloca i64, align 8 @@ -19506,14 +19506,14 @@ invoke.cont: ; preds = %if.then.i.i.i, %ent declare i32 @__gxx_personality_v0(...) ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(544) ptr @_ZN7lodepng5StateaSERKS0_(ptr noundef nonnull returned align 8 dereferenceable(544) initializes((184, 192), (240, 248)) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(544) %other) local_unnamed_addr #2 align 2 { +define noundef nonnull align 8 dereferenceable(544) ptr @_ZN7lodepng5StateaSERKS0_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(544) initializes((184, 192), (240, 248)) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(544) %other) local_unnamed_addr #2 align 2 { entry: tail call void @_Z18lodepng_state_copyP12LodePNGStatePKS_(ptr noundef nonnull %this, ptr noundef nonnull %other) ret ptr %this } ; Function Attrs: mustprogress uwtable -define noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_PKhm16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef nonnull align 4 dereferenceable(4) initializes((0, 4)) %w, ptr noundef nonnull align 4 dereferenceable(4) initializes((0, 4)) %h, ptr noundef %in, i64 noundef %insize, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_PKhm16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(4) initializes((0, 4)) %w, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(4) initializes((0, 4)) %h, ptr noundef %in, i64 noundef %insize, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { entry: %buffer = alloca ptr, align 8 %state = alloca %"class.lodepng::State", align 8 @@ -19582,7 +19582,7 @@ if.end: ; preds = %invoke.cont9, %entr } ; Function Attrs: mustprogress uwtable -define noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef nonnull align 4 dereferenceable(4) initializes((0, 4)) %w, ptr noundef nonnull align 4 dereferenceable(4) initializes((0, 4)) %h, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %in, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { +define noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKS2_16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(4) initializes((0, 4)) %w, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(4) initializes((0, 4)) %h, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %in, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { entry: %0 = load ptr, ptr %in, align 8 %_M_finish.i.i = getelementptr inbounds nuw i8, ptr %in, i64 8 @@ -19598,7 +19598,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateEPKhm(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef nonnull align 4 dereferenceable(4) initializes((0, 4)) %w, ptr noundef nonnull align 4 dereferenceable(4) initializes((0, 4)) %h, ptr noundef nonnull align 8 dereferenceable(544) %state, ptr noundef %in, i64 noundef %insize) local_unnamed_addr #5 { +define noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateEPKhm(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(4) initializes((0, 4)) %w, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(4) initializes((0, 4)) %h, ptr noundef nonnull align 8 dereferenceable(544) %state, ptr noundef %in, i64 noundef %insize) local_unnamed_addr #5 { entry: %buffer = alloca ptr, align 8 %call = call noundef i32 @_Z14lodepng_decodePPhPjS1_P12LodePNGStatePKhm(ptr noundef nonnull %buffer, ptr noundef nonnull %w, ptr noundef nonnull %h, ptr noundef nonnull %state, ptr noundef %in, i64 noundef %insize) @@ -19655,7 +19655,7 @@ if.end: ; preds = %_Z20lodepng_get_raw } ; Function Attrs: mustprogress uwtable -define noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef nonnull align 4 dereferenceable(4) initializes((0, 4)) %w, ptr noundef nonnull align 4 dereferenceable(4) initializes((0, 4)) %h, ptr noundef nonnull align 8 dereferenceable(544) %state, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %in) local_unnamed_addr #5 { +define noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RNS_5StateERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(4) initializes((0, 4)) %w, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(4) initializes((0, 4)) %h, ptr noundef nonnull align 8 dereferenceable(544) %state, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %in) local_unnamed_addr #5 { entry: %0 = load ptr, ptr %in, align 8 %_M_finish.i.i = getelementptr inbounds nuw i8, ptr %in, i64 8 @@ -19670,7 +19670,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef nonnull align 4 dereferenceable(4) initializes((0, 4)) %w, ptr noundef nonnull align 4 dereferenceable(4) initializes((0, 4)) %h, ptr noundef nonnull align 8 dereferenceable(32) %filename, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define noundef i32 @_ZN7lodepng6decodeERSt6vectorIhSaIhEERjS4_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(4) initializes((0, 4)) %w, ptr noundef nonnull align 4 captures(address_is_null) dereferenceable(4) initializes((0, 4)) %h, ptr noundef nonnull align 8 dereferenceable(32) %filename, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { entry: %buffer = alloca %"class.std::vector", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %buffer, i8 0, i64 24, i1 false) @@ -19725,7 +19725,7 @@ _ZNSt6vectorIhSaIhEED2Ev.exit7: ; preds = %cleanup, %if.then.i } ; Function Attrs: mustprogress uwtable -define noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjj16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef %in, i32 noundef %w, i32 noundef %h, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { +define noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjj16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef captures(address_is_null) %in, i32 noundef %w, i32 noundef %h, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 { entry: %buffer = alloca ptr, align 8 %buffersize = alloca i64, align 8 @@ -19824,7 +19824,7 @@ return: ; preds = %_ZL24lodepng_get_ra } ; Function Attrs: mustprogress uwtable -define noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef %in, i32 noundef %w, i32 noundef %h, ptr noundef nonnull align 8 dereferenceable(544) initializes((536, 540)) %state) local_unnamed_addr #5 { +define noundef i32 @_ZN7lodepng6encodeERSt6vectorIhSaIhEEPKhjjRNS_5StateE(ptr noundef nonnull align 8 dereferenceable(24) %out, ptr noundef captures(address_is_null) %in, i32 noundef %w, i32 noundef %h, ptr noundef nonnull align 8 dereferenceable(544) initializes((536, 540)) %state) local_unnamed_addr #5 { entry: %buffer = alloca ptr, align 8 %buffersize = alloca i64, align 8 @@ -19927,7 +19927,7 @@ return: ; preds = %_Z20lodepng_get_raw } ; Function Attrs: mustprogress uwtable -define noundef i32 @_ZN7lodepng6encodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKhjj16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(32) %filename, ptr noundef %in, i32 noundef %w, i32 noundef %h, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define noundef i32 @_ZN7lodepng6encodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKhjj16LodePNGColorTypej(ptr noundef nonnull align 8 dereferenceable(32) %filename, ptr noundef captures(address_is_null) %in, i32 noundef %w, i32 noundef %h, i32 noundef %colortype, i32 noundef %bitdepth) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { entry: %buffer.i = alloca ptr, align 8 %buffersize.i = alloca i64, align 8 @@ -23234,7 +23234,7 @@ for.end12: ; preds = %for.cond4.for.inc10 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 89) i32 @_ZL6filterPhPKhjjPK16LodePNGColorModePK22LodePNGEncoderSettings(ptr noundef writeonly captures(none) %out, ptr noundef %in, i32 noundef %w, i32 noundef %h, i32 %color.0.val, i32 %color.4.val, ptr noundef readonly captures(none) %settings) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 89) i32 @_ZL6filterPhPKhjjPK16LodePNGColorModePK22LodePNGEncoderSettings(ptr noundef writeonly captures(none) %out, ptr noundef captures(address_is_null) %in, i32 noundef %w, i32 noundef %h, i32 %color.0.val, i32 %color.4.val, ptr noundef readonly captures(none) %settings) unnamed_addr #5 { entry: %attempt = alloca [5 x ptr], align 16 %attempt137 = alloca [5 x ptr], align 16 @@ -23774,7 +23774,7 @@ return: ; preds = %for.body356, %for.b } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc void @_ZL14filterScanlinePhPKhS1_mmh(ptr noundef writeonly captures(none) %out, ptr noundef readonly captures(none) %scanline, ptr noundef readonly %prevline, i64 noundef %length, i64 noundef range(i64 0, 536870912) %bytewidth, i8 noundef zeroext %filterType) unnamed_addr #8 { +define internal fastcc void @_ZL14filterScanlinePhPKhS1_mmh(ptr noundef writeonly captures(none) %out, ptr noundef readonly captures(none) %scanline, ptr noundef readonly captures(address_is_null) %prevline, i64 noundef %length, i64 noundef range(i64 0, 536870912) %bytewidth, i8 noundef zeroext %filterType) unnamed_addr #8 { entry: switch i8 %filterType, label %sw.epilog [ i8 0, label %for.cond.preheader diff --git a/bench/luajit/optimized/lj_strfmt.ll b/bench/luajit/optimized/lj_strfmt.ll index 32d561d70b3..0ec023e0283 100644 --- a/bench/luajit/optimized/lj_strfmt.ll +++ b/bench/luajit/optimized/lj_strfmt.ll @@ -220,7 +220,7 @@ return: ; preds = %retlit, %if.end120, } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(write, inaccessiblemem: none) uwtable -define hidden nonnull ptr @lj_strfmt_wint(ptr noundef writeonly %p, i32 noundef %k) local_unnamed_addr #1 { +define hidden nonnull ptr @lj_strfmt_wint(ptr noundef writeonly captures(ret: address, provenance) %p, i32 noundef %k) local_unnamed_addr #1 { entry: %cmp = icmp slt i32 %k, 0 br i1 %cmp, label %if.then, label %if.end @@ -393,7 +393,7 @@ dig1: ; preds = %if.then2, %dig2 } ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: write) uwtable -define hidden nonnull ptr @lj_strfmt_wptr(ptr noundef writeonly initializes((0, 2)) %p, ptr noundef %v) local_unnamed_addr #2 { +define hidden nonnull ptr @lj_strfmt_wptr(ptr noundef writeonly captures(ret: address, provenance) initializes((0, 2)) %p, ptr noundef %v) local_unnamed_addr #2 { entry: %0 = ptrtoint ptr %v to i64 %cmp = icmp eq ptr %v, null @@ -461,7 +461,7 @@ return: ; preds = %for.end, %if.then declare i32 @llvm.ctlz.i32(i32, i1 immarg) #3 ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: write) uwtable -define hidden nonnull ptr @lj_strfmt_wuleb128(ptr noundef writeonly %p, i32 noundef %v) local_unnamed_addr #2 { +define hidden nonnull ptr @lj_strfmt_wuleb128(ptr noundef writeonly captures(ret: address, provenance) %p, i32 noundef %v) local_unnamed_addr #2 { entry: %cmp6 = icmp ugt i32 %v, 127 br i1 %cmp6, label %for.body, label %for.end @@ -2066,8 +2066,7 @@ land.lhs.true: ; preds = %cond.end if.then59: ; preds = %land.lhs.true store i64 2553093987521623394, ptr %incdec.ptr49, align 1 %add.ptr.i = getelementptr inbounds nuw i8, ptr %add.ptr.i77, i64 10 - %5 = load i8, ptr %ffid, align 2 - %conv64 = zext i8 %5 to i32 + %5 = zext i8 %4 to i32 %call65 = call ptr @lj_strfmt_wint(ptr noundef nonnull %add.ptr.i, i32 noundef %conv64) br label %if.end diff --git a/bench/lz4/optimized/lz4frame.ll b/bench/lz4/optimized/lz4frame.ll index b0617a08b8d..8a2e9fe785c 100644 --- a/bench/lz4/optimized/lz4frame.ll +++ b/bench/lz4/optimized/lz4frame.ll @@ -110,7 +110,7 @@ return: ; preds = %entry, %if.end4 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define i64 @LZ4F_compressFrameBound(i64 noundef %srcSize, ptr noundef readonly %preferencesPtr) local_unnamed_addr #1 { +define i64 @LZ4F_compressFrameBound(i64 noundef %srcSize, ptr noundef readonly captures(address_is_null) %preferencesPtr) local_unnamed_addr #1 { entry: %cmp.not = icmp eq ptr %preferencesPtr, null br i1 %cmp.not, label %LZ4F_getBlockSize.exit.thread49.i, label %if.end @@ -173,7 +173,7 @@ declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr no declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immarg) #3 ; Function Attrs: nounwind uwtable -define i64 @LZ4F_compressFrame_usingCDict(ptr noundef %cctx, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef %cdict, ptr noundef readonly %preferencesPtr) local_unnamed_addr #4 { +define i64 @LZ4F_compressFrame_usingCDict(ptr noundef %cctx, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef %cdict, ptr noundef readonly captures(address_is_null) %preferencesPtr) local_unnamed_addr #4 { entry: %prefs = alloca %struct.LZ4F_preferences_t, align 8 %options = alloca %struct.LZ4F_compressOptions_t, align 4 @@ -388,7 +388,7 @@ return: ; preds = %if.then23.i, %if.th } ; Function Attrs: nounwind uwtable -define i64 @LZ4F_compressBegin_usingCDict(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %cdict, ptr noundef readonly %preferencesPtr) local_unnamed_addr #4 { +define i64 @LZ4F_compressBegin_usingCDict(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %cdict, ptr noundef readonly captures(address_is_null) %preferencesPtr) local_unnamed_addr #4 { entry: %prefNull = alloca %struct.LZ4F_preferences_t, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %prefNull, i8 0, i64 56, i1 false) @@ -831,7 +831,7 @@ return: ; preds = %LZ4F_malloc.exit113 } ; Function Attrs: nounwind uwtable -define i64 @LZ4F_compressUpdate(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef %compressOptionsPtr) local_unnamed_addr #4 { +define i64 @LZ4F_compressUpdate(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef captures(address_is_null) %compressOptionsPtr) local_unnamed_addr #4 { entry: %call = tail call fastcc i64 @LZ4F_compressUpdateImpl(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef %compressOptionsPtr, i32 noundef 0) ret i64 %call @@ -909,7 +909,7 @@ return: ; preds = %if.then23, %if.then } ; Function Attrs: nounwind uwtable -define i64 @LZ4F_compressFrame(ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef %preferencesPtr) local_unnamed_addr #4 { +define i64 @LZ4F_compressFrame(ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef captures(address_is_null) %preferencesPtr) local_unnamed_addr #4 { entry: %cctx = alloca %struct.LZ4F_cctx_s, align 8 %lz4ctx = alloca %union.LZ4_stream_u, align 8 @@ -1232,7 +1232,7 @@ return: ; preds = %if.end5.i, %LZ4F_ca } ; Function Attrs: mustprogress nofree nounwind willreturn memory(write, inaccessiblemem: readwrite) uwtable -define range(i64 -21, 1) i64 @LZ4F_createCompressionContext(ptr noundef writeonly %LZ4F_compressionContextPtr, i32 noundef %version) local_unnamed_addr #6 { +define range(i64 -21, 1) i64 @LZ4F_createCompressionContext(ptr noundef writeonly captures(address_is_null) %LZ4F_compressionContextPtr, i32 noundef %version) local_unnamed_addr #6 { entry: %cmp = icmp eq ptr %LZ4F_compressionContextPtr, null br i1 %cmp, label %return, label %LZ4F_calloc.exit.i @@ -1323,14 +1323,14 @@ declare i32 @LZ4_XXH32_reset(ptr noundef, i32 noundef) local_unnamed_addr #5 declare void @LZ4_favorDecompressionSpeed(ptr noundef, i32 noundef) local_unnamed_addr #5 ; Function Attrs: nounwind uwtable -define i64 @LZ4F_compressBegin(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %preferencesPtr) local_unnamed_addr #4 { +define i64 @LZ4F_compressBegin(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef captures(address_is_null) %preferencesPtr) local_unnamed_addr #4 { entry: %call = tail call i64 @LZ4F_compressBegin_usingCDict(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef null, ptr noundef %preferencesPtr) ret i64 %call } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define i64 @LZ4F_compressBound(i64 noundef %srcSize, ptr noundef readonly %preferencesPtr) local_unnamed_addr #1 { +define i64 @LZ4F_compressBound(i64 noundef %srcSize, ptr noundef readonly captures(address_is_null) %preferencesPtr) local_unnamed_addr #1 { entry: %tobool.not = icmp eq ptr %preferencesPtr, null br i1 %tobool.not, label %entry.split, label %land.lhs.true @@ -1455,7 +1455,7 @@ return: ; preds = %entry.split, %LZ4F_ } ; Function Attrs: nounwind uwtable -define internal fastcc i64 @LZ4F_compressUpdateImpl(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef readonly %compressOptionsPtr, i32 noundef range(i32 0, 2) %blockCompression) unnamed_addr #4 { +define internal fastcc i64 @LZ4F_compressUpdateImpl(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef readonly captures(address_is_null) %compressOptionsPtr, i32 noundef range(i32 0, 2) %blockCompression) unnamed_addr #4 { entry: %maxBlockSize = getelementptr inbounds nuw i8, ptr %cctxPtr, i64 104 %0 = load i64, ptr %maxBlockSize, align 8 @@ -2017,7 +2017,7 @@ return: ; preds = %if.end8, %LZ4F_comp } ; Function Attrs: nounwind uwtable -define i64 @LZ4F_uncompressedUpdate(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef %compressOptionsPtr) local_unnamed_addr #4 { +define i64 @LZ4F_uncompressedUpdate(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef captures(address_is_null) %compressOptionsPtr) local_unnamed_addr #4 { entry: %call = tail call fastcc i64 @LZ4F_compressUpdateImpl(ptr noundef %cctxPtr, ptr noundef %dstBuffer, i64 noundef %dstCapacity, ptr noundef %srcBuffer, i64 noundef %srcSize, ptr noundef %compressOptionsPtr, i32 noundef 1) ret i64 %call @@ -2253,7 +2253,7 @@ return: ; preds = %if.end5.i, %LZ4F_ca } ; Function Attrs: mustprogress nofree nounwind willreturn memory(write, inaccessiblemem: readwrite) uwtable -define range(i64 -21, 1) i64 @LZ4F_createDecompressionContext(ptr noundef writeonly %LZ4F_decompressionContextPtr, i32 noundef %versionNumber) local_unnamed_addr #6 { +define range(i64 -21, 1) i64 @LZ4F_createDecompressionContext(ptr noundef writeonly captures(address_is_null) %LZ4F_decompressionContextPtr, i32 noundef %versionNumber) local_unnamed_addr #6 { entry: %cmp = icmp eq ptr %LZ4F_decompressionContextPtr, null br i1 %cmp, label %return, label %LZ4F_calloc.exit.i @@ -2356,7 +2356,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define range(i64 -15, 20) i64 @LZ4F_headerSize(ptr noundef readonly %src, i64 noundef %srcSize) local_unnamed_addr #1 { +define range(i64 -15, 20) i64 @LZ4F_headerSize(ptr noundef readonly captures(address_is_null) %src, i64 noundef %srcSize) local_unnamed_addr #1 { entry: %cmp = icmp eq ptr %src, null br i1 %cmp, label %return, label %do.end @@ -2480,7 +2480,7 @@ return: ; preds = %if.end12, %if.then1 } ; Function Attrs: nounwind uwtable -define i64 @LZ4F_decompress(ptr noundef %dctx, ptr noundef %dstBuffer, ptr noundef captures(none) %dstSizePtr, ptr noundef %srcBuffer, ptr noundef captures(none) %srcSizePtr, ptr noundef readonly %decompressOptionsPtr) local_unnamed_addr #4 { +define i64 @LZ4F_decompress(ptr noundef %dctx, ptr noundef %dstBuffer, ptr noundef captures(none) %dstSizePtr, ptr noundef %srcBuffer, ptr noundef captures(none) %srcSizePtr, ptr noundef readonly captures(address_is_null) %decompressOptionsPtr) local_unnamed_addr #4 { entry: %0 = load i64, ptr %srcSizePtr, align 8 %add.ptr = getelementptr inbounds i8, ptr %srcBuffer, i64 %0 @@ -3712,7 +3712,7 @@ return: ; preds = %if.end521, %if.then } ; Function Attrs: nounwind uwtable -define internal fastcc range(i64 4, 0) i64 @LZ4F_decodeHeader(ptr noundef writeonly %dctx, ptr noundef %src, i64 noundef %srcSize) unnamed_addr #4 { +define internal fastcc range(i64 4, 0) i64 @LZ4F_decodeHeader(ptr noundef writeonly captures(address) %dctx, ptr noundef %src, i64 noundef %srcSize) unnamed_addr #4 { entry: %cmp = icmp ult i64 %srcSize, 7 br i1 %cmp, label %return, label %do.end @@ -3894,7 +3894,7 @@ declare i32 @LZ4_XXH32(ptr noundef, i64 noundef, i32 noundef) local_unnamed_addr declare i32 @LZ4_decompress_safe_usingDict(ptr noundef, ptr noundef, i32 noundef, i32 noundef, ptr noundef, i32 noundef) local_unnamed_addr #5 ; Function Attrs: nounwind uwtable -define i64 @LZ4F_decompress_usingDict(ptr noundef %dctx, ptr noundef %dstBuffer, ptr noundef captures(none) %dstSizePtr, ptr noundef %srcBuffer, ptr noundef captures(none) %srcSizePtr, ptr noundef %dict, i64 noundef %dictSize, ptr noundef %decompressOptionsPtr) local_unnamed_addr #4 { +define i64 @LZ4F_decompress_usingDict(ptr noundef %dctx, ptr noundef %dstBuffer, ptr noundef captures(none) %dstSizePtr, ptr noundef %srcBuffer, ptr noundef captures(none) %srcSizePtr, ptr noundef %dict, i64 noundef %dictSize, ptr noundef captures(address_is_null) %decompressOptionsPtr) local_unnamed_addr #4 { entry: %dStage = getelementptr inbounds nuw i8, ptr %dctx, i64 68 %0 = load i32, ptr %dStage, align 4 @@ -3941,7 +3941,7 @@ entry: } ; Function Attrs: nounwind uwtable -define internal i32 @LZ4F_compressBlock(ptr noundef %ctx, ptr noundef %src, ptr noundef %dst, i32 noundef %srcSize, i32 noundef %dstCapacity, i32 noundef %level, ptr noundef readonly %cdict) unnamed_addr #4 { +define internal i32 @LZ4F_compressBlock(ptr noundef %ctx, ptr noundef %src, ptr noundef %dst, i32 noundef %srcSize, i32 noundef %dstCapacity, i32 noundef %level, ptr noundef readonly captures(address_is_null) %cdict) unnamed_addr #4 { entry: %cmp = icmp slt i32 %level, 0 %add = sub i32 1, %level @@ -4007,7 +4007,7 @@ entry: } ; Function Attrs: nounwind uwtable -define internal i32 @LZ4F_compressBlockHC(ptr noundef %ctx, ptr noundef %src, ptr noundef %dst, i32 noundef %srcSize, i32 noundef %dstCapacity, i32 noundef %level, ptr noundef readonly %cdict) unnamed_addr #4 { +define internal i32 @LZ4F_compressBlockHC(ptr noundef %ctx, ptr noundef %src, ptr noundef %dst, i32 noundef %srcSize, i32 noundef %dstCapacity, i32 noundef %level, ptr noundef readonly captures(address_is_null) %cdict) unnamed_addr #4 { entry: %cmp.i = icmp slt i32 %level, 3 br i1 %cmp.i, label %if.then.i, label %if.else.i diff --git a/bench/nanosvg/optimized/nanosvg.ll b/bench/nanosvg/optimized/nanosvg.ll index dce29c67f9c..5bd682bef70 100644 --- a/bench/nanosvg/optimized/nanosvg.ll +++ b/bench/nanosvg/optimized/nanosvg.ll @@ -94,7 +94,7 @@ target triple = "x86_64-pc-linux-gnu" @.str.96 = private unnamed_addr constant [6 x i8] c"slice\00", align 1 ; Function Attrs: nounwind uwtable -define dso_local noundef i32 @nsvg__parseXML(ptr noundef %0, ptr noundef readonly %1, ptr noundef readonly %2, ptr noundef readonly %3, ptr noundef %4) local_unnamed_addr #0 { +define dso_local noundef i32 @nsvg__parseXML(ptr noundef %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef readonly captures(address_is_null) %2, ptr noundef readonly captures(address_is_null) %3, ptr noundef %4) local_unnamed_addr #0 { %6 = alloca [256 x ptr], align 16 %7 = load i8, ptr %0, align 1 %.not53 = icmp eq i8 %7, 0 @@ -4204,7 +4204,7 @@ declare noundef i32 @fclose(ptr noundef captures(none)) local_unnamed_addr #3 declare void @free(ptr allocptr noundef captures(none)) local_unnamed_addr #5 ; Function Attrs: nounwind uwtable -define dso_local void @nsvgDelete(ptr noundef %0) local_unnamed_addr #0 { +define dso_local void @nsvgDelete(ptr noundef captures(address_is_null) %0) local_unnamed_addr #0 { %2 = icmp eq ptr %0, null br i1 %2, label %27, label %3 @@ -4280,7 +4280,7 @@ nsvg__deletePaint.exit12: ; preds = %nsvg__deletePaint.e } ; Function Attrs: mustprogress nounwind willreturn uwtable -define dso_local noalias noundef ptr @nsvgDuplicatePath(ptr noundef readonly %0) local_unnamed_addr #6 { +define dso_local noalias noundef ptr @nsvgDuplicatePath(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #6 { %2 = icmp eq ptr %0, null br i1 %2, label %23, label %3 @@ -4349,7 +4349,7 @@ define dso_local noalias noundef ptr @nsvgCreateRasterizer() local_unnamed_addr } ; Function Attrs: nounwind uwtable -define dso_local void @nsvgDeleteRasterizer(ptr noundef %0) local_unnamed_addr #0 { +define dso_local void @nsvgDeleteRasterizer(ptr noundef captures(address_is_null) %0) local_unnamed_addr #0 { %2 = icmp eq ptr %0, null br i1 %2, label %24, label %3 @@ -10608,7 +10608,7 @@ nsvg__parseSkewY.exit: ; preds = %253, %.preheader37. } ; Function Attrs: nofree nounwind uwtable -define internal fastcc range(i64 0, 42949672960) i64 @nsvg__parseCoordinateRaw(ptr noundef %0) unnamed_addr #14 { +define internal fastcc range(i64 0, 42949672960) i64 @nsvg__parseCoordinateRaw(ptr noundef captures(none) %0) unnamed_addr #14 { %2 = alloca [64 x i8], align 16 %3 = call fastcc ptr @nsvg__parseNumber(ptr noundef %0, ptr noundef %2) %4 = load i8, ptr %3, align 1 @@ -10798,7 +10798,7 @@ nsvg__parseColorName.exit: ; preds = %51, %57, %49, %nsvg } ; Function Attrs: nofree nounwind uwtable -define internal fastcc float @nsvg__parseCoordinate(ptr noundef readonly captures(none) %0, ptr noundef %1, float noundef %2, float noundef %3) unnamed_addr #14 { +define internal fastcc float @nsvg__parseCoordinate(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, float noundef %2, float noundef %3) unnamed_addr #14 { %5 = tail call fastcc i64 @nsvg__parseCoordinateRaw(ptr noundef %1) %.sroa.0.0.extract.trunc.i = trunc i64 %5 to i32 %6 = bitcast i32 %.sroa.0.0.extract.trunc.i to float @@ -11036,16 +11036,16 @@ nsvg__getNextDashItem.exit: ; preds = %.critedge2.i, %10, 71: ; preds = %37 %72 = fmul float %.val21, %.val21 - %73 = call float @llvm.fmuladd.f32(float %.val, float %.val, float %72) - %sqrt.i = call float @llvm.sqrt.f32(float %73) + %73 = tail call float @llvm.fmuladd.f32(float %.val, float %.val, float %72) + %sqrt.i = tail call float @llvm.sqrt.f32(float %73) %74 = fdiv float %sqrt.i, 0x3FF6A09E60000000 %75 = fdiv float %39, 1.000000e+02 - %76 = call float @llvm.fmuladd.f32(float %75, float %74, float 0.000000e+00) + %76 = tail call float @llvm.fmuladd.f32(float %75, float %74, float 0.000000e+00) br label %nsvg__parseCoordinate.exit nsvg__parseCoordinate.exit: ; preds = %37, %43, %47, %51, %55, %59, %62, %66, %71 %.0.i.i = phi float [ %76, %71 ], [ %70, %66 ], [ %65, %62 ], [ %61, %59 ], [ %58, %55 ], [ %54, %51 ], [ %50, %47 ], [ %46, %43 ], [ %39, %37 ] - %77 = call float @llvm.fabs.f32(float %.0.i.i) + %77 = tail call float @llvm.fabs.f32(float %.0.i.i) %78 = add nsw i32 %.01727, 1 %79 = sext i32 %.01727 to i64 %80 = getelementptr inbounds float, ptr %2, i64 %79 @@ -11510,7 +11510,7 @@ declare float @sqrtf(float noundef) local_unnamed_addr #22 declare float @llvm.fabs.f32(float) #20 ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc noundef ptr @nsvg__parseNumber(ptr noundef readonly %0, ptr noundef nonnull writeonly captures(none) %1) unnamed_addr #23 { +define internal fastcc noundef ptr @nsvg__parseNumber(ptr noundef readonly captures(ret: address, provenance) %0, ptr noundef nonnull writeonly captures(none) %1) unnamed_addr #23 { %3 = load i8, ptr %0, align 1 switch i8 %3, label %6 [ i8 45, label %4 diff --git a/bench/nlohmann_json/optimized/unit.ll b/bench/nlohmann_json/optimized/unit.ll index 126eb5b983e..95d991d58ab 100644 --- a/bench/nlohmann_json/optimized/unit.ll +++ b/bench/nlohmann_json/optimized/unit.ll @@ -853,7 +853,7 @@ entry: declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immarg) #1 ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN7doctest6detail9TestSuitemlEPKc(ptr noundef nonnull returned writeonly align 8 dereferenceable(40) initializes((0, 8)) %this, ptr noundef %in) local_unnamed_addr #2 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN7doctest6detail9TestSuitemlEPKc(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(40) initializes((0, 8)) %this, ptr noundef %in) local_unnamed_addr #2 align 2 { entry: store ptr %in, ptr %this, align 8 ret ptr %this @@ -1165,7 +1165,7 @@ entry: declare noundef i32 @gettimeofday(ptr noundef captures(none), ptr noundef captures(none)) local_unnamed_addr #9 ; Function Attrs: mustprogress uwtable -define dso_local noundef nonnull ptr @_ZN7doctest6String8allocateEj(ptr noundef nonnull writeonly align 8 dereferenceable(24) initializes((23, 24)) %this, i32 noundef %sz) local_unnamed_addr #7 align 2 { +define dso_local noundef nonnull ptr @_ZN7doctest6String8allocateEj(ptr noundef nonnull writeonly align 8 captures(ret: address, provenance) dereferenceable(24) initializes((23, 24)) %this, i32 noundef %sz) local_unnamed_addr #7 align 2 { entry: %cmp = icmp ult i32 %sz, 24 br i1 %cmp, label %if.then, label %if.else @@ -1524,7 +1524,7 @@ _ZN7doctest6String4copyERKS0_.exit: ; preds = %if.then.i, %_ZN7doc } ; Function Attrs: mustprogress uwtable -define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringaSERKS0_(ptr noundef nonnull returned align 8 dereferenceable(24) %this, ptr noundef nonnull readonly align 8 dereferenceable(24) %other) local_unnamed_addr #7 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringaSERKS0_(ptr noundef nonnull returned align 8 captures(address, ret: address, provenance) dereferenceable(24) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(24) %other) local_unnamed_addr #7 align 2 { entry: %cmp.not = icmp eq ptr %this, %other br i1 %cmp.not, label %if.end3, label %if.then @@ -1597,7 +1597,7 @@ if.end3: ; preds = %_ZN7doctest6String8 } ; Function Attrs: mustprogress uwtable -define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringpLERKS0_(ptr noundef nonnull returned align 8 dereferenceable(24) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %other) local_unnamed_addr #7 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringpLERKS0_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(24) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(24) %other) local_unnamed_addr #7 align 2 { entry: %arrayidx.i.i = getelementptr inbounds nuw i8, ptr %this, i64 23 %0 = load i8, ptr %arrayidx.i.i, align 1 @@ -1740,7 +1740,7 @@ entry: } ; Function Attrs: mustprogress nounwind uwtable -define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringaSEOS0_(ptr noundef nonnull returned align 8 dereferenceable(24) %this, ptr noundef nonnull align 8 dereferenceable(24) %other) local_unnamed_addr #6 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6StringaSEOS0_(ptr noundef nonnull returned align 8 captures(address, ret: address, provenance) dereferenceable(24) %this, ptr noundef nonnull align 8 captures(address) dereferenceable(24) %other) local_unnamed_addr #6 align 2 { entry: %cmp.not = icmp eq ptr %this, %other br i1 %cmp.not, label %if.end4, label %if.then @@ -1786,7 +1786,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZN7doctest6StringixEj(ptr noundef nonnull readonly align 8 dereferenceable(24) %this, i32 noundef %i) local_unnamed_addr #15 align 2 { +define dso_local noundef nonnull align 1 dereferenceable(1) ptr @_ZN7doctest6StringixEj(ptr noundef nonnull readonly align 8 captures(ret: address, provenance) dereferenceable(24) %this, i32 noundef %i) local_unnamed_addr #15 align 2 { entry: %arrayidx.i = getelementptr inbounds nuw i8, ptr %this, i64 23 %0 = load i8, ptr %arrayidx.i, align 1 @@ -3220,14 +3220,14 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6Approx7epsilonEd(ptr noundef nonnull returned writeonly align 8 dereferenceable(24) initializes((0, 8)) %this, double noundef %newEpsilon) local_unnamed_addr #2 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6Approx7epsilonEd(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(24) initializes((0, 8)) %this, double noundef %newEpsilon) local_unnamed_addr #2 align 2 { entry: store double %newEpsilon, ptr %this, align 8 ret ptr %this } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6Approx5scaleEd(ptr noundef nonnull returned writeonly align 8 dereferenceable(24) initializes((8, 16)) %this, double noundef %newScale) local_unnamed_addr #2 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN7doctest6Approx5scaleEd(ptr noundef nonnull returned writeonly align 8 captures(ret: address, provenance) dereferenceable(24) initializes((8, 16)) %this, double noundef %newScale) local_unnamed_addr #2 align 2 { entry: %m_scale = getelementptr inbounds nuw i8, ptr %this, i64 8 store double %newScale, ptr %m_scale, align 8 @@ -4391,7 +4391,7 @@ return: ; preds = %if.end, %if.then, % } ; Function Attrs: mustprogress nofree nounwind willreturn memory(read) uwtable -define internal fastcc noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_110matchesAnyEPKcRKSt6vectorINS_6StringESaIS4_EEbb(ptr noundef readonly captures(none) %name, ptr readonly %filters.0.val, ptr readnone %filters.8.val, i1 noundef zeroext %matchEmpty, i1 noundef zeroext %caseSensitive) unnamed_addr #18 { +define internal fastcc noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_110matchesAnyEPKcRKSt6vectorINS_6StringESaIS4_EEbb(ptr noundef readonly captures(none) %name, ptr readonly captures(address) %filters.0.val, ptr readnone captures(address) %filters.8.val, i1 noundef zeroext %matchEmpty, i1 noundef zeroext %caseSensitive) unnamed_addr #18 { entry: %cmp.i.i = icmp eq ptr %filters.0.val, %filters.8.val %brmerge.not = and i1 %cmp.i.i, %matchEmpty @@ -5806,7 +5806,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define dso_local void @_ZN7doctest6detail8TestCaseC2EPFvvEPKcjRKNS0_9TestSuiteERKNS_6StringEi(ptr noundef nonnull align 8 dereferenceable(144) initializes((0, 1), (23, 24), (88, 89), (111, 112), (120, 121), (143, 144)) %this, ptr noundef %test, ptr noundef readonly captures(none) %file, i32 noundef %line, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(40) %test_suite, ptr noundef nonnull readonly align 8 dereferenceable(24) %type, i32 noundef %template_id) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define dso_local void @_ZN7doctest6detail8TestCaseC2EPFvvEPKcjRKNS0_9TestSuiteERKNS_6StringEi(ptr noundef nonnull align 8 captures(address) dereferenceable(144) initializes((0, 1), (23, 24), (88, 89), (111, 112), (120, 121), (143, 144)) %this, ptr noundef %test, ptr noundef readonly captures(none) %file, i32 noundef %line, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(40) %test_suite, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(24) %type, i32 noundef %template_id) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp = alloca %"class.doctest::String", align 8 store i8 0, ptr %this, align 8 @@ -6000,7 +6000,7 @@ _ZN7doctest12TestCaseDataD2Ev.exit: ; preds = %_ZN7doctest6StringD } ; Function Attrs: mustprogress uwtable -define dso_local void @_ZN7doctest6detail8TestCaseC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(144) initializes((0, 80), (88, 89), (111, 112), (120, 121), (143, 144)) %this, ptr noundef nonnull align 8 dereferenceable(144) %other) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define dso_local void @_ZN7doctest6detail8TestCaseC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(144) initializes((0, 80), (88, 89), (111, 112), (120, 121), (143, 144)) %this, ptr noundef nonnull align 8 captures(address) dereferenceable(144) %other) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %arrayidx.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 23 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %this, i8 0, i64 80, i1 false) @@ -6068,7 +6068,7 @@ _ZN7doctest12TestCaseDataD2Ev.exit: ; preds = %_ZN7doctest6StringD } ; Function Attrs: mustprogress uwtable -define dso_local noundef nonnull align 8 dereferenceable(144) ptr @_ZN7doctest6detail8TestCaseaSERKS1_(ptr noundef nonnull returned align 8 dereferenceable(144) %this, ptr noundef nonnull readonly align 8 dereferenceable(144) %other) local_unnamed_addr #7 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(144) ptr @_ZN7doctest6detail8TestCaseaSERKS1_(ptr noundef nonnull returned align 8 dereferenceable(144) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(144) %other) local_unnamed_addr #7 align 2 { entry: %cmp.not.i.i = icmp eq ptr %this, %other br i1 %cmp.not.i.i, label %_ZN7doctest6StringaSERKS0_.exit, label %if.then.i.i @@ -7820,7 +7820,7 @@ _ZN7doctest8ContainsD2Ev.exit19: ; preds = %delete.notnull.i.i. } ; Function Attrs: mustprogress uwtable -define dso_local void @_ZN7doctest6detail13ResultBuilder9setResultERKNS0_6ResultE(ptr noundef nonnull align 8 dereferenceable(144) %this, ptr noundef nonnull readonly align 8 dereferenceable(32) %res) local_unnamed_addr #7 align 2 { +define dso_local void @_ZN7doctest6detail13ResultBuilder9setResultERKNS0_6ResultE(ptr noundef nonnull align 8 captures(address) dereferenceable(144) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(32) %res) local_unnamed_addr #7 align 2 { entry: %m_decomp = getelementptr inbounds nuw i8, ptr %res, i64 8 %m_decomp2 = getelementptr inbounds nuw i8, ptr %this, i64 72 @@ -8535,7 +8535,7 @@ if.end: ; preds = %_ZNK7doctest6detail declare void @abort() local_unnamed_addr #31 ; Function Attrs: mustprogress uwtable -define dso_local noundef zeroext i1 @_ZN7doctest6detail13decomp_assertENS_10assertType4EnumEPKciS4_RKNS0_6ResultE(i32 noundef %at, ptr noundef %file, i32 noundef %line, ptr noundef %expr, ptr noundef nonnull readonly align 8 dereferenceable(32) %result) local_unnamed_addr #7 personality ptr @__gxx_personality_v0 { +define dso_local noundef zeroext i1 @_ZN7doctest6detail13decomp_assertENS_10assertType4EnumEPKciS4_RKNS0_6ResultE(i32 noundef %at, ptr noundef %file, i32 noundef %line, ptr noundef %expr, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(32) %result) local_unnamed_addr #7 personality ptr @__gxx_personality_v0 { entry: %rb = alloca %"struct.doctest::detail::ResultBuilder", align 8 %ref.tmp = alloca %"class.doctest::String", align 8 @@ -15628,7 +15628,7 @@ declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeE declare void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 ; Function Attrs: mustprogress uwtable -define internal fastcc noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_115parseOptionImplEiPKPKcS2_PNS_6StringE(i32 noundef %argc, ptr noundef readonly captures(none) %argv, ptr noundef readonly captures(none) %pattern, ptr noundef %value) unnamed_addr #7 { +define internal fastcc noundef zeroext i1 @_ZN7doctest12_GLOBAL__N_115parseOptionImplEiPKPKcS2_PNS_6StringE(i32 noundef %argc, ptr noundef readonly captures(none) %argv, ptr noundef readonly captures(none) %pattern, ptr noundef captures(address_is_null) %value) unnamed_addr #7 { entry: %ref.tmp = alloca %"class.doctest::String", align 8 %invariant.gep = getelementptr i8, ptr %argv, i64 -8 @@ -20789,17 +20789,19 @@ lpad18: ; preds = %invoke.cont17 ehcleanup: ; preds = %lpad16, %lpad.i28, %lpad18 %.pn = phi { ptr, i32 } [ %15, %lpad18 ], [ %14, %lpad16 ], [ %8, %lpad.i28 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp15) #44 + %ref.tmp.val7.pre.pre = load ptr, ptr %ref.tmp, align 8 br label %ehcleanup21 ehcleanup21: ; preds = %ehcleanup, %lpad10 + %ref.tmp.val7.pre = phi ptr [ %ref.tmp.val7.pre.pre, %ehcleanup ], [ %xml, %lpad10 ] %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %13, %lpad10 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #44 br label %ehcleanup22 ehcleanup22: ; preds = %lpad8, %lpad.i14, %ehcleanup21 + %ref.tmp.val7 = phi ptr [ %ref.tmp.val7.pre, %ehcleanup21 ], [ %xml, %lpad8 ], [ %xml, %lpad.i14 ] %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup21 ], [ %12, %lpad8 ], [ %4, %lpad.i14 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp7) #44 - %ref.tmp.val7 = load ptr, ptr %ref.tmp, align 8 call fastcc void @_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev(ptr %ref.tmp.val7) #44 br label %ehcleanup24 @@ -21388,12 +21390,7 @@ invoke.cont61: ; preds = %if.end.i invoke.cont63: ; preds = %invoke.cont61 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp58) #44 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp59) #44 - %ref.tmp50.val = load ptr, ptr %ref.tmp50, align 8 - %tobool.not.i = icmp eq ptr %ref.tmp50.val, null - br i1 %tobool.not.i, label %_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit, label %if.then.i116 - -if.then.i116: ; preds = %invoke.cont63 - %call.i117 = invoke fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter10endElementEv(ptr noundef nonnull align 8 dereferenceable(72) %ref.tmp50.val) + %ref.tmp50.val = invoke fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter10endElementEv(ptr noundef nonnull align 8 dereferenceable(72) %xml) to label %_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit unwind label %terminate.lpad.i terminate.lpad.i: ; preds = %if.then.i116 @@ -21403,7 +21400,7 @@ terminate.lpad.i: ; preds = %if.then.i116 call void @__clang_call_terminate(ptr %24) #49 unreachable -_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit: ; preds = %invoke.cont63, %if.then.i116 +_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit: ; preds = %invoke.cont63 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp52) #44 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp53) #44 %m_threw = getelementptr inbounds nuw i8, ptr %rb, i64 41 @@ -21629,8 +21626,7 @@ lpad62: ; preds = %invoke.cont61 ehcleanup66: ; preds = %lpad60, %lpad.i110, %lpad62 %.pn24 = phi { ptr, i32 } [ %47, %lpad62 ], [ %46, %lpad60 ], [ %22, %lpad.i110 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp59) #44 - %ref.tmp50.val49 = load ptr, ptr %ref.tmp50, align 8 - call fastcc void @_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev(ptr %ref.tmp50.val49) #44 + call fastcc void @_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev(ptr nonnull %xml) #44 br label %ehcleanup68 ehcleanup68: ; preds = %lpad.i104, %ehcleanup66 @@ -21761,12 +21757,7 @@ invoke.cont110: ; preds = %if.end.i165 invoke.cont112: ; preds = %invoke.cont110 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp107) #44 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp108) #44 - %ref.tmp99.val = load ptr, ptr %ref.tmp99, align 8 - %tobool.not.i175 = icmp eq ptr %ref.tmp99.val, null - br i1 %tobool.not.i175, label %_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit180, label %if.then.i176 - -if.then.i176: ; preds = %invoke.cont112 - %call.i177 = invoke fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter10endElementEv(ptr noundef nonnull align 8 dereferenceable(72) %ref.tmp99.val) + %ref.tmp99.val = invoke fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter10endElementEv(ptr noundef nonnull align 8 dereferenceable(72) %xml) to label %_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit180 unwind label %terminate.lpad.i178 terminate.lpad.i178: ; preds = %if.then.i176 @@ -21776,7 +21767,7 @@ terminate.lpad.i178: ; preds = %if.then.i176 call void @__clang_call_terminate(ptr %59) #49 unreachable -_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit180: ; preds = %invoke.cont112, %if.then.i176 +_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit180: ; preds = %invoke.cont112 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp101) #44 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp102) #44 %.pre = load i32, ptr %m_at, align 8 @@ -21801,8 +21792,7 @@ lpad111: ; preds = %invoke.cont110 ehcleanup115: ; preds = %lpad109, %lpad.i168, %lpad111 %.pn33 = phi { ptr, i32 } [ %62, %lpad111 ], [ %61, %lpad109 ], [ %57, %lpad.i168 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp108) #44 - %ref.tmp99.val51 = load ptr, ptr %ref.tmp99, align 8 - call fastcc void @_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev(ptr %ref.tmp99.val51) #44 + call fastcc void @_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev(ptr nonnull %xml) #44 br label %ehcleanup117 ehcleanup117: ; preds = %lpad.i160, %ehcleanup115 @@ -22984,7 +22974,7 @@ declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #4 ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeIiEERS1_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull returned align 8 dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(4) %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeIiEERS1_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(4) %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %rss = alloca %"class.std::__cxx11::basic_stringstream", align 8 %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 @@ -23025,7 +23015,7 @@ ehcleanup: ; preds = %lpad3, %lpad } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_(ptr noundef nonnull readonly returned align 8 dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef nonnull align 8 dereferenceable(32) %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef nonnull align 8 dereferenceable(32) %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp = alloca %"class.doctest::(anonymous namespace)::XmlEncode", align 8 %call = tail call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %name) #44 @@ -23352,7 +23342,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeINS_6StringEEERS1_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull returned align 8 dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef nonnull align 8 dereferenceable(24) %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeINS_6StringEEERS1_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef nonnull align 8 dereferenceable(24) %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %rss = alloca %"class.std::__cxx11::basic_stringstream", align 8 %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 @@ -23397,7 +23387,7 @@ ehcleanup: ; preds = %lpad3, %lpad } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKc(ptr noundef nonnull readonly returned align 8 dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKc(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp = alloca %"class.doctest::(anonymous namespace)::XmlEncode", align 8 %ref.tmp6 = alloca %"class.std::__cxx11::basic_string", align 8 @@ -23489,7 +23479,7 @@ if.end: ; preds = %invoke.cont13, %lan } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeIjEERS1_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull returned align 8 dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(4) %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeIjEERS1_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(4) %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %rss = alloca %"class.std::__cxx11::basic_stringstream", align 8 %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 @@ -24102,7 +24092,7 @@ eh.resume: ; preds = %lpad114, %lpad.i107 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeIdEERS1_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull returned align 8 dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8) %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter14writeAttributeIdEERS1_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(72) %this, ptr noundef nonnull align 8 dereferenceable(32) %name, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8) %attribute) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %rss = alloca %"class.std::__cxx11::basic_stringstream", align 8 %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 @@ -24143,7 +24133,7 @@ ehcleanup: ; preds = %lpad3, %lpad } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull align 8 dereferenceable(8) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElement9writeTextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, ptr noundef nonnull align 8 dereferenceable(32) %text, i1 noundef zeroext %indent) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef nonnull align 8 dereferenceable(8) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElement9writeTextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, ptr noundef nonnull align 8 dereferenceable(32) %text, i1 noundef zeroext %indent) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i = alloca %"class.doctest::(anonymous namespace)::XmlEncode", align 8 %0 = load ptr, ptr %this, align 8 @@ -24297,12 +24287,7 @@ invoke.cont11: ; preds = %invoke.cont8 invoke.cont13: ; preds = %invoke.cont11 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp9) #44 - %ref.tmp.val10 = load ptr, ptr %ref.tmp, align 8 - %tobool.not.i14 = icmp eq ptr %ref.tmp.val10, null - br i1 %tobool.not.i14, label %_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit, label %if.then.i - -if.then.i: ; preds = %invoke.cont13 - %call.i15 = invoke fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter10endElementEv(ptr noundef nonnull align 8 dereferenceable(72) %ref.tmp.val10) + %ref.tmp.val10 = invoke fastcc noundef nonnull align 8 dereferenceable(72) ptr @_ZN7doctest12_GLOBAL__N_19XmlWriter10endElementEv(ptr noundef nonnull align 8 dereferenceable(72) %xml) to label %_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit unwind label %terminate.lpad.i terminate.lpad.i: ; preds = %if.then.i @@ -24312,7 +24297,7 @@ terminate.lpad.i: ; preds = %if.then.i call void @__clang_call_terminate(ptr %10) #49 unreachable -_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit: ; preds = %invoke.cont13, %if.then.i +_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev.exit: ; preds = %invoke.cont13 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp3) #44 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #44 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp18) #44 @@ -24367,8 +24352,7 @@ lpad12: ; preds = %invoke.cont11 ehcleanup: ; preds = %lpad12, %lpad10 %.pn = phi { ptr, i32 } [ %15, %lpad12 ], [ %14, %lpad10 ] - %ref.tmp.val = load ptr, ptr %ref.tmp, align 8 - call fastcc void @_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev(ptr %ref.tmp.val) #44 + call fastcc void @_ZN7doctest12_GLOBAL__N_19XmlWriter13ScopedElementD2Ev(ptr nonnull %xml) #44 br label %ehcleanup15 ehcleanup15: ; preds = %lpad.i12, %ehcleanup @@ -28064,7 +28048,7 @@ _ZNSt6vectorIN7doctest12_GLOBAL__N_113JUnitReporter17JUnitTestCaseData16JUnitTes } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN7doctest12_GLOBAL__N_113JUnitReporter17JUnitTestCaseData32appendSubcaseNamesToLastTestcaseESt6vectorINS_6StringESaIS4_EE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(40) %this, ptr %nameStack.0.val, ptr readnone %nameStack.8.val) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN7doctest12_GLOBAL__N_113JUnitReporter17JUnitTestCaseData32appendSubcaseNamesToLastTestcaseESt6vectorINS_6StringESaIS4_EE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(40) %this, ptr %nameStack.0.val, ptr readnone captures(address) %nameStack.8.val) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 %ref.tmp7 = alloca %"class.std::__cxx11::basic_string", align 8 @@ -32149,7 +32133,7 @@ _ZN7doctest5ColorlsERSoNS0_4EnumE.exit: ; preds = %entry, %land.lhs.tr } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZZN7doctest12_GLOBAL__N_115ConsoleReporter24printRegisteredReportersEvENKUlRKSt3mapISt4pairIiNS_6StringEEPFPNS_9IReporterERKNS_14ContextOptionsEESt4lessIS5_ESaIS3_IKS5_SC_EEEPKcE_clESK_SM_(ptr readonly captures(none) %this.0.val, ptr noundef nonnull readonly align 8 dereferenceable(48) %reporters, ptr noundef %type) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZZN7doctest12_GLOBAL__N_115ConsoleReporter24printRegisteredReportersEvENKUlRKSt3mapISt4pairIiNS_6StringEEPFPNS_9IReporterERKNS_14ContextOptionsEESt4lessIS5_ESaIS3_IKS5_SC_EEEPKcE_clESK_SM_(ptr readonly captures(none) %this.0.val, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(48) %reporters, ptr noundef %type) unnamed_addr #7 align 2 personality ptr @__gxx_personality_v0 { entry: %_M_node_count.i.i = getelementptr inbounds nuw i8, ptr %reporters, i64 40 %0 = load i64, ptr %_M_node_count.i.i, align 8 diff --git a/bench/node/optimized/libnode.crypto_keys.ll b/bench/node/optimized/libnode.crypto_keys.ll index 5eaecd75182..2756e90087c 100644 --- a/bench/node/optimized/libnode.crypto_keys.ll +++ b/bench/node/optimized/libnode.crypto_keys.ll @@ -649,7 +649,7 @@ _ZSt11make_sharedIN4node9MutexBaseINS0_16LibuvMutexTraitsEEEJEESt10shared_ptrINS } ; Function Attrs: mustprogress nounwind uwtable -define dso_local void @_ZN4node6crypto14ManagedEVPPKeyC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(32) initializes((0, 32)) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %that) unnamed_addr #3 align 2 { +define dso_local void @_ZN4node6crypto14ManagedEVPPKeyC2ERKS1_(ptr noundef nonnull align 8 captures(none) dereferenceable(32) initializes((0, 32)) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %that) unnamed_addr #3 align 2 { entry: store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN4node6crypto14ManagedEVPPKeyE, i64 16), ptr %this, align 8 %pkey_ = getelementptr inbounds nuw i8, ptr %this, i64 8 @@ -659,7 +659,7 @@ entry: } ; Function Attrs: mustprogress nounwind uwtable -define dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN4node6crypto14ManagedEVPPKeyaSERKS1_(ptr noundef nonnull returned align 8 dereferenceable(32) initializes((16, 24)) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %that) local_unnamed_addr #3 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN4node6crypto14ManagedEVPPKeyaSERKS1_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(32) initializes((16, 24)) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %that) local_unnamed_addr #3 align 2 { entry: %mutex_ = getelementptr inbounds nuw i8, ptr %that, i64 16 %0 = load ptr, ptr %mutex_, align 8 @@ -4140,7 +4140,7 @@ entry: } ; Function Attrs: mustprogress nounwind uwtable -define dso_local void @_ZN4node6crypto14ManagedEVPPKey19GetPrivateKeyFromJsERKN2v820FunctionCallbackInfoINS2_5ValueEEEPjb(ptr noalias sret(%"class.node::crypto::ManagedEVPPKey") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(20) %args, ptr noundef captures(none) %offset, i1 noundef zeroext %allow_key_object) local_unnamed_addr #3 align 2 { +define dso_local void @_ZN4node6crypto14ManagedEVPPKey19GetPrivateKeyFromJsERKN2v820FunctionCallbackInfoINS2_5ValueEEEPjb(ptr noalias sret(%"class.node::crypto::ManagedEVPPKey") align 8 captures(none) %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(20) %args, ptr noundef captures(none) %offset, i1 noundef zeroext %allow_key_object) local_unnamed_addr #3 align 2 { entry: %key = alloca %"class.node::crypto::ByteSource", align 8 %config = alloca %"class.node::NonCopyableMaybe.292", align 8 @@ -4863,14 +4863,14 @@ _ZN4node6crypto14ManagedEVPPKeyC2EOSt10unique_ptrI11evp_pkey_stNS_15FunctionDele declare noundef zeroext i1 @_ZNK2v85Value8IsObjectEv(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #0 ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define dso_local noundef nonnull align 8 dereferenceable(16) ptr @_ZN4node6crypto15KeyObjectHandle4DataEv(ptr noundef nonnull readnone align 8 dereferenceable(48) %this) local_unnamed_addr #7 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(16) ptr @_ZN4node6crypto15KeyObjectHandle4DataEv(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(48) %this) local_unnamed_addr #7 align 2 { entry: %data_ = getelementptr inbounds nuw i8, ptr %this, i64 32 ret ptr %data_ } ; Function Attrs: mustprogress nounwind uwtable -define dso_local void @_ZNK4node6crypto13KeyObjectData16GetAsymmetricKeyEv(ptr noalias sret(%"class.node::crypto::ManagedEVPPKey") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(72) %this) local_unnamed_addr #3 align 2 { +define dso_local void @_ZNK4node6crypto13KeyObjectData16GetAsymmetricKeyEv(ptr noalias sret(%"class.node::crypto::ManagedEVPPKey") align 8 captures(none) %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(72) %this) local_unnamed_addr #3 align 2 { entry: %key_type_ = getelementptr inbounds nuw i8, ptr %this, i64 8 %0 = load i32, ptr %key_type_, align 8 @@ -4892,7 +4892,7 @@ do.end5: ; preds = %entry } ; Function Attrs: mustprogress nounwind uwtable -define dso_local void @_ZN4node6crypto14ManagedEVPPKey27GetPublicOrPrivateKeyFromJsERKN2v820FunctionCallbackInfoINS2_5ValueEEEPj(ptr noalias sret(%"class.node::crypto::ManagedEVPPKey") align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(20) %args, ptr noundef captures(none) %offset) local_unnamed_addr #3 align 2 { +define dso_local void @_ZN4node6crypto14ManagedEVPPKey27GetPublicOrPrivateKeyFromJsERKN2v820FunctionCallbackInfoINS2_5ValueEEEPj(ptr noalias sret(%"class.node::crypto::ManagedEVPPKey") align 8 captures(none) %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(20) %args, ptr noundef captures(none) %offset) local_unnamed_addr #3 align 2 { entry: %p.i = alloca ptr, align 8 %data = alloca %"class.node::crypto::ArrayBufferOrViewContents", align 8 @@ -5671,7 +5671,7 @@ _ZN4node6crypto14ManagedEVPPKeyC2Ev.exit: ; preds = %entry declare void @_ZN4node6crypto10ByteSourceC1EOS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 ; Function Attrs: mustprogress nounwind uwtable -define dso_local void @_ZN4node6crypto13KeyObjectDataC2ENS0_7KeyTypeERKNS0_14ManagedEVPPKeyE(ptr noundef nonnull align 8 dereferenceable(72) initializes((0, 12), (16, 72)) %this, i32 noundef %type, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %pkey) unnamed_addr #3 align 2 { +define dso_local void @_ZN4node6crypto13KeyObjectDataC2ENS0_7KeyTypeERKNS0_14ManagedEVPPKeyE(ptr noundef nonnull align 8 captures(none) dereferenceable(72) initializes((0, 12), (16, 72)) %this, i32 noundef %type, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %pkey) unnamed_addr #3 align 2 { entry: store ptr getelementptr inbounds nuw (i8, ptr @_ZTVN4node6crypto13KeyObjectDataE, i64 16), ptr %this, align 8 %key_type_ = getelementptr inbounds nuw i8, ptr %this, i64 8 @@ -6954,7 +6954,6 @@ if.then.i.i263: ; preds = %_ZNSt10shared_ptrIN br label %_ZN4node6crypto14ManagedEVPPKeyD2Ev.exit283 _ZN4node6crypto14ManagedEVPPKeyD2Ev.exit283: ; preds = %_ZNSt10shared_ptrIN4node9MutexBaseINS0_16LibuvMutexTraitsEEEED2Ev.exit.i260, %if.then.i.i263 - store ptr null, ptr %pkey_.i, align 8 %call.i284 = call i32 @ERR_pop_to_mark() #23 br label %cleanup.cont @@ -11965,8 +11964,7 @@ do.body18: ; preds = %do.end9 unreachable do.body24: ; preds = %do.end9 - %5 = load ptr, ptr %pkey_.i.i, align 8 - %call26 = call i32 @EVP_PKEY_get_id(ptr noundef %5) #23 + %5 = call i32 @EVP_PKEY_get_id(ptr noundef %4) #23 %cmp27.not = icmp eq i32 %call26, 408 br i1 %cmp27.not, label %do.end37, label %do.body32 @@ -12010,7 +12008,7 @@ if.then.i.i.i.i.i: ; preds = %if.then.i.i.i.i %vtable.i.i.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %vtable.i.i.i.i.i, i64 16 %9 = load ptr, ptr %vfn.i.i.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(16) %6) #23 + call void %8(ptr noundef nonnull align 8 dereferenceable(16) %6) #23 br label %if.end8.sink.split.i.i.i.i.i if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i @@ -12036,7 +12034,7 @@ if.then7.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx27__ex %vtable.i.i.i.i.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %vtable.i.i.i.i.i.i.i, i64 16 %12 = load ptr, ptr %vfn.i.i.i.i.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(16) %6) #23 + call void %11(ptr noundef nonnull align 8 dereferenceable(16) %6) #23 %_M_weak_count.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %6, i64 12 %13 = load i8, ptr @__libc_single_threaded, align 1 %tobool.i.i.not.i.i.i.i.i.i.i = icmp eq i8 %13, 0 @@ -12061,7 +12059,7 @@ if.end8.sink.split.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx27__ex %vtable2.i.i.i.i.i.i.i = load ptr, ptr %6, align 8 %vfn3.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %vtable2.i.i.i.i.i.i.i, i64 24 %16 = load ptr, ptr %vfn3.i.i.i.i.i.i.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(16) %6) #23 + call void %15(ptr noundef nonnull align 8 dereferenceable(16) %6) #23 br label %_ZNSt10shared_ptrIN4node9MutexBaseINS0_16LibuvMutexTraitsEEEED2Ev.exit.i _ZNSt10shared_ptrIN4node9MutexBaseINS0_16LibuvMutexTraitsEEEED2Ev.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, %_ZNSt10unique_ptrI15evp_pkey_ctx_stN4node15FunctionDeleterIS0_XadL_Z17EVP_PKEY_CTX_freeEEEEED2Ev.exit @@ -12075,7 +12073,6 @@ if.then.i.i: ; preds = %_ZNSt10shared_ptrIN _ZN4node6crypto14ManagedEVPPKeyD2Ev.exit: ; preds = %_ZNSt10shared_ptrIN4node9MutexBaseINS0_16LibuvMutexTraitsEEEED2Ev.exit.i, %if.then.i.i %retval.0 = icmp eq i32 %retval.0.in, 1 - store ptr null, ptr %pkey_.i.i, align 8 %call.i7 = call i32 @ERR_pop_to_mark() #23 ret i1 %retval.0 } diff --git a/bench/nori/optimized/nanovg.ll b/bench/nori/optimized/nanovg.ll index dc555a2b8ce..b076aff90e9 100644 --- a/bench/nori/optimized/nanovg.ll +++ b/bench/nori/optimized/nanovg.ll @@ -2408,7 +2408,7 @@ fons__tmpalloc.exit.thread: ; preds = %fons__tmpalloc.exit } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local range(i32 0, 2) i32 @stbtt_GetGlyphBox(ptr noundef readonly captures(none) %0, i32 noundef %1, ptr noundef writeonly %2, ptr noundef writeonly %3, ptr noundef writeonly %4, ptr noundef writeonly %5) local_unnamed_addr #4 { +define dso_local range(i32 0, 2) i32 @stbtt_GetGlyphBox(ptr noundef readonly captures(none) %0, i32 noundef %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3, ptr noundef writeonly captures(address_is_null) %4, ptr noundef writeonly captures(address_is_null) %5) local_unnamed_addr #4 { %7 = getelementptr inbounds nuw i8, ptr %0, i64 20 %8 = load i32, ptr %7, align 4 %.not.i = icmp slt i32 %1, %8 @@ -2590,7 +2590,7 @@ stbtt__GetGlyfOffset.exit.thread: ; preds = %79, %9, %6, %117, % } ; Function Attrs: nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local range(i32 0, 2) i32 @stbtt_GetCodepointBox(ptr noundef readonly captures(none) %0, i32 noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5) local_unnamed_addr #5 { +define dso_local range(i32 0, 2) i32 @stbtt_GetCodepointBox(ptr noundef readonly captures(none) %0, i32 noundef %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3, ptr noundef captures(address_is_null) %4, ptr noundef captures(address_is_null) %5) local_unnamed_addr #5 { %7 = tail call i32 @stbtt_FindGlyphIndex(ptr noundef %0, i32 noundef %1) %8 = tail call i32 @stbtt_GetGlyphBox(ptr noundef %0, i32 noundef %7, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5) ret i32 %8 @@ -2720,7 +2720,7 @@ declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr no declare float @llvm.fmuladd.f32(float, float, float) #8 ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @stbtt_GetGlyphHMetrics(ptr noundef readonly captures(none) %0, i32 noundef %1, ptr noundef writeonly %2, ptr noundef writeonly %3) local_unnamed_addr #4 { +define dso_local void @stbtt_GetGlyphHMetrics(ptr noundef readonly captures(none) %0, i32 noundef %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) local_unnamed_addr #4 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 %6 = load ptr, ptr %5, align 8 %7 = getelementptr inbounds nuw i8, ptr %0, i64 36 @@ -3077,7 +3077,7 @@ stbtt_GetGlyphKernAdvance.exit: ; preds = %77, %68, %27, %20, } ; Function Attrs: nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @stbtt_GetCodepointHMetrics(ptr noundef readonly captures(none) %0, i32 noundef %1, ptr noundef writeonly %2, ptr noundef writeonly %3) local_unnamed_addr #5 { +define dso_local void @stbtt_GetCodepointHMetrics(ptr noundef readonly captures(none) %0, i32 noundef %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) local_unnamed_addr #5 { %5 = tail call i32 @stbtt_FindGlyphIndex(ptr noundef %0, i32 noundef %1) %6 = getelementptr inbounds nuw i8, ptr %0, i64 8 %7 = load ptr, ptr %6, align 8 @@ -3197,7 +3197,7 @@ stbtt_GetGlyphHMetrics.exit: ; preds = %34, %62, %.sink.spl } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @stbtt_GetFontVMetrics(ptr noundef readonly captures(none) %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) local_unnamed_addr #4 { +define dso_local void @stbtt_GetFontVMetrics(ptr noundef readonly captures(none) %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) local_unnamed_addr #4 { %.not = icmp eq ptr %1, null br i1 %.not, label %19, label %5 @@ -3392,7 +3392,7 @@ define dso_local void @stbtt_FreeShape(ptr noundef readnone captures(none) %0, p } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @stbtt_GetGlyphBitmapBoxSubpixel(ptr noundef readonly captures(none) %0, i32 noundef %1, float noundef %2, float noundef %3, float noundef %4, float noundef %5, ptr noundef writeonly %6, ptr noundef writeonly %7, ptr noundef writeonly %8, ptr noundef writeonly %9) local_unnamed_addr #4 { +define dso_local void @stbtt_GetGlyphBitmapBoxSubpixel(ptr noundef readonly captures(none) %0, i32 noundef %1, float noundef %2, float noundef %3, float noundef %4, float noundef %5, ptr noundef writeonly captures(address_is_null) %6, ptr noundef writeonly captures(address_is_null) %7, ptr noundef writeonly captures(address_is_null) %8, ptr noundef writeonly captures(address_is_null) %9) local_unnamed_addr #4 { %11 = alloca i32, align 4 %12 = alloca i32, align 4 %13 = alloca i32, align 4 @@ -3493,7 +3493,7 @@ define dso_local void @stbtt_GetGlyphBitmapBoxSubpixel(ptr noundef readonly capt } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @stbtt_GetGlyphBitmapBox(ptr noundef readonly captures(none) %0, i32 noundef %1, float noundef %2, float noundef %3, ptr noundef writeonly %4, ptr noundef writeonly %5, ptr noundef writeonly %6, ptr noundef writeonly %7) local_unnamed_addr #4 { +define dso_local void @stbtt_GetGlyphBitmapBox(ptr noundef readonly captures(none) %0, i32 noundef %1, float noundef %2, float noundef %3, ptr noundef writeonly captures(address_is_null) %4, ptr noundef writeonly captures(address_is_null) %5, ptr noundef writeonly captures(address_is_null) %6, ptr noundef writeonly captures(address_is_null) %7) local_unnamed_addr #4 { %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca i32, align 4 @@ -3602,7 +3602,7 @@ stbtt_GetGlyphBitmapBoxSubpixel.exit: ; preds = %20, %43, %.sink.spl } ; Function Attrs: nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @stbtt_GetCodepointBitmapBoxSubpixel(ptr noundef readonly captures(none) %0, i32 noundef %1, float noundef %2, float noundef %3, float noundef %4, float noundef %5, ptr noundef writeonly %6, ptr noundef writeonly %7, ptr noundef writeonly %8, ptr noundef writeonly %9) local_unnamed_addr #5 { +define dso_local void @stbtt_GetCodepointBitmapBoxSubpixel(ptr noundef readonly captures(none) %0, i32 noundef %1, float noundef %2, float noundef %3, float noundef %4, float noundef %5, ptr noundef writeonly captures(address_is_null) %6, ptr noundef writeonly captures(address_is_null) %7, ptr noundef writeonly captures(address_is_null) %8, ptr noundef writeonly captures(address_is_null) %9) local_unnamed_addr #5 { %11 = alloca i32, align 4 %12 = alloca i32, align 4 %13 = alloca i32, align 4 @@ -3712,7 +3712,7 @@ stbtt_GetGlyphBitmapBoxSubpixel.exit: ; preds = %23, %46, %.sink.spl } ; Function Attrs: nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @stbtt_GetCodepointBitmapBox(ptr noundef readonly captures(none) %0, i32 noundef %1, float noundef %2, float noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7) local_unnamed_addr #5 { +define dso_local void @stbtt_GetCodepointBitmapBox(ptr noundef readonly captures(none) %0, i32 noundef %1, float noundef %2, float noundef %3, ptr noundef captures(address_is_null) %4, ptr noundef captures(address_is_null) %5, ptr noundef captures(address_is_null) %6, ptr noundef captures(address_is_null) %7) local_unnamed_addr #5 { tail call void @stbtt_GetCodepointBitmapBoxSubpixel(ptr noundef %0, i32 noundef %1, float noundef %2, float noundef %3, float noundef 0.000000e+00, float noundef 0.000000e+00, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7) ret void } @@ -6212,7 +6212,7 @@ define dso_local void @stbtt_FreeBitmap(ptr noundef readnone captures(none) %0, } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbtt_GetGlyphBitmapSubpixel(ptr noundef readonly captures(none) %0, float noundef %1, float noundef %2, float noundef %3, float noundef %4, i32 noundef %5, ptr noundef writeonly %6, ptr noundef writeonly %7, ptr noundef writeonly %8, ptr noundef writeonly %9) local_unnamed_addr #3 { +define dso_local ptr @stbtt_GetGlyphBitmapSubpixel(ptr noundef readonly captures(none) %0, float noundef %1, float noundef %2, float noundef %3, float noundef %4, i32 noundef %5, ptr noundef writeonly captures(address_is_null) %6, ptr noundef writeonly captures(address_is_null) %7, ptr noundef writeonly captures(address_is_null) %8, ptr noundef writeonly captures(address_is_null) %9) local_unnamed_addr #3 { %11 = alloca i32, align 4 %12 = alloca i32, align 4 %13 = alloca i32, align 4 @@ -6362,7 +6362,7 @@ fons__tmpalloc.exit.thread: ; preds = %68, %71, %10, %56, } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbtt_GetGlyphBitmap(ptr noundef readonly captures(none) %0, float noundef %1, float noundef %2, i32 noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7) local_unnamed_addr #3 { +define dso_local ptr @stbtt_GetGlyphBitmap(ptr noundef readonly captures(none) %0, float noundef %1, float noundef %2, i32 noundef %3, ptr noundef captures(address_is_null) %4, ptr noundef captures(address_is_null) %5, ptr noundef captures(address_is_null) %6, ptr noundef captures(address_is_null) %7) local_unnamed_addr #3 { %9 = tail call ptr @stbtt_GetGlyphBitmapSubpixel(ptr noundef %0, float noundef %1, float noundef %2, float noundef 0.000000e+00, float noundef 0.000000e+00, i32 noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7) ret ptr %9 } @@ -6435,7 +6435,7 @@ define dso_local void @stbtt_MakeGlyphBitmap(ptr noundef readonly captures(none) } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbtt_GetCodepointBitmapSubpixel(ptr noundef readonly captures(none) %0, float noundef %1, float noundef %2, float noundef %3, float noundef %4, i32 noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9) local_unnamed_addr #3 { +define dso_local ptr @stbtt_GetCodepointBitmapSubpixel(ptr noundef readonly captures(none) %0, float noundef %1, float noundef %2, float noundef %3, float noundef %4, i32 noundef %5, ptr noundef captures(address_is_null) %6, ptr noundef captures(address_is_null) %7, ptr noundef captures(address_is_null) %8, ptr noundef captures(address_is_null) %9) local_unnamed_addr #3 { %11 = tail call i32 @stbtt_FindGlyphIndex(ptr noundef %0, i32 noundef %5) %12 = tail call ptr @stbtt_GetGlyphBitmapSubpixel(ptr noundef %0, float noundef %1, float noundef %2, float noundef %3, float noundef %4, i32 noundef %11, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9) ret ptr %12 @@ -6449,7 +6449,7 @@ define dso_local void @stbtt_MakeCodepointBitmapSubpixel(ptr noundef readonly ca } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbtt_GetCodepointBitmap(ptr noundef readonly captures(none) %0, float noundef %1, float noundef %2, i32 noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7) local_unnamed_addr #3 { +define dso_local ptr @stbtt_GetCodepointBitmap(ptr noundef readonly captures(none) %0, float noundef %1, float noundef %2, i32 noundef %3, ptr noundef captures(address_is_null) %4, ptr noundef captures(address_is_null) %5, ptr noundef captures(address_is_null) %6, ptr noundef captures(address_is_null) %7) local_unnamed_addr #3 { %9 = tail call i32 @stbtt_FindGlyphIndex(ptr noundef readonly %0, i32 noundef %3) %10 = tail call ptr @stbtt_GetGlyphBitmapSubpixel(ptr noundef readonly %0, float noundef %1, float noundef %2, float noundef 0.000000e+00, float noundef 0.000000e+00, i32 noundef %9, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7) ret ptr %10 @@ -9297,7 +9297,7 @@ define dso_local range(i32 0, 2) i32 @fons__tt_loadFont(ptr noundef %0, ptr noun } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @fons__tt_getFontVMetrics(ptr noundef readonly captures(none) %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) local_unnamed_addr #4 { +define dso_local void @fons__tt_getFontVMetrics(ptr noundef readonly captures(none) %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) local_unnamed_addr #4 { %.not.i = icmp eq ptr %1, null br i1 %.not.i, label %19, label %5 @@ -9409,7 +9409,7 @@ define dso_local i32 @fons__tt_getGlyphIndex(ptr noundef readonly captures(none) } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local noundef i32 @fons__tt_buildGlyphBitmap(ptr noundef readonly captures(none) %0, i32 noundef %1, float noundef %2, float noundef %3, ptr noundef writeonly %4, ptr noundef writeonly %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9) local_unnamed_addr #4 { +define dso_local noundef i32 @fons__tt_buildGlyphBitmap(ptr noundef readonly captures(none) %0, i32 noundef %1, float noundef %2, float noundef %3, ptr noundef writeonly captures(address_is_null) %4, ptr noundef writeonly captures(address_is_null) %5, ptr noundef captures(address_is_null) %6, ptr noundef captures(address_is_null) %7, ptr noundef captures(address_is_null) %8, ptr noundef captures(address_is_null) %9) local_unnamed_addr #4 { %11 = getelementptr inbounds nuw i8, ptr %0, i64 8 %12 = load ptr, ptr %11, align 8 %13 = getelementptr inbounds nuw i8, ptr %0, i64 36 @@ -9896,7 +9896,7 @@ define dso_local void @fonsClearState(ptr noundef captures(none) %0) local_unnam } ; Function Attrs: nounwind uwtable -define dso_local void @fonsDeleteInternal(ptr noundef %0) local_unnamed_addr #3 { +define dso_local void @fonsDeleteInternal(ptr noundef captures(address_is_null) %0) local_unnamed_addr #3 { %2 = icmp eq ptr %0, null br i1 %2, label %54, label %3 @@ -10426,7 +10426,7 @@ define dso_local range(i32 -2147483648, 2147483647) i32 @fonsGetFontByName(ptr n declare i32 @strcmp(ptr noundef captures(none), ptr noundef captures(none)) local_unnamed_addr #22 ; Function Attrs: nounwind uwtable -define dso_local float @fonsDrawText(ptr noundef %0, float noundef %1, float noundef %2, ptr noundef %3, ptr noundef %4) local_unnamed_addr #3 { +define dso_local float @fonsDrawText(ptr noundef %0, float noundef %1, float noundef %2, ptr noundef captures(address) %3, ptr noundef captures(address) %4) local_unnamed_addr #3 { %6 = alloca float, align 4 %7 = alloca float, align 4 %8 = alloca %struct.FONSquad, align 4 @@ -11005,7 +11005,7 @@ fons__flush.exit80: ; preds = %377, %364, %27, %5, declare i64 @strlen(ptr noundef captures(none)) local_unnamed_addr #22 ; Function Attrs: nounwind uwtable -define dso_local float @fonsTextBounds(ptr noundef captures(none) %0, float noundef %1, float noundef %2, ptr noundef readonly %3, ptr noundef readnone %4, ptr noundef writeonly %5) local_unnamed_addr #3 { +define dso_local float @fonsTextBounds(ptr noundef captures(none) %0, float noundef %1, float noundef %2, ptr noundef readonly captures(address) %3, ptr noundef readnone captures(address) %4, ptr noundef writeonly captures(address_is_null) %5) local_unnamed_addr #3 { %7 = alloca float, align 4 %8 = alloca float, align 4 %9 = alloca %struct.FONSquad, align 4 @@ -13314,7 +13314,7 @@ fons__flush.exit125: ; preds = %520, %529 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @fonsVertMetrics(ptr noundef readonly captures(none) %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) local_unnamed_addr #4 { +define dso_local void @fonsVertMetrics(ptr noundef readonly captures(none) %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) local_unnamed_addr #4 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 20620 %6 = getelementptr inbounds nuw i8, ptr %0, i64 21100 %7 = load i32, ptr %6, align 4 @@ -13566,7 +13566,7 @@ define dso_local void @fonsLineBounds(ptr noundef readonly captures(none) %0, fl } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define dso_local ptr @fonsGetTextureData(ptr noundef readonly captures(none) %0, ptr noundef writeonly %1, ptr noundef writeonly %2) local_unnamed_addr #11 { +define dso_local ptr @fonsGetTextureData(ptr noundef readonly captures(none) %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2) local_unnamed_addr #11 { %.not = icmp eq ptr %1, null br i1 %.not, label %6, label %4 @@ -13634,7 +13634,7 @@ define dso_local range(i32 0, 2) i32 @fonsValidateTexture(ptr noundef captures(n } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define dso_local void @fonsSetErrorCallback(ptr noundef writeonly %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #12 { +define dso_local void @fonsSetErrorCallback(ptr noundef writeonly captures(address_is_null) %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #12 { %4 = icmp eq ptr %0, null br i1 %4, label %8, label %5 @@ -13650,7 +13650,7 @@ define dso_local void @fonsSetErrorCallback(ptr noundef writeonly %0, ptr nounde } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define dso_local void @fonsGetAtlasSize(ptr noundef readonly %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2) local_unnamed_addr #11 { +define dso_local void @fonsGetAtlasSize(ptr noundef readonly captures(address_is_null) %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2) local_unnamed_addr #11 { %4 = icmp eq ptr %0, null br i1 %4, label %9, label %5 @@ -14188,7 +14188,7 @@ define dso_local void @stbi_set_flip_vertically_on_load(i32 noundef %0) local_un } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_load(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #3 { +define dso_local ptr @stbi_load(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #3 { %6 = alloca %struct.stbi__context, align 8 %7 = tail call noalias noundef ptr @fopen(ptr noundef readonly %0, ptr noundef nonnull @.str.10) %.not = icmp eq ptr %7, null @@ -14261,7 +14261,7 @@ stbi_load_from_file.exit: ; preds = %stbi__start_file.ex } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_load_from_file(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #3 { +define dso_local ptr @stbi_load_from_file(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #3 { %6 = alloca %struct.stbi__context, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) @stbi__stdio_callbacks, i64 24, i1 false) @@ -14318,7 +14318,7 @@ stbi__start_file.exit: ; preds = %16, %18 } ; Function Attrs: nounwind uwtable -define internal fastcc ptr @stbi__load_and_postprocess_8bit(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) unnamed_addr #3 { +define internal fastcc ptr @stbi__load_and_postprocess_8bit(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) unnamed_addr #3 { %6 = alloca [2048 x i8], align 16 %7 = alloca %struct.stbi__result_info, align 4 %8 = call fastcc ptr @stbi__load_main(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i32 noundef %4, ptr noundef %7, i32 noundef 8) @@ -14454,7 +14454,7 @@ stbi__vertical_flip.exit: ; preds = %._crit_edge.i29, %3 } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_load_from_file_16(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #3 { +define dso_local ptr @stbi_load_from_file_16(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #3 { %6 = alloca %struct.stbi__context, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) @stbi__stdio_callbacks, i64 24, i1 false) @@ -14511,7 +14511,7 @@ stbi__start_file.exit: ; preds = %16, %18 } ; Function Attrs: nounwind uwtable -define internal fastcc ptr @stbi__load_and_postprocess_16bit(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) unnamed_addr #3 { +define internal fastcc ptr @stbi__load_and_postprocess_16bit(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) unnamed_addr #3 { %6 = alloca [2048 x i8], align 16 %7 = alloca %struct.stbi__result_info, align 4 %8 = call fastcc ptr @stbi__load_main(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i32 noundef %4, ptr noundef %7, i32 noundef 16) @@ -14649,7 +14649,7 @@ stbi__vertical_flip.exit: ; preds = %._crit_edge.i29, %3 } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_load_16(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #3 { +define dso_local ptr @stbi_load_16(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #3 { %6 = alloca %struct.stbi__context, align 8 %7 = tail call noalias noundef ptr @fopen(ptr noundef readonly %0, ptr noundef nonnull @.str.10) %.not = icmp eq ptr %7, null @@ -14722,7 +14722,7 @@ stbi_load_from_file_16.exit: ; preds = %stbi__start_file.ex } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_load_16_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #3 { +define dso_local ptr @stbi_load_16_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #3 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 store ptr null, ptr %8, align 8 @@ -14743,7 +14743,7 @@ define dso_local ptr @stbi_load_16_from_memory(ptr noundef %0, i32 noundef %1, p } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_load_16_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #3 { +define dso_local ptr @stbi_load_16_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #3 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull readonly align 8 dereferenceable(24) %0, i64 24, i1 false) @@ -14785,7 +14785,7 @@ stbi__start_callbacks.exit: ; preds = %17, %19 } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_load_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #3 { +define dso_local ptr @stbi_load_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #3 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 store ptr null, ptr %8, align 8 @@ -14806,7 +14806,7 @@ define dso_local ptr @stbi_load_from_memory(ptr noundef %0, i32 noundef %1, ptr } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_load_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #3 { +define dso_local ptr @stbi_load_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #3 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull readonly align 8 dereferenceable(24) %0, i64 24, i1 false) @@ -14848,7 +14848,7 @@ stbi__start_callbacks.exit: ; preds = %17, %19 } ; Function Attrs: nounwind uwtable -define dso_local noundef ptr @stbi_load_gif_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef %2, ptr noundef captures(none) %3, ptr noundef captures(none) %4, ptr noundef captures(none) %5, ptr noundef %6, i32 noundef %7) local_unnamed_addr #3 { +define dso_local noundef ptr @stbi_load_gif_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(none) %3, ptr noundef captures(none) %4, ptr noundef captures(none) %5, ptr noundef captures(address_is_null) %6, i32 noundef %7) local_unnamed_addr #3 { %9 = alloca [2048 x i8], align 16 %10 = alloca %struct.stbi__gif, align 8 %11 = alloca %struct.stbi__context, align 8 @@ -15076,7 +15076,7 @@ stbi__vertical_flip_slices.exit: ; preds = %stbi__vertical_flip } ; Function Attrs: nounwind uwtable -define dso_local noundef ptr @stbi_loadf_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #3 { +define dso_local noundef ptr @stbi_loadf_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #3 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 store ptr null, ptr %8, align 8 @@ -15097,7 +15097,7 @@ define dso_local noundef ptr @stbi_loadf_from_memory(ptr noundef %0, i32 noundef } ; Function Attrs: nounwind uwtable -define internal fastcc noundef ptr @stbi__loadf_main(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) unnamed_addr #3 { +define internal fastcc noundef ptr @stbi__loadf_main(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) unnamed_addr #3 { %6 = alloca [2048 x i8], align 16 %7 = tail call fastcc i32 @stbi__hdr_test(ptr noundef %0) %.not = icmp eq i32 %7, 0 @@ -15322,7 +15322,7 @@ stbi__float_postprocess.exit: ; preds = %.loopexit.i, %stbi_ } ; Function Attrs: nounwind uwtable -define dso_local noundef ptr @stbi_loadf_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #3 { +define dso_local noundef ptr @stbi_loadf_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #3 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull readonly align 8 dereferenceable(24) %0, i64 24, i1 false) @@ -15364,7 +15364,7 @@ stbi__start_callbacks.exit: ; preds = %17, %19 } ; Function Attrs: nounwind uwtable -define dso_local noundef ptr @stbi_loadf(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #3 { +define dso_local noundef ptr @stbi_loadf(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #3 { %6 = alloca %struct.stbi__context, align 8 %7 = tail call noalias noundef ptr @fopen(ptr noundef readonly %0, ptr noundef nonnull @.str.10) %.not = icmp eq ptr %7, null @@ -15422,7 +15422,7 @@ stbi_loadf_from_file.exit: ; preds = %19, %21 } ; Function Attrs: nounwind uwtable -define dso_local noundef ptr @stbi_loadf_from_file(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #3 { +define dso_local noundef ptr @stbi_loadf_from_file(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #3 { %6 = alloca %struct.stbi__context, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) @stbi__stdio_callbacks, i64 24, i1 false) @@ -15812,7 +15812,7 @@ define dso_local void @stbi_hdr_to_ldr_scale(float noundef %0) local_unnamed_add } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_zlib_decode_malloc_guesssize(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly %3) local_unnamed_addr #3 { +define dso_local ptr @stbi_zlib_decode_malloc_guesssize(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly captures(address_is_null) %3) local_unnamed_addr #3 { %5 = alloca %struct.stbi__zbuf, align 8 %6 = sext i32 %2 to i64 %7 = tail call noalias noundef ptr @malloc(i64 noundef range(i64 -8589934588, 8589934589) %6) #59 @@ -17265,7 +17265,7 @@ stbi__parse_zlib.exit: ; preds = %stbi__zreceive.exit } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_zlib_decode_malloc(ptr noundef %0, i32 noundef %1, ptr noundef writeonly %2) local_unnamed_addr #3 { +define dso_local ptr @stbi_zlib_decode_malloc(ptr noundef %0, i32 noundef %1, ptr noundef writeonly captures(address_is_null) %2) local_unnamed_addr #3 { %4 = alloca %struct.stbi__zbuf, align 8 call void @llvm.lifetime.start.p0(i64 4096, ptr nonnull %4) %5 = tail call noalias noundef dereferenceable_or_null(16384) ptr @malloc(i64 noundef range(i64 -8589934588, 8589934589) 16384) #59 @@ -17316,7 +17316,7 @@ stbi_zlib_decode_malloc_guesssize.exit: ; preds = %3, %._crit_edge.i, } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_zlib_decode_malloc_guesssize_headerflag(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly %3, i32 noundef %4) local_unnamed_addr #3 { +define dso_local ptr @stbi_zlib_decode_malloc_guesssize_headerflag(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #3 { %6 = alloca %struct.stbi__zbuf, align 8 %7 = sext i32 %2 to i64 %8 = tail call noalias noundef ptr @malloc(i64 noundef range(i64 -8589934588, 8589934589) %7) #59 @@ -17388,7 +17388,7 @@ define dso_local i32 @stbi_zlib_decode_buffer(ptr noundef %0, i32 noundef %1, pt } ; Function Attrs: nounwind uwtable -define dso_local ptr @stbi_zlib_decode_noheader_malloc(ptr noundef %0, i32 noundef %1, ptr noundef writeonly %2) local_unnamed_addr #3 { +define dso_local ptr @stbi_zlib_decode_noheader_malloc(ptr noundef %0, i32 noundef %1, ptr noundef writeonly captures(address_is_null) %2) local_unnamed_addr #3 { %4 = alloca %struct.stbi__zbuf, align 8 %5 = tail call noalias noundef dereferenceable_or_null(16384) ptr @malloc(i64 noundef 16384) #59 %6 = icmp eq ptr %5, null @@ -17471,7 +17471,7 @@ define dso_local void @stbi_convert_iphone_png_to_rgb(i32 noundef %0) local_unna } ; Function Attrs: nounwind uwtable -define dso_local range(i32 0, 2) i32 @stbi_info(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) local_unnamed_addr #3 { +define dso_local range(i32 0, 2) i32 @stbi_info(ptr noundef readonly captures(none) %0, ptr noundef captures(address_is_null) %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3) local_unnamed_addr #3 { %5 = alloca %struct.stbi__context, align 8 %6 = tail call noalias noundef ptr @fopen(ptr noundef readonly %0, ptr noundef nonnull @.str.10) %.not = icmp eq ptr %6, null @@ -17531,7 +17531,7 @@ stbi_info_from_file.exit: ; preds = %19, %21 } ; Function Attrs: nounwind uwtable -define dso_local range(i32 0, 2) i32 @stbi_info_from_file(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) local_unnamed_addr #3 { +define dso_local range(i32 0, 2) i32 @stbi_info_from_file(ptr noundef %0, ptr noundef captures(address_is_null) %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3) local_unnamed_addr #3 { %5 = alloca %struct.stbi__context, align 8 %6 = tail call i64 @ftell(ptr noundef %0) %7 = getelementptr inbounds nuw i8, ptr %5, i64 16 @@ -17575,7 +17575,7 @@ stbi__start_file.exit: ; preds = %16, %18 } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 0, 2) i32 @stbi__info_main(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) unnamed_addr #3 { +define internal fastcc range(i32 0, 2) i32 @stbi__info_main(ptr noundef nonnull %0, ptr noundef captures(address_is_null) %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3) unnamed_addr #3 { %5 = alloca %struct.stbi__bmp_data, align 4 %6 = alloca %struct.stbi__png, align 8 %7 = tail call noalias noundef dereferenceable_or_null(18568) ptr @malloc(i64 noundef 18568) #59 @@ -18347,7 +18347,7 @@ stbi__psd_is16.exit: ; preds = %stbi__get16be.exit4 } ; Function Attrs: nounwind uwtable -define dso_local range(i32 0, 2) i32 @stbi_info_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4) local_unnamed_addr #3 { +define dso_local range(i32 0, 2) i32 @stbi_info_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3, ptr noundef captures(address_is_null) %4) local_unnamed_addr #3 { %6 = alloca %struct.stbi__context, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 store ptr null, ptr %7, align 8 @@ -18368,7 +18368,7 @@ define dso_local range(i32 0, 2) i32 @stbi_info_from_memory(ptr noundef %0, i32 } ; Function Attrs: nounwind uwtable -define dso_local range(i32 0, 2) i32 @stbi_info_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4) local_unnamed_addr #3 { +define dso_local range(i32 0, 2) i32 @stbi_info_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3, ptr noundef captures(address_is_null) %4) local_unnamed_addr #3 { %6 = alloca %struct.stbi__context, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull readonly align 8 dereferenceable(24) %0, i64 24, i1 false) @@ -18796,7 +18796,7 @@ define dso_local void @nvgReset(ptr noundef captures(none) %0) local_unnamed_add } ; Function Attrs: nounwind uwtable -define dso_local void @nvgDeleteInternal(ptr noundef %0) local_unnamed_addr #3 { +define dso_local void @nvgDeleteInternal(ptr noundef captures(address_is_null) %0) local_unnamed_addr #3 { %2 = icmp eq ptr %0, null br i1 %2, label %42, label %3 @@ -18903,7 +18903,7 @@ nvg__deletePathCache.exit: ; preds = %17, %20 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define dso_local noundef ptr @nvgInternalParams(ptr noundef readnone returned %0) local_unnamed_addr #9 { +define dso_local noundef ptr @nvgInternalParams(ptr noundef readnone returned captures(ret: address, provenance) %0) local_unnamed_addr #9 { ret ptr %0 } @@ -20126,7 +20126,7 @@ define dso_local void @nvgScale(ptr noundef captures(none) %0, float noundef %1, } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define dso_local void @nvgCurrentTransform(ptr noundef readonly captures(none) %0, ptr noundef writeonly %1) local_unnamed_addr #11 { +define dso_local void @nvgCurrentTransform(ptr noundef readonly captures(none) %0, ptr noundef writeonly captures(address_is_null) %1) local_unnamed_addr #11 { %3 = icmp eq ptr %1, null br i1 %3, label %11, label %4 @@ -24145,7 +24145,7 @@ define dso_local range(i32 -2147483648, 2147483647) i32 @nvgCreateFontMem(ptr no } ; Function Attrs: nofree nounwind memory(read, inaccessiblemem: none) uwtable -define dso_local i32 @nvgFindFont(ptr noundef readonly captures(none) %0, ptr noundef readonly %1) local_unnamed_addr #21 { +define dso_local i32 @nvgFindFont(ptr noundef readonly captures(none) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #21 { %3 = icmp eq ptr %1, null br i1 %3, label %fonsGetFontByName.exit, label %4 @@ -24221,7 +24221,7 @@ fonsAddFallbackFont.exit: ; preds = %17, %6, %3 } ; Function Attrs: nofree nounwind memory(readwrite, inaccessiblemem: none) uwtable -define dso_local range(i32 0, 2) i32 @nvgAddFallbackFont(ptr noundef readonly captures(none) %0, ptr noundef readonly %1, ptr noundef readonly %2) local_unnamed_addr #38 { +define dso_local range(i32 0, 2) i32 @nvgAddFallbackFont(ptr noundef readonly captures(none) %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef readonly captures(address_is_null) %2) local_unnamed_addr #38 { %4 = icmp eq ptr %1, null br i1 %4, label %nvgFindFont.exit, label %5 @@ -25208,7 +25208,7 @@ define dso_local void @nvgTextBox(ptr noundef %0, float noundef %1, float nounde } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(readwrite, inaccessiblemem: none) uwtable -define dso_local void @nvgTextMetrics(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) local_unnamed_addr #17 { +define dso_local void @nvgTextMetrics(ptr noundef readonly captures(none) %0, ptr noundef captures(address_is_null) %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3) local_unnamed_addr #17 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 136 %6 = getelementptr inbounds nuw i8, ptr %0, i64 8840 %7 = load i32, ptr %6, align 8 @@ -25994,7 +25994,7 @@ define dso_local i32 @nvgTextGlyphPositions(ptr noundef captures(none) %0, float } ; Function Attrs: nounwind uwtable -define dso_local float @nvgTextBounds(ptr noundef readonly captures(none) %0, float noundef %1, float noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5) local_unnamed_addr #3 { +define dso_local float @nvgTextBounds(ptr noundef readonly captures(none) %0, float noundef %1, float noundef %2, ptr noundef captures(address) %3, ptr noundef captures(address) %4, ptr noundef captures(address_is_null) %5) local_unnamed_addr #3 { %7 = getelementptr inbounds nuw i8, ptr %0, i64 136 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8840 %9 = load i32, ptr %8, align 8 @@ -26128,7 +26128,7 @@ define dso_local float @nvgTextBounds(ptr noundef readonly captures(none) %0, fl } ; Function Attrs: nounwind uwtable -define dso_local void @nvgTextBoxBounds(ptr noundef captures(none) %0, float noundef %1, float noundef %2, float noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef writeonly %6) local_unnamed_addr #3 { +define dso_local void @nvgTextBoxBounds(ptr noundef captures(none) %0, float noundef %1, float noundef %2, float noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef writeonly captures(address_is_null) %6) local_unnamed_addr #3 { %8 = alloca [2 x %struct.NVGtextRow], align 16 %9 = alloca float, align 4 %10 = alloca float, align 4 @@ -26547,7 +26547,7 @@ define dso_local void @nvgTextBoxBounds(ptr noundef captures(none) %0, float nou } ; Function Attrs: nofree nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc void @stbtt__tesselate_curve(ptr noundef %0, ptr noundef nonnull captures(none) %1, float noundef %2, float noundef %3, float noundef %4, float noundef %5, float noundef %6, float noundef %7, float noundef %8, i32 noundef %9) unnamed_addr #40 { +define internal fastcc void @stbtt__tesselate_curve(ptr noundef captures(address_is_null) %0, ptr noundef nonnull captures(none) %1, float noundef %2, float noundef %3, float noundef %4, float noundef %5, float noundef %6, float noundef %7, float noundef %8, i32 noundef %9) unnamed_addr #40 { %11 = icmp sgt i32 %9, 16 br i1 %11, label %.loopexit, label %.lr.ph.preheader @@ -27469,7 +27469,7 @@ define internal noundef i32 @stbi__stdio_eof(ptr noundef captures(none) %0) #37 declare noundef i32 @feof(ptr noundef captures(none)) local_unnamed_addr #18 ; Function Attrs: nounwind uwtable -define internal fastcc ptr @stbi__load_main(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4, ptr noundef nonnull captures(none) initializes((0, 12)) %5, i32 noundef range(i32 8, 17) %6) unnamed_addr #3 { +define internal fastcc ptr @stbi__load_main(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4, ptr noundef nonnull captures(none) initializes((0, 12)) %5, i32 noundef range(i32 8, 17) %6) unnamed_addr #3 { %8 = alloca %struct.stbi__gif, align 8 %9 = alloca [256 x [4 x i8]], align 16 %10 = alloca %struct.stbi__bmp_data, align 4 @@ -33558,7 +33558,7 @@ stbi__gif_test_raw.exit: ; preds = %10, %stbi__get8.exi } ; Function Attrs: nounwind uwtable -define internal fastcc noundef ptr @stbi__psd_load(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly %3, i32 noundef %4, ptr noundef nonnull captures(none) %5, i32 noundef range(i32 8, 17) %6) unnamed_addr #3 { +define internal fastcc noundef ptr @stbi__psd_load(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4, ptr noundef nonnull captures(none) %5, i32 noundef range(i32 8, 17) %6) unnamed_addr #3 { %8 = tail call fastcc i32 @stbi__get32be(ptr noundef nonnull %0) %.not = icmp eq i32 %8, 943870035 br i1 %.not, label %10, label %9 @@ -35296,7 +35296,7 @@ stbi__pic_test_core.exit: ; preds = %stbi__get8.exit.i.i } ; Function Attrs: nounwind uwtable -define internal fastcc noundef ptr @stbi__pic_load(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef %3, i32 noundef %4) unnamed_addr #3 { +define internal fastcc noundef ptr @stbi__pic_load(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) unnamed_addr #3 { %6 = alloca [10 x %struct.stbi__pic_packet], align 16 %7 = alloca [4 x i8], align 1 %8 = alloca [4 x i8], align 1 @@ -37049,7 +37049,7 @@ stbi__get8.exit14.thread: ; preds = %36, %stbi__get8.exi } ; Function Attrs: nounwind uwtable -define internal fastcc noundef ptr @stbi__pnm_load(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly %3, i32 noundef %4) unnamed_addr #3 { +define internal fastcc noundef ptr @stbi__pnm_load(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4) unnamed_addr #3 { %6 = getelementptr inbounds nuw i8, ptr %0, i64 4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 8 %8 = tail call fastcc i32 @stbi__pnm_info(ptr noundef %0, ptr noundef nonnull %0, ptr noundef nonnull %6, ptr noundef nonnull %7) @@ -37204,7 +37204,7 @@ stbi__getn.exit: ; preds = %44, %52, %56 } ; Function Attrs: nounwind uwtable -define internal fastcc noundef ptr @stbi__hdr_load(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly %3, i32 noundef %4) unnamed_addr #3 { +define internal fastcc noundef ptr @stbi__hdr_load(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4) unnamed_addr #3 { %6 = alloca [1024 x i8], align 16 %7 = alloca ptr, align 8 %8 = alloca [4 x i8], align 4 @@ -37875,7 +37875,7 @@ stbi__malloc_mad2.exit.thread: ; preds = %stbi__malloc_mad2.e } ; Function Attrs: nounwind uwtable -define internal fastcc noalias noundef ptr @stbi__hdr_to_ldr(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) unnamed_addr #3 { +define internal fastcc noalias noundef ptr @stbi__hdr_to_ldr(ptr noundef captures(address_is_null) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) unnamed_addr #3 { %.not = icmp eq ptr %0, null br i1 %.not, label %66, label %5 @@ -38659,7 +38659,7 @@ stbi__get8.exit79.thread: ; preds = %108, %switch.early. } ; Function Attrs: nounwind uwtable -define internal fastcc noundef ptr @stbi__tga_load(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly %3, i32 noundef %4) unnamed_addr #3 { +define internal fastcc noundef ptr @stbi__tga_load(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4) unnamed_addr #3 { %6 = alloca [4 x i8], align 4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 184 %8 = load ptr, ptr %7, align 8 @@ -40913,7 +40913,7 @@ define internal void @stbi__YCbCr_to_RGB_simd(ptr noundef writeonly captures(non } ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @stbi__resample_row_hv_2_simd(ptr noundef returned writeonly %0, ptr noundef readonly captures(none) %1, ptr noundef readonly captures(none) %2, i32 noundef %3, i32 %4) #43 { +define internal noundef ptr @stbi__resample_row_hv_2_simd(ptr noundef returned writeonly captures(ret: address, provenance) %0, ptr noundef readonly captures(none) %1, ptr noundef readonly captures(none) %2, i32 noundef %3, i32 %4) #43 { %6 = icmp eq i32 %3, 1 %7 = load i8, ptr %1, align 1 %8 = load i8, ptr %2, align 1 @@ -44103,12 +44103,12 @@ stbi__mad3sizes_valid.exit.thread: ; preds = %stbi__mul2sizes_val } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define internal noundef ptr @resample_row_1(ptr readnone captures(none) %0, ptr noundef readnone returned %1, ptr readnone captures(none) %2, i32 %3, i32 %4) #9 { +define internal noundef ptr @resample_row_1(ptr readnone captures(none) %0, ptr noundef readnone returned captures(ret: address, provenance) %1, ptr readnone captures(none) %2, i32 %3, i32 %4) #9 { ret ptr %1 } ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @stbi__resample_row_v_2(ptr noundef returned writeonly %0, ptr noundef readonly captures(none) %1, ptr noundef readonly captures(none) %2, i32 noundef %3, i32 %4) #1 { +define internal noundef ptr @stbi__resample_row_v_2(ptr noundef returned writeonly captures(ret: address, provenance) %0, ptr noundef readonly captures(none) %1, ptr noundef readonly captures(none) %2, i32 noundef %3, i32 %4) #1 { %6 = icmp sgt i32 %3, 0 br i1 %6, label %.lr.ph.preheader, label %._crit_edge @@ -44140,7 +44140,7 @@ define internal noundef ptr @stbi__resample_row_v_2(ptr noundef returned writeon } ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @stbi__resample_row_h_2(ptr noundef returned writeonly initializes((0, 2)) %0, ptr noundef readonly captures(none) %1, ptr readnone captures(none) %2, i32 noundef %3, i32 %4) #1 { +define internal noundef ptr @stbi__resample_row_h_2(ptr noundef returned writeonly captures(ret: address, provenance) initializes((0, 2)) %0, ptr noundef readonly captures(none) %1, ptr readnone captures(none) %2, i32 noundef %3, i32 %4) #1 { %6 = icmp eq i32 %3, 1 %7 = load i8, ptr %1, align 1 br i1 %6, label %8, label %10 @@ -44236,7 +44236,7 @@ define internal noundef ptr @stbi__resample_row_h_2(ptr noundef returned writeon } ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @stbi__resample_row_generic(ptr noundef returned writeonly %0, ptr noundef readonly captures(none) %1, ptr readnone captures(none) %2, i32 noundef %3, i32 noundef %4) #1 { +define internal noundef ptr @stbi__resample_row_generic(ptr noundef returned writeonly captures(ret: address, provenance) %0, ptr noundef readonly captures(none) %1, ptr readnone captures(none) %2, i32 noundef %3, i32 noundef %4) #1 { %6 = icmp sgt i32 %3, 0 %7 = icmp sgt i32 %4, 0 %or.cond = and i1 %6, %7 @@ -46537,7 +46537,7 @@ stbi__skip.exit: ; preds = %stbi__get8.exit321, } ; Function Attrs: nounwind memory(write, argmem: readwrite, inaccessiblemem: readwrite) uwtable -define internal fastcc noundef ptr @stbi__convert_format(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) unnamed_addr #47 { +define internal fastcc noundef ptr @stbi__convert_format(ptr noundef captures(ret: address, provenance) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) unnamed_addr #47 { %6 = icmp eq i32 %2, %1 br i1 %6, label %153, label %7 @@ -46918,7 +46918,7 @@ stbi__malloc_mad3.exit.thread: ; preds = %stbi__mul2sizes_val } ; Function Attrs: nounwind memory(write, argmem: readwrite, inaccessiblemem: readwrite) uwtable -define internal fastcc noundef ptr @stbi__convert_format16(ptr noundef %0, i32 noundef %1, i32 noundef range(i32 1, 0) %2, i32 noundef %3, i32 noundef %4) unnamed_addr #47 { +define internal fastcc noundef ptr @stbi__convert_format16(ptr noundef captures(ret: address, provenance) %0, i32 noundef %1, i32 noundef range(i32 1, 0) %2, i32 noundef %3, i32 noundef %4) unnamed_addr #47 { %6 = icmp eq i32 %2, %1 br i1 %6, label %147, label %7 @@ -50432,7 +50432,7 @@ stbi__get16le.exit173: ; preds = %373, %376, %stbi__r } ; Function Attrs: nounwind uwtable -define internal fastcc ptr @stbi__gif_load_next(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef readonly %3) unnamed_addr #3 { +define internal fastcc ptr @stbi__gif_load_next(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef captures(address_is_null) %2, ptr noundef readonly captures(address_is_null) %3) unnamed_addr #3 { %5 = getelementptr inbounds nuw i8, ptr %1, i64 8 %6 = load ptr, ptr %5, align 8 %.not176 = icmp eq ptr %6, null @@ -52110,7 +52110,7 @@ stbi__process_gif_raster.exit.thread: ; preds = %stbi__get8.exit, %5 } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 0, 2) i32 @stbi__gif_header(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef writeonly %2, i32 noundef range(i32 0, 2) %3) unnamed_addr #3 { +define internal fastcc range(i32 0, 2) i32 @stbi__gif_header(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef writeonly captures(address_is_null) %2, i32 noundef range(i32 0, 2) %3) unnamed_addr #3 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 184 %6 = load ptr, ptr %5, align 8 %7 = getelementptr inbounds nuw i8, ptr %0, i64 192 @@ -53147,7 +53147,7 @@ define internal fastcc void @stbi__out_gif_code(ptr noundef nonnull captures(non } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 0, 2) i32 @stbi__pnm_info(ptr noundef nonnull initializes((184, 200)) %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) unnamed_addr #3 { +define internal fastcc range(i32 0, 2) i32 @stbi__pnm_info(ptr noundef nonnull initializes((184, 200)) %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) unnamed_addr #3 { %5 = alloca i8, align 1 %.not = icmp eq ptr %1, null %.not26 = icmp eq ptr %2, null @@ -53865,7 +53865,7 @@ stbi__at_eof.exit24.thread43: ; preds = %47, %stbi__at_eof.e } ; Function Attrs: nounwind uwtable -define internal fastcc noundef nonnull ptr @stbi__hdr_gettoken(ptr noundef nonnull %0, ptr noundef nonnull returned writeonly %1) unnamed_addr #3 { +define internal fastcc noundef nonnull ptr @stbi__hdr_gettoken(ptr noundef nonnull %0, ptr noundef nonnull returned writeonly captures(ret: address, provenance) %1) unnamed_addr #3 { %3 = getelementptr inbounds nuw i8, ptr %0, i64 184 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw i8, ptr %0, i64 192 @@ -54525,7 +54525,7 @@ define internal fastcc range(i32 0, 2) i32 @stbi__zbuild_huffman(ptr noundef non } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 0, 2) i32 @stbi__psd_info(ptr noundef nonnull %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) unnamed_addr #3 { +define internal fastcc range(i32 0, 2) i32 @stbi__psd_info(ptr noundef nonnull %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) unnamed_addr #3 { %.not = icmp eq ptr %1, null %.not28 = icmp eq ptr %2, null %.not29 = icmp eq ptr %3, null @@ -55080,7 +55080,7 @@ stbi__get16be.exit68: ; preds = %244, %247, %stbi__r } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 0, 2) i32 @stbi__pic_info(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly %3) unnamed_addr #3 { +define internal fastcc range(i32 0, 2) i32 @stbi__pic_info(ptr noundef nonnull %0, ptr noundef captures(address_is_null) %1, ptr noundef captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) unnamed_addr #3 { %.not = icmp eq ptr %1, null %.not41 = icmp eq ptr %2, null %.not42 = icmp eq ptr %3, null @@ -55758,7 +55758,7 @@ stbi__at_eof.exit100.thread: ; preds = %268, %stbi__at_eof. } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 0, 2) i32 @stbi__hdr_info(ptr noundef nonnull %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) unnamed_addr #3 { +define internal fastcc range(i32 0, 2) i32 @stbi__hdr_info(ptr noundef nonnull %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) unnamed_addr #3 { %5 = alloca [1024 x i8], align 16 %6 = alloca ptr, align 8 %.not = icmp eq ptr %1, null @@ -55897,7 +55897,7 @@ sub_1: ; preds = %43 } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 0, 2) i32 @stbi__tga_info(ptr noundef nonnull %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) unnamed_addr #3 { +define internal fastcc range(i32 0, 2) i32 @stbi__tga_info(ptr noundef nonnull %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) unnamed_addr #3 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 184 %6 = load ptr, ptr %5, align 8 %7 = getelementptr inbounds nuw i8, ptr %0, i64 192 diff --git a/bench/nori/optimized/screen.ll b/bench/nori/optimized/screen.ll index ce73654f496..cf8ab79d6da 100644 --- a/bench/nori/optimized/screen.ll +++ b/bench/nori/optimized/screen.ll @@ -7156,7 +7156,7 @@ declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_construc declare void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 ; Function Attrs: mustprogress uwtable -define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_08__invokeEP10GLFWwindowdd"(ptr noundef readnone %0, double noundef %1, double noundef %2) #3 align 2 { +define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_08__invokeEP10GLFWwindowdd"(ptr noundef readnone captures(address) %0, double noundef %1, double noundef %2) #3 align 2 { %4 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN7nanogui17__nanogui_screensE, i64 16), align 8 %.not10.i.i.i.i = icmp eq ptr %4, null br i1 %.not10.i.i.i.i, label %"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjENK3$_0clEP10GLFWwindowdd.exit", label %.lr.ph.i.i.i.i @@ -7201,7 +7201,7 @@ _ZNSt3mapIP10GLFWwindowPN7nanogui6ScreenESt4lessIS1_ESaISt4pairIKS1_S4_EEE4findE } ; Function Attrs: mustprogress uwtable -define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_18__invokeEP10GLFWwindowiii"(ptr noundef readnone %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) #3 align 2 { +define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_18__invokeEP10GLFWwindowiii"(ptr noundef readnone captures(address) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) #3 align 2 { %5 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN7nanogui17__nanogui_screensE, i64 16), align 8 %.not10.i.i.i.i = icmp eq ptr %5, null br i1 %.not10.i.i.i.i, label %"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjENK3$_1clEP10GLFWwindowiii.exit", label %.lr.ph.i.i.i.i @@ -7246,7 +7246,7 @@ _ZNSt3mapIP10GLFWwindowPN7nanogui6ScreenESt4lessIS1_ESaISt4pairIKS1_S4_EEE4findE } ; Function Attrs: mustprogress uwtable -define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_28__invokeEP10GLFWwindowiiii"(ptr noundef readnone %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) #3 align 2 { +define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_28__invokeEP10GLFWwindowiiii"(ptr noundef readnone captures(address) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) #3 align 2 { %6 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN7nanogui17__nanogui_screensE, i64 16), align 8 %.not10.i.i.i.i = icmp eq ptr %6, null br i1 %.not10.i.i.i.i, label %"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjENK3$_2clEP10GLFWwindowiiii.exit", label %.lr.ph.i.i.i.i @@ -7291,7 +7291,7 @@ _ZNSt3mapIP10GLFWwindowPN7nanogui6ScreenESt4lessIS1_ESaISt4pairIKS1_S4_EEE4findE } ; Function Attrs: mustprogress uwtable -define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_38__invokeEP10GLFWwindowj"(ptr noundef readnone %0, i32 noundef %1) #3 align 2 { +define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_38__invokeEP10GLFWwindowj"(ptr noundef readnone captures(address) %0, i32 noundef %1) #3 align 2 { %3 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN7nanogui17__nanogui_screensE, i64 16), align 8 %.not10.i.i.i.i = icmp eq ptr %3, null br i1 %.not10.i.i.i.i, label %"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjENK3$_3clEP10GLFWwindowj.exit", label %.lr.ph.i.i.i.i @@ -7336,7 +7336,7 @@ _ZNSt3mapIP10GLFWwindowPN7nanogui6ScreenESt4lessIS1_ESaISt4pairIKS1_S4_EEE4findE } ; Function Attrs: mustprogress uwtable -define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_48__invokeEP10GLFWwindowiPPKc"(ptr noundef readnone %0, i32 noundef %1, ptr noundef readonly captures(none) %2) #3 align 2 { +define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_48__invokeEP10GLFWwindowiPPKc"(ptr noundef readnone captures(address) %0, i32 noundef %1, ptr noundef readonly captures(none) %2) #3 align 2 { %4 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN7nanogui17__nanogui_screensE, i64 16), align 8 %.not10.i.i.i.i = icmp eq ptr %4, null br i1 %.not10.i.i.i.i, label %"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjENK3$_4clEP10GLFWwindowiPPKc.exit", label %.lr.ph.i.i.i.i @@ -7381,7 +7381,7 @@ _ZNSt3mapIP10GLFWwindowPN7nanogui6ScreenESt4lessIS1_ESaISt4pairIKS1_S4_EEE4findE } ; Function Attrs: mustprogress uwtable -define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_58__invokeEP10GLFWwindowdd"(ptr noundef readnone %0, double noundef %1, double noundef %2) #3 align 2 { +define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_58__invokeEP10GLFWwindowdd"(ptr noundef readnone captures(address) %0, double noundef %1, double noundef %2) #3 align 2 { %4 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN7nanogui17__nanogui_screensE, i64 16), align 8 %.not10.i.i.i.i = icmp eq ptr %4, null br i1 %.not10.i.i.i.i, label %"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjENK3$_5clEP10GLFWwindowdd.exit", label %.lr.ph.i.i.i.i @@ -7426,7 +7426,7 @@ _ZNSt3mapIP10GLFWwindowPN7nanogui6ScreenESt4lessIS1_ESaISt4pairIKS1_S4_EEE4findE } ; Function Attrs: mustprogress uwtable -define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_68__invokeEP10GLFWwindowii"(ptr noundef readnone %0, i32 %1, i32 %2) #3 align 2 { +define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_68__invokeEP10GLFWwindowii"(ptr noundef readnone captures(address) %0, i32 %1, i32 %2) #3 align 2 { %4 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN7nanogui17__nanogui_screensE, i64 16), align 8 %.not10.i.i.i.i = icmp eq ptr %4, null br i1 %.not10.i.i.i.i, label %"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjENK3$_6clEP10GLFWwindowii.exit", label %.lr.ph.i.i.i.i @@ -7471,7 +7471,7 @@ _ZNSt3mapIP10GLFWwindowPN7nanogui6ScreenESt4lessIS1_ESaISt4pairIKS1_S4_EEE4findE } ; Function Attrs: mustprogress uwtable -define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_78__invokeEP10GLFWwindowi"(ptr noundef readnone %0, i32 noundef %1) #3 align 2 { +define internal void @"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjEN3$_78__invokeEP10GLFWwindowi"(ptr noundef readnone captures(address) %0, i32 noundef %1) #3 align 2 { %3 = load ptr, ptr getelementptr inbounds nuw (i8, ptr @_ZN7nanogui17__nanogui_screensE, i64 16), align 8 %.not10.i.i.i.i = icmp eq ptr %3, null br i1 %.not10.i.i.i.i, label %"_ZZN7nanogui6ScreenC1ERKNS_5ArrayIiLm2EEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbbbbbjjENK3$_7clEP10GLFWwindowi.exit", label %.lr.ph.i.i.i.i diff --git a/bench/openjdk/optimized/jvmciCompilerToVM.ll b/bench/openjdk/optimized/jvmciCompilerToVM.ll index 66d317af8c3..30d93f5c209 100644 --- a/bench/openjdk/optimized/jvmciCompilerToVM.ll +++ b/bench/openjdk/optimized/jvmciCompilerToVM.ll @@ -1077,7 +1077,7 @@ _ZN10HandleArea15allocate_handleEP7oopDesc.exit: ; preds = %15, %17 declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #1 ; Function Attrs: mustprogress nounwind uwtable -define hidden noundef nonnull align 8 dereferenceable(24) ptr @_ZN16JVMCIKlassHandleaSEP5Klass(ptr noundef nonnull returned align 8 dereferenceable(24) initializes((0, 8)) %0, ptr noundef %1) local_unnamed_addr #0 align 2 { +define hidden noundef nonnull align 8 dereferenceable(24) ptr @_ZN16JVMCIKlassHandleaSEP5Klass(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(24) initializes((0, 8)) %0, ptr noundef %1) local_unnamed_addr #0 align 2 { store ptr %1, ptr %0, align 8 %.not = icmp eq ptr %1, null br i1 %.not, label %25, label %3 @@ -1380,7 +1380,7 @@ declare void @_ZN8JVMCIEnvD1Ev(ptr noundef nonnull align 8 dereferenceable(64)) declare void @_ZN25CompilerThreadCanCallJavaD1Ev(ptr noundef nonnull align 8 dereferenceable(9)) unnamed_addr #3 ; Function Attrs: mustprogress nounwind uwtable -define hidden noundef ptr @_Z16c2v_getFlagValueP7JNIEnv_P8_jobjectS2_(ptr noundef %0, ptr noundef readnone %1, ptr noundef %2) #0 { +define hidden noundef ptr @_Z16c2v_getFlagValueP7JNIEnv_P8_jobjectS2_(ptr noundef %0, ptr noundef readnone captures(ret: address, provenance) %1, ptr noundef %2) #0 { %4 = alloca %class.FormatBuffer, align 8 %5 = alloca %class.CompilerThreadCanCallJava, align 8 %6 = alloca %class.JVMCIEnv, align 8 @@ -3964,10 +3964,7 @@ _ZNK7oopDesc5klassEv.exit112: ; preds = %198, %208 %227 = getelementptr inbounds nuw i8, ptr %224, i64 152 %228 = load ptr, ptr %227, align 8 %229 = call noundef zeroext i1 @_ZNK15ClassLoaderData8is_aliveEv(ptr noundef nonnull align 8 dereferenceable(160) %228) #16 - %.pr = load ptr, ptr %9, align 8 - %230 = icmp ne ptr %.pr, null - %or.cond143.not = select i1 %229, i1 %230, i1 false - br i1 %or.cond143.not, label %231, label %_ZN16JVMCIKlassHandleaSEP5Klass.exit.thread + br i1 %229, label %230, label %_ZN16JVMCIKlassHandleaSEP5Klass.exit.thread _ZN16JVMCIKlassHandleaSEP5Klass.exit: ; preds = %_ZN6HandleC2EP6ThreadP7oopDesc.exit.i, %132, %143, %152, %136, %129, %_ZNK6HandleclEv.exit108, %_ZNK6HandleclEv.exit, %117 %.pr.old = load ptr, ptr %9, align 8 @@ -4034,10 +4031,10 @@ _ZN12ResourceMarkD2Ev.exit: ; preds = %248, %250 %251 = getelementptr inbounds nuw i8, ptr %16, i64 408 %252 = load ptr, ptr %251, align 8 %253 = getelementptr inbounds nuw i8, ptr %252, i64 16 + %253 = load ptr, ptr %252, align 8 %254 = load ptr, ptr %253, align 8 - %255 = load ptr, ptr %254, align 8 - %.not.i.i = icmp eq ptr %255, null - br i1 %.not.i.i, label %_ZN17HandleMarkCleanerD2Ev.exit, label %256 + %255 = icmp eq ptr %254, null + br i1 %.not.i.i, label %_ZN17HandleMarkCleanerD2Ev.exit, label %255 256: ; preds = %_ZN12ResourceMarkD2Ev.exit call void @_ZN10HandleMark17chop_later_chunksEv(ptr noundef nonnull align 8 dereferenceable(56) %252) #16 @@ -4045,7 +4042,7 @@ _ZN12ResourceMarkD2Ev.exit: ; preds = %248, %250 br label %_ZN17HandleMarkCleanerD2Ev.exit _ZN17HandleMarkCleanerD2Ev.exit: ; preds = %_ZN12ResourceMarkD2Ev.exit, %256 - %257 = phi ptr [ %254, %_ZN12ResourceMarkD2Ev.exit ], [ %.pre.i.i, %256 ] + %257 = phi ptr [ %253, %_ZN12ResourceMarkD2Ev.exit ], [ %.pre.i.i, %256 ] %258 = getelementptr inbounds nuw i8, ptr %252, i64 8 %259 = load ptr, ptr %258, align 8 %260 = getelementptr inbounds nuw i8, ptr %259, i64 24 @@ -27261,7 +27258,7 @@ _ZN17HandleMarkCleanerD2Ev.exit: ; preds = %_ZN12ResourceMarkD2 declare noundef ptr @_ZN16java_lang_String14as_utf8_stringEP7oopDesc(ptr noundef) local_unnamed_addr #2 ; Function Attrs: mustprogress nounwind uwtable -define hidden noundef zeroext range(i8 0, 2) i8 @_Z10c2v_equalsP7JNIEnv_P8_jobjectS2_lS2_l(ptr noundef %0, ptr readnone captures(none) %1, ptr noundef readnone %2, i64 noundef %3, ptr noundef readnone %4, i64 noundef %5) #0 { +define hidden noundef zeroext range(i8 0, 2) i8 @_Z10c2v_equalsP7JNIEnv_P8_jobjectS2_lS2_l(ptr noundef %0, ptr readnone captures(none) %1, ptr noundef readnone captures(address_is_null) %2, i64 noundef %3, ptr noundef readnone captures(address_is_null) %4, i64 noundef %5) #0 { %7 = alloca %class.FormatBuffer, align 8 %8 = alloca %class.CompilerThreadCanCallJava, align 8 %9 = alloca %class.JVMCIEnv, align 8 diff --git a/bench/openvdb/optimized/AttributeSet.ll b/bench/openvdb/optimized/AttributeSet.ll index 1fc0de83725..8ac09e7df50 100644 --- a/bench/openvdb/optimized/AttributeSet.ll +++ b/bench/openvdb/optimized/AttributeSet.ll @@ -1274,7 +1274,7 @@ _ZNSt12__shared_ptrIN7openvdb5v11_06points14AttributeArrayELN9__gnu_cxx12_Lock_p declare void @_ZN7openvdb5v11_06points14AttributeArray18ScopedRegistryLockC1Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull align 8 dereferenceable(56) ptr @_ZN7openvdb5v11_06points12AttributeSet10Descriptor11getMetadataEv(ptr noundef nonnull readnone align 8 dereferenceable(240) %this) local_unnamed_addr #7 align 2 { +define noundef nonnull align 8 dereferenceable(56) ptr @_ZN7openvdb5v11_06points12AttributeSet10Descriptor11getMetadataEv(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(240) %this) local_unnamed_addr #7 align 2 { entry: %mMetadata = getelementptr inbounds nuw i8, ptr %this, i64 120 ret ptr %mMetadata @@ -2589,7 +2589,7 @@ for.end: ; preds = %for.body, %_ZNK7ope } ; Function Attrs: mustprogress nounwind uwtable -define noundef i64 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor8memUsageEv(ptr noundef nonnull readonly align 8 dereferenceable(240) %this) local_unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { +define noundef i64 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor8memUsageEv(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(240) %this) local_unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { entry: %mTypes.i = getelementptr inbounds nuw i8, ptr %this, i64 48 %_M_finish.i.i = getelementptr inbounds nuw i8, ptr %this, i64 56 @@ -3622,7 +3622,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef i64 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor11groupOffsetERKSt4pairImhE(ptr noundef nonnull readonly align 8 dereferenceable(240) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %index) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +define noundef i64 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor11groupOffsetERKSt4pairImhE(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(240) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(9) %index) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i.i11 = alloca ptr, align 8 %ref.tmp2.i.i12 = alloca ptr, align 8 @@ -4003,7 +4003,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define { i64, i8 } @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor10groupIndexEm(ptr noundef nonnull readonly align 8 dereferenceable(240) %this, i64 noundef %offset) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +define { i64, i8 } @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor10groupIndexEm(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(240) %this, i64 noundef %offset) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i.i = alloca ptr, align 8 %ref.tmp2.i.i = alloca ptr, align 8 @@ -11072,7 +11072,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull align 8 dereferenceable(56) ptr @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor11getMetadataEv(ptr noundef nonnull readnone align 8 dereferenceable(240) %this) local_unnamed_addr #7 align 2 { +define noundef nonnull align 8 dereferenceable(56) ptr @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor11getMetadataEv(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(240) %this) local_unnamed_addr #7 align 2 { entry: %mMetadata = getelementptr inbounds nuw i8, ptr %this, i64 120 ret ptr %mMetadata @@ -11776,7 +11776,7 @@ ehcleanup: ; preds = %lpad, %lpad.i, %lpa } ; Function Attrs: mustprogress uwtable -define void @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor8appendToERSt6vectorINS2_4Util11NameAndTypeESaIS6_EE(ptr noundef nonnull readonly align 8 dereferenceable(240) %this, ptr noundef nonnull align 8 dereferenceable(24) %attrs) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor8appendToERSt6vectorINS2_4Util11NameAndTypeESaIS6_EE(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(240) %this, ptr noundef nonnull align 8 dereferenceable(24) %attrs) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp9.i = alloca %"class.std::tuple.116", align 8 %ref.tmp10.i = alloca %"class.std::tuple.104", align 1 @@ -13038,7 +13038,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef i64 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor17unusedGroupOffsetEm(ptr noundef nonnull readonly align 8 dereferenceable(240) %this, i64 noundef %hint) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +define noundef i64 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor17unusedGroupOffsetEm(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(240) %this, i64 noundef %hint) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: %call.i = tail call noundef i64 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor15availableGroupsEv(ptr noundef nonnull readonly align 8 dereferenceable(240) %this) %cmp.i = icmp eq i64 %call.i, 0 @@ -13324,7 +13324,7 @@ return: ; preds = %if.then.i.i.i29, %c } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor17requiresGroupMoveERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmSB_(ptr noundef nonnull align 8 dereferenceable(240) %this, ptr noundef nonnull align 8 dereferenceable(32) %sourceName, ptr noundef nonnull writeonly align 8 captures(none) dereferenceable(8) %sourceOffset, ptr noundef nonnull writeonly align 8 captures(none) dereferenceable(8) initializes((0, 8)) %targetOffset) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { +define noundef zeroext i1 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor17requiresGroupMoveERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmSB_(ptr noundef nonnull align 8 captures(address) dereferenceable(240) %this, ptr noundef nonnull align 8 dereferenceable(32) %sourceName, ptr noundef nonnull writeonly align 8 captures(none) dereferenceable(8) %sourceOffset, ptr noundef nonnull writeonly align 8 captures(none) dereferenceable(8) initializes((0, 8)) %targetOffset) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: %call2 = tail call noundef i64 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor17unusedGroupOffsetEm(ptr noundef nonnull align 8 dereferenceable(240) %this, i64 noundef -1) store i64 %call2, ptr %targetOffset, align 8 @@ -13360,7 +13360,7 @@ return: ; preds = %for.inc, %entry, %i } ; Function Attrs: mustprogress nounwind uwtable -define noundef zeroext i1 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor19groupIndexCollisionERKS3_(ptr noundef nonnull readonly align 8 dereferenceable(240) %this, ptr noundef nonnull readonly align 8 dereferenceable(240) %rhs) local_unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { +define noundef zeroext i1 @_ZNK7openvdb5v11_06points12AttributeSet10Descriptor19groupIndexCollisionERKS3_(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(240) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(240) %rhs) local_unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { entry: %_M_left.i.i = getelementptr inbounds nuw i8, ptr %this, i64 96 %0 = load ptr, ptr %_M_left.i.i, align 8 diff --git a/bench/pugixml/optimized/pugixml.ll b/bench/pugixml/optimized/pugixml.ll index 50a687db505..b53e1334243 100644 --- a/bench/pugixml/optimized/pugixml.ll +++ b/bench/pugixml/optimized/pugixml.ll @@ -521,7 +521,7 @@ return: ; preds = %cond.true, %cond.fa } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define noundef ptr @_ZNK4pugi13xml_attribute9as_stringEPKc(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8) %this, ptr noundef readnone %def) local_unnamed_addr #9 align 2 { +define noundef ptr @_ZNK4pugi13xml_attribute9as_stringEPKc(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8) %this, ptr noundef readnone captures(ret: address, provenance) %def) local_unnamed_addr #9 align 2 { entry: %0 = load ptr, ptr %this, align 8 %tobool.not = icmp eq ptr %0, null @@ -766,7 +766,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEPKc(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, ptr noundef readonly captures(none) %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEPKc(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, ptr noundef readonly captures(none) %rhs) local_unnamed_addr #6 align 2 { entry: %0 = load ptr, ptr %this, align 8 %tobool.not.i = icmp eq ptr %0, null @@ -801,7 +801,7 @@ return: ; preds = %entry, %if.end } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEi(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i32 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEi(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i32 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %buf.i.i = alloca [64 x i8], align 16 %0 = load ptr, ptr %this, align 8 @@ -890,7 +890,7 @@ return: ; preds = %entry, %_ZN4pugi4im } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEj(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i32 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEj(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i32 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %buf.i.i = alloca [64 x i8], align 16 %0 = load ptr, ptr %this, align 8 @@ -971,7 +971,7 @@ return: ; preds = %entry, %_ZN4pugi4im } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEl(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEl(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %buf.i.i = alloca [64 x i8], align 16 %0 = load ptr, ptr %this, align 8 @@ -1060,7 +1060,7 @@ return: ; preds = %entry, %_ZN4pugi4im } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEm(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEm(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %buf.i.i = alloca [64 x i8], align 16 %0 = load ptr, ptr %this, align 8 @@ -1141,7 +1141,7 @@ return: ; preds = %entry, %_ZN4pugi4im } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEd(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, double noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEd(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, double noundef %rhs) local_unnamed_addr #6 align 2 { entry: %buf.i.i = alloca [128 x i8], align 16 %0 = load ptr, ptr %this, align 8 @@ -1184,7 +1184,7 @@ return: ; preds = %entry, %if.end } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEf(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, float noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEf(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, float noundef %rhs) local_unnamed_addr #6 align 2 { entry: %buf.i.i = alloca [128 x i8], align 16 %0 = load ptr, ptr %this, align 8 @@ -1229,7 +1229,7 @@ return: ; preds = %entry, %if.end } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEb(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i1 noundef zeroext %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEb(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i1 noundef zeroext %rhs) local_unnamed_addr #6 align 2 { entry: %0 = load ptr, ptr %this, align 8 %tobool.not.i = icmp eq ptr %0, null @@ -1266,7 +1266,7 @@ return: ; preds = %entry, %if.end } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEx(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEx(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %buf.i.i = alloca [64 x i8], align 16 %0 = load ptr, ptr %this, align 8 @@ -1355,7 +1355,7 @@ return: ; preds = %entry, %_ZN4pugi4im } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEy(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi13xml_attributeaSEy(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %buf.i.i = alloca [64 x i8], align 16 %0 = load ptr, ptr %this, align 8 @@ -5106,7 +5106,7 @@ return: ; preds = %_ZN4pugi4impl12_GLO } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_114node_copy_treeEPNS_15xml_node_structES3_(ptr noundef %dn, ptr noundef %sn) unnamed_addr #6 { +define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_114node_copy_treeEPNS_15xml_node_structES3_(ptr noundef %dn, ptr noundef captures(address) %sn) unnamed_addr #6 { entry: %0 = load i64, ptr %dn, align 8 %shr.i = lshr i64 %0, 8 @@ -11283,7 +11283,7 @@ return: ; preds = %entry, %_ZN4pugi4im } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_111node_outputERNS1_19xml_buffered_writerEPNS_15xml_node_structEPKcjj(ptr noundef nonnull align 8 dereferenceable(10260) %writer, ptr noundef readonly %root, ptr noundef %indent, i32 noundef %flags, i32 noundef %depth) unnamed_addr #6 { +define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_111node_outputERNS1_19xml_buffered_writerEPNS_15xml_node_structEPKcjj(ptr noundef nonnull align 8 dereferenceable(10260) %writer, ptr noundef readonly captures(address) %root, ptr noundef %indent, i32 noundef %flags, i32 noundef %depth) unnamed_addr #6 { entry: %and = and i32 %flags, 65 %tobool.not = icmp ne i32 %and, 0 @@ -12333,7 +12333,7 @@ return: ; preds = %for.inc.i, %if.end9 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define noundef ptr @_ZNK4pugi8xml_text9as_stringEPKc(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8) %this, ptr noundef readnone %def) local_unnamed_addr #9 align 2 { +define noundef ptr @_ZNK4pugi8xml_text9as_stringEPKc(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8) %this, ptr noundef readnone captures(ret: address, provenance) %def) local_unnamed_addr #9 align 2 { entry: %0 = load ptr, ptr %this, align 8 %tobool.not.i = icmp eq ptr %0, null @@ -13961,7 +13961,7 @@ cond.end: ; preds = %_ZN4pugi8xml_text9_ } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEPKc(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, ptr noundef readonly captures(none) %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEPKc(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, ptr noundef readonly captures(none) %rhs) local_unnamed_addr #6 align 2 { entry: %ref.tmp2.i.i = alloca %"class.pugi::xml_node", align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp2.i.i) @@ -14033,49 +14033,49 @@ _ZN4pugi8xml_text3setEPKc.exit: ; preds = %_ZN4pugi8xml_text9_ } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEi(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i32 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEi(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i32 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %call = tail call noundef zeroext i1 @_ZN4pugi8xml_text3setEi(ptr noundef nonnull align 8 dereferenceable(8) %this, i32 noundef %rhs) ret ptr %this } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEj(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i32 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEj(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i32 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %call = tail call noundef zeroext i1 @_ZN4pugi8xml_text3setEj(ptr noundef nonnull align 8 dereferenceable(8) %this, i32 noundef %rhs) ret ptr %this } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEl(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEl(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %call = tail call noundef zeroext i1 @_ZN4pugi8xml_text3setEl(ptr noundef nonnull align 8 dereferenceable(8) %this, i64 noundef %rhs) ret ptr %this } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEm(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEm(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %call = tail call noundef zeroext i1 @_ZN4pugi8xml_text3setEm(ptr noundef nonnull align 8 dereferenceable(8) %this, i64 noundef %rhs) ret ptr %this } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEd(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, double noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEd(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, double noundef %rhs) local_unnamed_addr #6 align 2 { entry: %call = tail call noundef zeroext i1 @_ZN4pugi8xml_text3setEd(ptr noundef nonnull align 8 dereferenceable(8) %this, double noundef %rhs) ret ptr %this } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEf(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, float noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEf(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, float noundef %rhs) local_unnamed_addr #6 align 2 { entry: %call = tail call noundef zeroext i1 @_ZN4pugi8xml_text3setEf(ptr noundef nonnull align 8 dereferenceable(8) %this, float noundef %rhs) ret ptr %this } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEb(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i1 noundef zeroext %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEb(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i1 noundef zeroext %rhs) local_unnamed_addr #6 align 2 { entry: %ref.tmp2.i.i = alloca %"class.pugi::xml_node", align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp2.i.i) @@ -14148,14 +14148,14 @@ _ZN4pugi8xml_text3setEb.exit: ; preds = %_ZN4pugi8xml_text9_ } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEx(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEx(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %call = tail call noundef zeroext i1 @_ZN4pugi8xml_text3setEx(ptr noundef nonnull align 8 dereferenceable(8) %this, i64 noundef %rhs) ret ptr %this } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEy(ptr noundef nonnull readonly returned align 8 dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZN4pugi8xml_textaSEy(ptr noundef nonnull readonly returned align 8 captures(ret: address, provenance) dereferenceable(8) %this, i64 noundef %rhs) local_unnamed_addr #6 align 2 { entry: %call = tail call noundef zeroext i1 @_ZN4pugi8xml_text3setEy(ptr noundef nonnull align 8 dereferenceable(8) %this, i64 noundef %rhs) ret ptr %this @@ -14294,19 +14294,19 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4pugi17xml_node_iteratordeEv(ptr noundef nonnull readnone returned align 8 dereferenceable(16) %this) local_unnamed_addr #0 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4pugi17xml_node_iteratordeEv(ptr noundef nonnull readnone returned align 8 captures(ret: address, provenance) dereferenceable(16) %this) local_unnamed_addr #0 align 2 { entry: ret ptr %this } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull ptr @_ZNK4pugi17xml_node_iteratorptEv(ptr noundef nonnull readnone returned align 8 dereferenceable(16) %this) local_unnamed_addr #0 align 2 { +define noundef nonnull ptr @_ZNK4pugi17xml_node_iteratorptEv(ptr noundef nonnull readnone returned align 8 captures(ret: address, provenance) dereferenceable(16) %this) local_unnamed_addr #0 align 2 { entry: ret ptr %this } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define noundef nonnull align 8 dereferenceable(16) ptr @_ZN4pugi17xml_node_iteratorppEv(ptr noundef nonnull returned align 8 dereferenceable(16) %this) local_unnamed_addr #14 align 2 { +define noundef nonnull align 8 dereferenceable(16) ptr @_ZN4pugi17xml_node_iteratorppEv(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) %this) local_unnamed_addr #14 align 2 { entry: %0 = load ptr, ptr %this, align 8 %next_sibling = getelementptr inbounds nuw i8, ptr %0, i64 48 @@ -14330,7 +14330,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(16) ptr @_ZN4pugi17xml_node_iteratormmEv(ptr noundef nonnull returned align 8 dereferenceable(16) %this) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(16) ptr @_ZN4pugi17xml_node_iteratormmEv(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) %this) local_unnamed_addr #6 align 2 { entry: %retval.i1 = alloca %"class.pugi::xml_node", align 8 %retval.i = alloca %"class.pugi::xml_node", align 8 @@ -14529,19 +14529,19 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4pugi22xml_attribute_iteratordeEv(ptr noundef nonnull readnone returned align 8 dereferenceable(16) %this) local_unnamed_addr #0 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4pugi22xml_attribute_iteratordeEv(ptr noundef nonnull readnone returned align 8 captures(ret: address, provenance) dereferenceable(16) %this) local_unnamed_addr #0 align 2 { entry: ret ptr %this } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull ptr @_ZNK4pugi22xml_attribute_iteratorptEv(ptr noundef nonnull readnone returned align 8 dereferenceable(16) %this) local_unnamed_addr #0 align 2 { +define noundef nonnull ptr @_ZNK4pugi22xml_attribute_iteratorptEv(ptr noundef nonnull readnone returned align 8 captures(ret: address, provenance) dereferenceable(16) %this) local_unnamed_addr #0 align 2 { entry: ret ptr %this } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define noundef nonnull align 8 dereferenceable(16) ptr @_ZN4pugi22xml_attribute_iteratorppEv(ptr noundef nonnull returned align 8 dereferenceable(16) %this) local_unnamed_addr #14 align 2 { +define noundef nonnull align 8 dereferenceable(16) ptr @_ZN4pugi22xml_attribute_iteratorppEv(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) %this) local_unnamed_addr #14 align 2 { entry: %0 = load ptr, ptr %this, align 8 %next_attribute = getelementptr inbounds nuw i8, ptr %0, i64 32 @@ -14565,7 +14565,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(16) ptr @_ZN4pugi22xml_attribute_iteratormmEv(ptr noundef nonnull returned align 8 dereferenceable(16) %this) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(16) ptr @_ZN4pugi22xml_attribute_iteratormmEv(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(16) %this) local_unnamed_addr #6 align 2 { entry: %retval.i1 = alloca %"class.pugi::xml_attribute", align 8 %retval.i = alloca %"class.pugi::xml_attribute", align 8 @@ -14788,19 +14788,19 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4pugi23xml_named_node_iteratordeEv(ptr noundef nonnull readnone returned align 8 dereferenceable(24) %this) local_unnamed_addr #0 align 2 { +define noundef nonnull align 8 dereferenceable(8) ptr @_ZNK4pugi23xml_named_node_iteratordeEv(ptr noundef nonnull readnone returned align 8 captures(ret: address, provenance) dereferenceable(24) %this) local_unnamed_addr #0 align 2 { entry: ret ptr %this } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull ptr @_ZNK4pugi23xml_named_node_iteratorptEv(ptr noundef nonnull readnone returned align 8 dereferenceable(24) %this) local_unnamed_addr #0 align 2 { +define noundef nonnull ptr @_ZNK4pugi23xml_named_node_iteratorptEv(ptr noundef nonnull readnone returned align 8 captures(ret: address, provenance) dereferenceable(24) %this) local_unnamed_addr #0 align 2 { entry: ret ptr %this } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(24) ptr @_ZN4pugi23xml_named_node_iteratorppEv(ptr noundef nonnull returned align 8 dereferenceable(24) %this) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(24) ptr @_ZN4pugi23xml_named_node_iteratorppEv(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(24) %this) local_unnamed_addr #6 align 2 { entry: %retval.i = alloca %"class.pugi::xml_node", align 8 %_name = getelementptr inbounds nuw i8, ptr %this, i64 16 @@ -14909,7 +14909,7 @@ _ZN4pugi23xml_named_node_iteratorppEv.exit: ; preds = %if.then.i.i, %if.th } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(24) ptr @_ZN4pugi23xml_named_node_iteratormmEv(ptr noundef nonnull returned align 8 dereferenceable(24) %this) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(24) ptr @_ZN4pugi23xml_named_node_iteratormmEv(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(24) %this) local_unnamed_addr #6 align 2 { entry: %retval.i8 = alloca %"class.pugi::xml_node", align 8 %retval.i1 = alloca %"class.pugi::xml_node", align 8 @@ -15071,7 +15071,7 @@ if.end19: ; preds = %if.end19.sink.split } ; Function Attrs: mustprogress uwtable -define void @_ZN4pugi23xml_named_node_iteratormmEi(ptr noalias writeonly sret(%"class.pugi::xml_named_node_iterator") align 8 captures(none) initializes((0, 24)) %agg.result, ptr noundef nonnull align 8 dereferenceable(24) %this, i32 noundef %0) local_unnamed_addr #6 align 2 { +define void @_ZN4pugi23xml_named_node_iteratormmEi(ptr noalias writeonly sret(%"class.pugi::xml_named_node_iterator") align 8 captures(none) initializes((0, 24)) %agg.result, ptr noundef nonnull align 8 captures(none) dereferenceable(24) %this, i32 noundef %0) local_unnamed_addr #6 align 2 { entry: tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.result, ptr noundef nonnull align 8 dereferenceable(24) %this, i64 24, i1 false) %call = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZN4pugi23xml_named_node_iteratormmEv(ptr noundef nonnull align 8 dereferenceable(24) %this) @@ -15570,7 +15570,7 @@ invoke.cont: ; preds = %for.body38, %for.en } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(208) ptr @_ZN4pugi12xml_documentaSEOS0_(ptr noundef nonnull returned align 8 dereferenceable(208) %this, ptr noundef nonnull align 8 dereferenceable(208) %rhs) local_unnamed_addr #13 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(208) ptr @_ZN4pugi12xml_documentaSEOS0_(ptr noundef nonnull returned align 8 dereferenceable(208) %this, ptr noundef nonnull align 8 captures(address) dereferenceable(208) %rhs) local_unnamed_addr #13 align 2 personality ptr @__gxx_personality_v0 { entry: %cmp = icmp eq ptr %this, %rhs br i1 %cmp, label %return, label %if.end @@ -17064,7 +17064,7 @@ _ZN4pugi4impl12_GLOBAL__N_112auto_deleterI8_IO_FILEED2Ev.exit7: ; preds = %if.th } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_114load_file_implEPNS1_19xml_document_structEP8_IO_FILEjNS_12xml_encodingEPPc(ptr noalias align 8 %agg.result, ptr noundef %doc, ptr noundef %file, i32 noundef %options, i32 noundef %encoding, ptr noundef nonnull writeonly captures(none) %out_buffer) unnamed_addr #6 { +define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_114load_file_implEPNS1_19xml_document_structEP8_IO_FILEjNS_12xml_encodingEPPc(ptr noalias align 8 %agg.result, ptr noundef %doc, ptr noundef captures(address_is_null) %file, i32 noundef %options, i32 noundef %encoding, ptr noundef nonnull writeonly captures(none) %out_buffer) unnamed_addr #6 { entry: %st.i = alloca %struct.stat, align 8 %tobool.not = icmp eq ptr %file, null @@ -18423,7 +18423,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4pugi15xpath_exception6resultEv(ptr noundef nonnull readnone align 8 dereferenceable(24) %this) local_unnamed_addr #0 align 2 { +define noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4pugi15xpath_exception6resultEv(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(24) %this) local_unnamed_addr #0 align 2 { entry: %_result = getelementptr inbounds nuw i8, ptr %this, i64 8 ret ptr %_result @@ -18764,7 +18764,7 @@ _ZN4pugi14xpath_node_set7_assignEPKNS_10xpath_nodeES3_NS0_6type_tE.exit: ; preds } ; Function Attrs: mustprogress nounwind uwtable -define void @_ZN4pugi14xpath_node_setD2Ev(ptr noundef nonnull readonly align 8 dereferenceable(40) %this) unnamed_addr #13 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN4pugi14xpath_node_setD2Ev(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(40) %this) unnamed_addr #13 align 2 personality ptr @__gxx_personality_v0 { entry: %_begin = getelementptr inbounds nuw i8, ptr %this, i64 24 %0 = load ptr, ptr %_begin, align 8 @@ -18849,7 +18849,7 @@ _ZN4pugi14xpath_node_set7_assignEPKNS_10xpath_nodeES3_NS0_6type_tE.exit: ; preds } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(40) ptr @_ZN4pugi14xpath_node_setaSERKS0_(ptr noundef nonnull returned align 8 dereferenceable(40) %this, ptr noundef nonnull readonly align 8 dereferenceable(40) %ns) local_unnamed_addr #6 align 2 { +define noundef nonnull align 8 dereferenceable(40) ptr @_ZN4pugi14xpath_node_setaSERKS0_(ptr noundef nonnull returned align 8 dereferenceable(40) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(40) %ns) local_unnamed_addr #6 align 2 { entry: %cmp = icmp eq ptr %this, %ns br i1 %cmp, label %return, label %if.end @@ -19242,7 +19242,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef ptr @_ZNK4pugi14xpath_variable4nameEv(ptr noundef nonnull readonly align 8 dereferenceable(16) %this) local_unnamed_addr #8 align 2 { +define noundef ptr @_ZNK4pugi14xpath_variable4nameEv(ptr noundef nonnull readonly align 8 captures(ret: address, provenance) dereferenceable(16) %this) local_unnamed_addr #8 align 2 { entry: %0 = load i32, ptr %this, align 8 switch i32 %0, label %return [ @@ -19335,7 +19335,7 @@ cond.end: ; preds = %entry, %cond.true } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef nonnull align 8 dereferenceable(40) ptr @_ZNK4pugi14xpath_variable12get_node_setEv(ptr noundef nonnull readonly align 8 dereferenceable(16) %this) local_unnamed_addr #8 align 2 { +define noundef nonnull align 8 dereferenceable(40) ptr @_ZNK4pugi14xpath_variable12get_node_setEv(ptr noundef nonnull readonly align 8 captures(ret: address, provenance) dereferenceable(16) %this) local_unnamed_addr #8 align 2 { entry: %0 = load i32, ptr %this, align 8 %cmp = icmp eq i32 %0, 1 @@ -19414,7 +19414,7 @@ return: ; preds = %if.end, %entry, %if } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN4pugi14xpath_variable3setERKNS_14xpath_node_setE(ptr noundef nonnull align 8 dereferenceable(16) %this, ptr noundef nonnull readonly align 8 dereferenceable(40) %value) local_unnamed_addr #6 align 2 { +define noundef zeroext i1 @_ZN4pugi14xpath_variable3setERKNS_14xpath_node_setE(ptr noundef nonnull align 8 dereferenceable(16) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(40) %value) local_unnamed_addr #6 align 2 { entry: %0 = load i32, ptr %this, align 8 %cmp.not = icmp eq i32 %0, 1 @@ -19723,7 +19723,7 @@ cleanup: ; preds = %invoke.cont, %for.b } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(512) ptr @_ZN4pugi18xpath_variable_setaSERKS0_(ptr noundef nonnull returned align 8 dereferenceable(512) %this, ptr noundef nonnull readonly align 8 dereferenceable(512) %rhs) local_unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(512) ptr @_ZN4pugi18xpath_variable_setaSERKS0_(ptr noundef nonnull returned align 8 captures(address, ret: address, provenance) dereferenceable(512) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(512) %rhs) local_unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { entry: %temp.i = alloca %"class.pugi::xpath_variable_set", align 8 %cmp = icmp eq ptr %this, %rhs @@ -19802,7 +19802,7 @@ for.end: ; preds = %for.body } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(512) ptr @_ZN4pugi18xpath_variable_setaSEOS0_(ptr noundef nonnull returned align 8 dereferenceable(512) %this, ptr noundef nonnull align 8 captures(none) dereferenceable(512) %rhs) local_unnamed_addr #13 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(512) ptr @_ZN4pugi18xpath_variable_setaSEOS0_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(512) %this, ptr noundef nonnull align 8 captures(none) dereferenceable(512) %rhs) local_unnamed_addr #13 align 2 personality ptr @__gxx_personality_v0 { entry: br label %for.body @@ -19878,7 +19878,7 @@ terminate.lpad: ; preds = %sw.epilog.sink.spli } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN4pugi18xpath_variable_set6_cloneEPNS_14xpath_variableEPS2_(ptr noundef readonly %var, ptr noundef writeonly captures(none) %out_result) local_unnamed_addr #6 align 2 { +define noundef zeroext i1 @_ZN4pugi18xpath_variable_set6_cloneEPNS_14xpath_variableEPS2_(ptr noundef readonly captures(address) %var, ptr noundef writeonly captures(none) %out_result) local_unnamed_addr #6 align 2 { entry: %tobool.not17 = icmp eq ptr %var, null br i1 %tobool.not17, label %return, label %while.body @@ -20655,7 +20655,7 @@ cond.end: ; preds = %if.end.i17.i, %for. } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN4pugi18xpath_variable_set3setEPKcRKNS_14xpath_node_setE(ptr noundef nonnull align 8 captures(none) dereferenceable(512) %this, ptr noundef readonly captures(none) %name, ptr noundef nonnull readonly align 8 dereferenceable(40) %value) local_unnamed_addr #6 align 2 { +define noundef zeroext i1 @_ZN4pugi18xpath_variable_set3setEPKcRKNS_14xpath_node_setE(ptr noundef nonnull align 8 captures(none) dereferenceable(512) %this, ptr noundef readonly captures(none) %name, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(40) %value) local_unnamed_addr #6 align 2 { entry: %0 = load i8, ptr %name, align 1 %tobool.not13.i.i = icmp eq i8 %0, 0 @@ -21601,7 +21601,7 @@ terminate.lpad: ; preds = %invoke.cont, %entry } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(24) ptr @_ZN4pugi11xpath_queryaSEOS0_(ptr noundef nonnull returned align 8 dereferenceable(24) %this, ptr noundef nonnull align 8 dereferenceable(24) %rhs) local_unnamed_addr #13 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(24) ptr @_ZN4pugi11xpath_queryaSEOS0_(ptr noundef nonnull returned align 8 captures(address, ret: address, provenance) dereferenceable(24) %this, ptr noundef nonnull align 8 captures(address) dereferenceable(24) %rhs) local_unnamed_addr #13 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp = alloca %"struct.pugi::xpath_parse_result", align 8 %cmp = icmp eq ptr %this, %rhs @@ -21811,7 +21811,7 @@ unreachable: ; preds = %if.then4 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef zeroext i1 @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node12eval_booleanERKNS1_13xpath_contextERKNS1_11xpath_stackE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(40) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %c, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %stack) unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef zeroext i1 @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node12eval_booleanERKNS1_13xpath_contextERKNS1_11xpath_stackE(ptr noundef nonnull align 8 captures(none) dereferenceable(40) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %c, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %stack) unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { entry: %v.i.i = alloca double, align 8 %retval.i310 = alloca %"class.pugi::xml_attribute", align 8 @@ -23804,7 +23804,7 @@ unreachable: ; preds = %if.then5 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef double @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node11eval_numberERKNS1_13xpath_contextERKNS1_11xpath_stackE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(40) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %c, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %stack) unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef double @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node11eval_numberERKNS1_13xpath_contextERKNS1_11xpath_stackE(ptr noundef nonnull align 8 captures(none) dereferenceable(40) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %c, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %stack) unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { entry: %cr = alloca %"struct.pugi::impl::(anonymous namespace)::xpath_allocator_capture", align 8 %ref.tmp = alloca %"class.pugi::impl::(anonymous namespace)::xpath_node_set_raw", align 8 @@ -24738,7 +24738,7 @@ unreachable: ; preds = %if.then4 } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node11eval_stringERKNS1_13xpath_contextERKNS1_11xpath_stackE(ptr noalias nonnull align 8 %agg.result, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(40) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %c, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %stack) unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node11eval_stringERKNS1_13xpath_contextERKNS1_11xpath_stackE(ptr noalias nonnull align 8 %agg.result, ptr noundef nonnull align 8 captures(none) dereferenceable(40) %this, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %c, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %stack) unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { entry: %v.i356 = alloca double, align 8 %v.i352 = alloca double, align 8 @@ -27925,7 +27925,7 @@ _ZN4pugi4impl12_GLOBAL__N_111xpath_firstEPKNS_10xpath_nodeES4_NS_14xpath_node_se } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4pugi11xpath_query6resultEv(ptr noundef nonnull readnone align 8 dereferenceable(24) %this) local_unnamed_addr #0 align 2 { +define noundef nonnull align 8 dereferenceable(16) ptr @_ZNK4pugi11xpath_query6resultEv(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(24) %this) local_unnamed_addr #0 align 2 { entry: %_result = getelementptr inbounds nuw i8, ptr %this, i64 8 ret ptr %_result @@ -28409,7 +28409,7 @@ return: ; preds = %if.else90, %if.then declare i32 @strcmp(ptr noundef captures(none), ptr noundef captures(none)) local_unnamed_addr #19 ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_118node_copy_contentsEPNS_15xml_node_structES3_PNS1_13xml_allocatorE(ptr noundef captures(none) %dn, ptr noundef captures(none) %sn, ptr noundef readnone %shared_alloc) unnamed_addr #6 { +define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_118node_copy_contentsEPNS_15xml_node_structES3_PNS1_13xml_allocatorE(ptr noundef captures(none) %dn, ptr noundef captures(none) %sn, ptr noundef readnone captures(address_is_null) %shared_alloc) unnamed_addr #6 { entry: %name = getelementptr inbounds nuw i8, ptr %dn, i64 8 %name1 = getelementptr inbounds nuw i8, ptr %sn, i64 8 @@ -29176,7 +29176,7 @@ return: ; preds = %for.body, %for.inc, declare void @llvm.memmove.p0.p0.i64(ptr writeonly captures(none), ptr readonly captures(none), i64, i1 immarg) #11 ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZN4pugi4impl12_GLOBAL__N_122strconv_attribute_implINS1_9opt_falseEE12parse_simpleEPcc(ptr noundef %s, i8 noundef signext %end_quote) unnamed_addr #24 align 2 { +define internal noundef ptr @_ZN4pugi4impl12_GLOBAL__N_122strconv_attribute_implINS1_9opt_falseEE12parse_simpleEPcc(ptr noundef captures(ret: address, provenance) %s, i8 noundef signext %end_quote) unnamed_addr #24 align 2 { entry: br label %while.body @@ -30798,7 +30798,7 @@ return: ; preds = %return.sink.split, } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZN4pugi4impl12_GLOBAL__N_119strconv_pcdata_implINS1_9opt_falseES3_S3_E5parseEPc(ptr noundef %s) unnamed_addr #24 align 2 { +define internal noundef ptr @_ZN4pugi4impl12_GLOBAL__N_119strconv_pcdata_implINS1_9opt_falseES3_S3_E5parseEPc(ptr noundef captures(ret: address, provenance) %s) unnamed_addr #24 align 2 { entry: br label %while.body @@ -31363,7 +31363,7 @@ return: ; preds = %_ZN4pugi4impl12_GLO } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZN4pugi4impl12_GLOBAL__N_119strconv_pcdata_implINS1_8opt_trueENS1_9opt_falseES4_E5parseEPc(ptr noundef %s) unnamed_addr #24 align 2 { +define internal noundef ptr @_ZN4pugi4impl12_GLOBAL__N_119strconv_pcdata_implINS1_8opt_trueENS1_9opt_falseES4_E5parseEPc(ptr noundef captures(address, ret: address, provenance) %s) unnamed_addr #24 align 2 { entry: br label %while.body @@ -34239,7 +34239,7 @@ if.end17: ; preds = %entry, %_ZN4pugi4im } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc noundef nonnull ptr @_ZN4pugi4impl12_GLOBAL__N_112utf8_decoder7processINS1_12utf32_writerEEENT_10value_typeEPKhmS6_S5_(ptr noundef %data, i64 noundef %size, ptr noundef nonnull writeonly %result) unnamed_addr #24 align 2 { +define internal fastcc noundef nonnull ptr @_ZN4pugi4impl12_GLOBAL__N_112utf8_decoder7processINS1_12utf32_writerEEENT_10value_typeEPKhmS6_S5_(ptr noundef %data, i64 noundef %size, ptr noundef nonnull writeonly captures(ret: address, provenance) %result) unnamed_addr #24 align 2 { entry: %tobool.not61 = icmp eq i64 %size, 0 br i1 %tobool.not61, label %while.end121, label %while.body @@ -40659,7 +40659,7 @@ return: ; preds = %for.body, %for.cond declare void @_ZNSt9exceptionD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #12 ; Function Attrs: mustprogress uwtable -define internal fastcc noundef zeroext i1 @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node11compare_relINS1_4lessEEEbPS2_S5_RKNS1_13xpath_contextERKNS1_11xpath_stackERKT_(ptr noundef readonly captures(none) %lhs, ptr noundef readonly captures(none) %rhs, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %c, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %stack) unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef zeroext i1 @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node11compare_relINS1_4lessEEEbPS2_S5_RKNS1_13xpath_contextERKNS1_11xpath_stackERKT_(ptr noundef captures(none) %lhs, ptr noundef captures(none) %rhs, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %c, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %stack) unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { entry: %cr = alloca %"struct.pugi::impl::(anonymous namespace)::xpath_allocator_capture", align 8 %ls = alloca %"class.pugi::impl::(anonymous namespace)::xpath_node_set_raw", align 8 @@ -41523,7 +41523,7 @@ eh.resume: ; preds = %lpad110, %lpad128, } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef zeroext i1 @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node11compare_relINS1_10less_equalEEEbPS2_S5_RKNS1_13xpath_contextERKNS1_11xpath_stackERKT_(ptr noundef readonly captures(none) %lhs, ptr noundef readonly captures(none) %rhs, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %c, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %stack) unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef zeroext i1 @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node11compare_relINS1_10less_equalEEEbPS2_S5_RKNS1_13xpath_contextERKNS1_11xpath_stackERKT_(ptr noundef captures(none) %lhs, ptr noundef captures(none) %rhs, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %c, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %stack) unnamed_addr #6 align 2 personality ptr @__gxx_personality_v0 { entry: %cr = alloca %"struct.pugi::impl::(anonymous namespace)::xpath_allocator_capture", align 8 %ls = alloca %"class.pugi::impl::(anonymous namespace)::xpath_node_set_raw", align 8 @@ -42426,7 +42426,7 @@ terminate.lpad: ; preds = %while.body.i } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_112string_valueERKNS_10xpath_nodeEPNS1_15xpath_allocatorE(ptr noalias nonnull align 8 captures(none) initializes((0, 9), (16, 24)) %agg.result, i64 %na.0.val, ptr readonly %na.8.val, ptr noundef captures(none) %alloc) unnamed_addr #6 { +define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_112string_valueERKNS_10xpath_nodeEPNS1_15xpath_allocatorE(ptr noalias nonnull align 8 captures(none) initializes((0, 9), (16, 24)) %agg.result, i64 %na.0.val, ptr readonly captures(address_is_null) %na.8.val, ptr noundef captures(none) %alloc) unnamed_addr #6 { entry: %retval.i99 = alloca %"class.pugi::xml_node", align 8 %retval.i94 = alloca %"class.pugi::xml_node", align 8 @@ -43246,7 +43246,7 @@ return: ; preds = %if.then10.i, %if.th declare noundef ptr @strchr(ptr noundef, i32 noundef) local_unnamed_addr #19 ; Function Attrs: mustprogress uwtable -define internal fastcc ptr @_ZNK4pugi8xml_node14find_attributeINS_4impl12_GLOBAL__N_123namespace_uri_predicateEEENS_13xml_attributeET_(ptr readonly %this.0.val, ptr %pred.coerce0, i64 %pred.coerce1) unnamed_addr #6 align 2 { +define internal fastcc ptr @_ZNK4pugi8xml_node14find_attributeINS_4impl12_GLOBAL__N_123namespace_uri_predicateEEENS_13xml_attributeET_(ptr readonly captures(address_is_null) %this.0.val, ptr %pred.coerce0, i64 %pred.coerce1) unnamed_addr #6 align 2 { entry: %retval.i5 = alloca %"class.pugi::xml_attribute", align 8 %retval.i = alloca %"class.pugi::xml_attribute", align 8 @@ -47962,7 +47962,7 @@ if.end29: ; preds = %while.body.i, %whil } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node9step_fillINS1_12axis_to_typeILNS1_6axis_tE10EEEEEvRNS1_18xpath_node_set_rawEPNS_15xml_node_structEPNS1_15xpath_allocatorEbT_(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(40) %this, ptr noundef nonnull align 8 captures(none) dereferenceable(32) %ns, ptr noundef readonly %n, ptr noundef captures(none) %alloc, i1 noundef zeroext %once) unnamed_addr #6 align 2 { +define internal fastcc void @_ZN4pugi4impl12_GLOBAL__N_114xpath_ast_node9step_fillINS1_12axis_to_typeILNS1_6axis_tE10EEEEEvRNS1_18xpath_node_set_rawEPNS_15xml_node_structEPNS1_15xpath_allocatorEbT_(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(40) %this, ptr noundef nonnull align 8 captures(none) dereferenceable(32) %ns, ptr noundef readonly captures(address) %n, ptr noundef captures(none) %alloc, i1 noundef zeroext %once) unnamed_addr #6 align 2 { entry: br label %while.cond diff --git a/bench/quickjs/optimized/quickjs.ll b/bench/quickjs/optimized/quickjs.ll index ea8459ff51f..613178cc280 100644 --- a/bench/quickjs/optimized/quickjs.ll +++ b/bench/quickjs/optimized/quickjs.ll @@ -1246,7 +1246,7 @@ JS_ThrowOutOfMemory.exit: ; preds = %16, %12, %3 } ; Function Attrs: nounwind uwtable -define dso_local ptr @js_realloc2(ptr noundef %0, ptr noundef %1, i64 noundef %2, ptr noundef writeonly %3) local_unnamed_addr #0 { +define dso_local ptr @js_realloc2(ptr noundef %0, ptr noundef %1, i64 noundef %2, ptr noundef writeonly captures(address_is_null) %3) local_unnamed_addr #0 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 24 %6 = load ptr, ptr %5, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 @@ -2851,7 +2851,7 @@ js_malloc.exit.thread: ; preds = %13, %17, %._crit_ed } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define dso_local range(i32 0, 2) i32 @JS_IsJobPending(ptr noundef readonly %0) local_unnamed_addr #7 { +define dso_local range(i32 0, 2) i32 @JS_IsJobPending(ptr noundef readonly captures(address) %0) local_unnamed_addr #7 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 288 %3 = getelementptr inbounds nuw i8, ptr %0, i64 296 %4 = load ptr, ptr %3, align 8 @@ -2861,7 +2861,7 @@ define dso_local range(i32 0, 2) i32 @JS_IsJobPending(ptr noundef readonly %0) l } ; Function Attrs: nounwind uwtable -define dso_local range(i32 -1, 2) i32 @JS_ExecutePendingJob(ptr noundef readonly %0, ptr noundef writeonly captures(none) %1) local_unnamed_addr #0 { +define dso_local range(i32 -1, 2) i32 @JS_ExecutePendingJob(ptr noundef readonly captures(address) %0, ptr noundef writeonly captures(none) %1) local_unnamed_addr #0 { %3 = getelementptr inbounds nuw i8, ptr %0, i64 288 %4 = getelementptr inbounds nuw i8, ptr %0, i64 296 %5 = load ptr, ptr %4, align 8 @@ -2963,7 +2963,7 @@ JS_FreeValue.exit27: ; preds = %._crit_edge, %44, % } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define dso_local void @JS_SetRuntimeInfo(ptr noundef writeonly %0, ptr noundef %1) local_unnamed_addr #8 { +define dso_local void @JS_SetRuntimeInfo(ptr noundef writeonly captures(address_is_null) %0, ptr noundef %1) local_unnamed_addr #8 { %.not = icmp eq ptr %0, null br i1 %.not, label %5, label %3 @@ -10754,7 +10754,7 @@ JS_DupValue.exit: ; preds = %2, %12 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define dso_local noundef ptr @JS_DupContext(ptr noundef returned %0) local_unnamed_addr #6 { +define dso_local noundef ptr @JS_DupContext(ptr noundef returned captures(ret: address, provenance) %0) local_unnamed_addr #6 { %2 = load i32, ptr %0, align 8 %3 = add i32 %2, 1 store i32 %3, ptr %0, align 8 @@ -13997,7 +13997,7 @@ JS_FreeAtom.exit: ; preds = %JS_FreeAtomStruct.e } ; Function Attrs: nounwind uwtable -define dso_local ptr @JS_ToCStringLen2(ptr noundef %0, ptr noundef writeonly %1, i64 %2, i64 %3, i32 noundef %4) local_unnamed_addr #0 { +define dso_local ptr @JS_ToCStringLen2(ptr noundef %0, ptr noundef writeonly captures(address_is_null) %1, i64 %2, i64 %3, i32 noundef %4) local_unnamed_addr #0 { %6 = and i64 %3, 4294967295 %.not = icmp eq i64 %6, 4294967289 br i1 %.not, label %JS_DupValue.exit, label %7 @@ -15988,7 +15988,7 @@ define dso_local range(i32 0, 2) i32 @JS_IsLiveObject(ptr noundef readnone captu } ; Function Attrs: nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @JS_ComputeMemoryUsage(ptr noundef readonly %0, ptr noundef writeonly captures(none) initializes((0, 208)) %1) local_unnamed_addr #15 { +define dso_local void @JS_ComputeMemoryUsage(ptr noundef readonly captures(address) %0, ptr noundef writeonly captures(none) initializes((0, 208)) %1) local_unnamed_addr #15 { tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(208) %1, i8 0, i64 208, i1 false) %3 = getelementptr inbounds nuw i8, ptr %0, i64 32 %4 = load i64, ptr %3, align 8 @@ -28402,7 +28402,7 @@ define internal fastcc range(i32 0, 2) i32 @check_define_prop_flags(i32 noundef } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 -1, 1) i32 @js_shape_prepare_update(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef %2) unnamed_addr #0 { +define internal fastcc range(i32 -1, 1) i32 @js_shape_prepare_update(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(address_is_null) %2) unnamed_addr #0 { %4 = getelementptr inbounds nuw i8, ptr %1, i64 24 %5 = load ptr, ptr %4, align 8 %6 = getelementptr inbounds nuw i8, ptr %5, i64 24 @@ -31272,7 +31272,7 @@ JS_FreeAtom.exit: ; preds = %JS_FreeAtomStruct.e } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define dso_local range(i32 0, 2) i32 @JS_IsCFunction(ptr noundef readnone captures(none) %0, i64 %1, i64 %2, ptr noundef readnone %3, i32 noundef %4) local_unnamed_addr #12 { +define dso_local range(i32 0, 2) i32 @JS_IsCFunction(ptr noundef readnone captures(none) %0, i64 %1, i64 %2, ptr noundef readnone captures(address) %3, i32 noundef %4) local_unnamed_addr #12 { %6 = and i64 %2, 4294967295 %.not = icmp eq i64 %6, 4294967295 %7 = inttoptr i64 %1 to ptr @@ -49986,7 +49986,7 @@ JS_FreeAtom.exit: ; preds = %7, %10, %JS_FreeAto } ; Function Attrs: nounwind uwtable -define internal fastcc noundef ptr @add_export_entry2(ptr noundef %0, ptr noundef readonly %1, ptr noundef captures(none) %2, i32 noundef %3, i32 noundef %4, i32 noundef range(i32 0, 2) %5) unnamed_addr #0 { +define internal fastcc noundef ptr @add_export_entry2(ptr noundef %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef captures(none) %2, i32 noundef %3, i32 noundef %4, i32 noundef range(i32 0, 2) %5) unnamed_addr #0 { %7 = alloca [64 x i8], align 16 %8 = alloca [64 x i8], align 16 %9 = getelementptr inbounds nuw i8, ptr %2, i64 48 @@ -52258,7 +52258,7 @@ js_host_resolve_imported_module_atom.exit.thread: ; preds = %js_host_resolve_imp } ; Function Attrs: nounwind uwtable -define dso_local ptr @JS_WriteObject2(ptr noundef %0, ptr noundef writeonly captures(none) %1, i64 %2, i64 %3, i32 noundef %4, ptr noundef writeonly %5, ptr noundef writeonly %6) local_unnamed_addr #0 { +define dso_local ptr @JS_WriteObject2(ptr noundef %0, ptr noundef writeonly captures(none) %1, i64 %2, i64 %3, i32 noundef %4, ptr noundef writeonly captures(address_is_null) %5, ptr noundef writeonly captures(address_is_null) %6) local_unnamed_addr #0 { %8 = alloca %struct.DynBuf, align 8 %9 = alloca %struct.BCWriterState, align 8 %10 = getelementptr inbounds nuw i8, ptr %9, i64 8 @@ -71149,7 +71149,7 @@ define internal fastcc ptr @js_get_array_buffer(ptr noundef %0, i64 %1, i64 %2) } ; Function Attrs: nounwind uwtable -define dso_local { i64, i64 } @JS_GetTypedArrayBuffer(ptr noundef %0, i64 %1, i64 %2, ptr noundef writeonly %3, ptr noundef writeonly %4, ptr noundef writeonly %5) local_unnamed_addr #0 { +define dso_local { i64, i64 } @JS_GetTypedArrayBuffer(ptr noundef %0, i64 %1, i64 %2, ptr noundef writeonly captures(address_is_null) %3, ptr noundef writeonly captures(address_is_null) %4, ptr noundef writeonly captures(address_is_null) %5) local_unnamed_addr #0 { %7 = and i64 %2, 4294967295 %.not.i = icmp eq i64 %7, 4294967295 %8 = inttoptr i64 %1 to ptr @@ -78704,7 +78704,7 @@ JS_DupAtom.exit: ; preds = %85, %93 } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 -1, 1) i32 @resize_properties(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef %2, i32 noundef %3) unnamed_addr #0 { +define internal fastcc range(i32 -1, 1) i32 @resize_properties(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(address_is_null) %2, i32 noundef %3) unnamed_addr #0 { %5 = load ptr, ptr %1, align 8 %6 = getelementptr inbounds nuw i8, ptr %5, i64 36 %7 = load i32, ptr %6, align 4 @@ -79862,7 +79862,7 @@ define internal fastcc noundef i32 @skip_spaces(ptr noundef %0) unnamed_addr #0 declare i32 @lre_is_space(i32 noundef) local_unnamed_addr #5 ; Function Attrs: nounwind uwtable -define internal fastcc { i64, i64 } @js_atof2(ptr noundef %0, ptr noundef %1, ptr noundef writeonly %2, i32 noundef %3, i32 noundef range(i32 0, 1285) %4, ptr noundef %5) unnamed_addr #0 { +define internal fastcc { i64, i64 } @js_atof2(ptr noundef %0, ptr noundef %1, ptr noundef writeonly captures(address_is_null) %2, i32 noundef %3, i32 noundef range(i32 0, 1285) %4, ptr noundef %5) unnamed_addr #0 { %7 = alloca ptr, align 8 %8 = alloca [64 x i8], align 16 %9 = and i32 %4, 384 @@ -81582,7 +81582,7 @@ JS_FreeValue.exit: ; preds = %61, %JS_StringToBig } ; Function Attrs: nounwind uwtable -define internal fastcc void @JS_FreeBigInt(ptr noundef readonly captures(none) %0, ptr noundef nonnull %1, ptr noundef nonnull readnone %2) unnamed_addr #0 { +define internal fastcc void @JS_FreeBigInt(ptr noundef readonly captures(none) %0, ptr noundef nonnull %1, ptr noundef nonnull readnone captures(address) %2) unnamed_addr #0 { %4 = icmp eq ptr %1, %2 br i1 %4, label %5, label %13 @@ -88408,7 +88408,7 @@ JS_FreeValue.exit292: ; preds = %248, %243, %240, %2 } ; Function Attrs: nounwind uwtable -define internal fastcc void @close_var_refs(ptr noundef %0, ptr noundef readonly %1) unnamed_addr #0 { +define internal fastcc void @close_var_refs(ptr noundef %0, ptr noundef readonly captures(address) %1) unnamed_addr #0 { %3 = getelementptr inbounds nuw i8, ptr %1, i64 40 %4 = getelementptr inbounds nuw i8, ptr %1, i64 48 %5 = load ptr, ptr %4, align 8 @@ -103107,7 +103107,7 @@ JS_DupAtom.exit: ; preds = %72, %70, %52, %121 } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 -1, 1) i32 @bc_get_buf(ptr noundef nonnull captures(none) %0, ptr noundef writeonly %1, i32 noundef %2) unnamed_addr #0 { +define internal fastcc range(i32 -1, 1) i32 @bc_get_buf(ptr noundef nonnull captures(none) %0, ptr noundef writeonly captures(address_is_null) %1, i32 noundef %2) unnamed_addr #0 { %.not = icmp eq i32 %2, 0 br i1 %.not, label %23, label %4 @@ -103157,7 +103157,7 @@ bc_read_error_end.exit: ; preds = %.critedge, %17 declare i32 @bf_resize(ptr noundef, i64 noundef) local_unnamed_addr #5 ; Function Attrs: nounwind uwtable -define internal range(i32 0, 2) i32 @js_string_get_own_property(ptr noundef %0, ptr noundef writeonly %1, i64 %2, i64 %3, i32 noundef %4) #0 { +define internal range(i32 0, 2) i32 @js_string_get_own_property(ptr noundef %0, ptr noundef writeonly captures(address_is_null) %1, i64 %2, i64 %3, i32 noundef %4) #0 { %.not = icmp sgt i32 %4, -1 %6 = inttoptr i64 %2 to ptr br i1 %.not, label %69, label %7 @@ -126107,7 +126107,7 @@ JS_FreeValue.exit72: ; preds = %152, %147, %JS_Free } ; Function Attrs: nounwind uwtable -define internal fastcc void @js_async_generator_resume_next(ptr noundef %0, ptr noundef %1) unnamed_addr #0 { +define internal fastcc void @js_async_generator_resume_next(ptr noundef %0, ptr noundef captures(address) %1) unnamed_addr #0 { %3 = alloca %struct.JSValue, align 8 %4 = alloca %struct.JSValue, align 8 %5 = alloca [2 x %struct.JSValue], align 16 @@ -142612,7 +142612,7 @@ JS_FreeAtom.exit: ; preds = %JS_FreeAtom.exit.si } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 -1, 1) i32 @js_parse_function_decl2(ptr noundef nonnull %0, i32 noundef range(i32 0, -2147483646) %1, i32 noundef range(i32 0, 4) %2, ptr noundef %3, i32 noundef %4, i32 noundef range(i32 0, 3) %5, ptr noundef writeonly %6) unnamed_addr #0 { +define internal fastcc range(i32 -1, 1) i32 @js_parse_function_decl2(ptr noundef nonnull %0, i32 noundef range(i32 0, -2147483646) %1, i32 noundef range(i32 0, 4) %2, ptr noundef %3, i32 noundef %4, i32 noundef range(i32 0, 3) %5, ptr noundef writeonly captures(address_is_null) %6) unnamed_addr #0 { %8 = alloca i16, align 2 %9 = alloca i16, align 2 %10 = alloca i16, align 2 @@ -145807,7 +145807,7 @@ js_resize_array.exit.thread: ; preds = %31, %28, %js_reallo } ; Function Attrs: nounwind uwtable -define internal fastcc i32 @js_parse_skip_parens_token(ptr noundef nonnull %0, ptr noundef writeonly %1, i32 noundef range(i32 0, 2) %2) unnamed_addr #0 { +define internal fastcc i32 @js_parse_skip_parens_token(ptr noundef nonnull %0, ptr noundef writeonly captures(address_is_null) %1, i32 noundef range(i32 0, 2) %2) unnamed_addr #0 { %4 = alloca [256 x i8], align 16 store i8 0, ptr %4, align 16 %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -149975,7 +149975,7 @@ JS_FreeAtom.exit: ; preds = %js_parse_check_dupl } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 -1, 1) i32 @get_lvalue(ptr noundef nonnull readonly captures(none) %0, ptr noundef nonnull writeonly captures(none) %1, ptr noundef nonnull writeonly captures(none) %2, ptr noundef nonnull writeonly captures(none) %3, ptr noundef nonnull writeonly captures(none) %4, ptr noundef writeonly %5, i32 noundef range(i32 0, 2) %6, i32 noundef %7) unnamed_addr #0 { +define internal fastcc range(i32 -1, 1) i32 @get_lvalue(ptr noundef nonnull readonly captures(none) %0, ptr noundef nonnull writeonly captures(none) %1, ptr noundef nonnull writeonly captures(none) %2, ptr noundef nonnull writeonly captures(none) %3, ptr noundef nonnull writeonly captures(none) %4, ptr noundef writeonly captures(address_is_null) %5, i32 noundef range(i32 0, 2) %6, i32 noundef %7) unnamed_addr #0 { %9 = alloca i32, align 4 %10 = alloca i32, align 4 %11 = alloca i16, align 2 @@ -168629,7 +168629,7 @@ JS_ThrowOutOfMemory.exit: ; preds = %1960, %1956, %js_ma } ; Function Attrs: nounwind uwtable -define internal fastcc i32 @get_closure_var2(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef %2, i32 noundef range(i32 0, 2) %3, i32 noundef range(i32 0, 2) %4, i32 noundef %5, i32 noundef %6, i32 noundef range(i32 0, 2) %7, i32 noundef range(i32 0, 2) %8, i32 noundef range(i32 0, 16) %9) unnamed_addr #0 { +define internal fastcc i32 @get_closure_var2(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(address) %2, i32 noundef range(i32 0, 2) %3, i32 noundef range(i32 0, 2) %4, i32 noundef %5, i32 noundef %6, i32 noundef range(i32 0, 2) %7, i32 noundef range(i32 0, 2) %8, i32 noundef range(i32 0, 16) %9) unnamed_addr #0 { %11 = getelementptr inbounds nuw i8, ptr %1, i64 8 %12 = load ptr, ptr %11, align 8 %.not = icmp eq ptr %2, %12 @@ -168696,7 +168696,7 @@ define internal fastcc i32 @get_closure_var2(ptr noundef %0, ptr noundef capture } ; Function Attrs: nounwind uwtable -define internal fastcc noundef i32 @resolve_scope_var(ptr noundef %0, ptr noundef %1, i32 noundef %2, i32 noundef range(i32 0, 65536) %3, i32 noundef range(i32 0, 256) %4, ptr noundef nonnull %5, ptr noundef captures(none) %6, ptr noundef readonly captures(none) %7, i32 noundef %8) unnamed_addr #0 { +define internal fastcc noundef i32 @resolve_scope_var(ptr noundef %0, ptr noundef captures(address) %1, i32 noundef %2, i32 noundef range(i32 0, 65536) %3, i32 noundef range(i32 0, 256) %4, ptr noundef nonnull %5, ptr noundef captures(none) %6, ptr noundef readonly captures(none) %7, i32 noundef %8) unnamed_addr #0 { %10 = alloca i32, align 4 %11 = alloca i32, align 4 %12 = alloca i32, align 4 @@ -171245,7 +171245,7 @@ JS_DupAtom.exit46: ; preds = %61, %67 } ; Function Attrs: nounwind uwtable -define internal fastcc i32 @resolve_scope_private_field1(ptr noundef %0, ptr noundef nonnull writeonly captures(none) %1, ptr noundef nonnull writeonly captures(none) %2, ptr noundef %3, i32 noundef %4, i32 noundef range(i32 0, 65536) %5) unnamed_addr #0 { +define internal fastcc i32 @resolve_scope_private_field1(ptr noundef %0, ptr noundef nonnull writeonly captures(none) %1, ptr noundef nonnull writeonly captures(none) %2, ptr noundef captures(address) %3, i32 noundef %4, i32 noundef range(i32 0, 65536) %5) unnamed_addr #0 { %7 = alloca [64 x i8], align 16 br label %8 @@ -207964,7 +207964,7 @@ JS_ToInt32Clamp.exit: ; preds = %JS_DupValue.exit.i, } ; Function Attrs: nounwind uwtable -define internal fastcc ptr @js_atomics_get_ptr(ptr noundef %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3, i64 %4, i64 %5, i64 %.0.val, i64 %.8.val, i32 noundef range(i32 0, 3) %6) unnamed_addr #0 { +define internal fastcc ptr @js_atomics_get_ptr(ptr noundef %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3, i64 %4, i64 %5, i64 %.0.val, i64 %.8.val, i32 noundef range(i32 0, 3) %6) unnamed_addr #0 { %8 = alloca i64, align 8 %9 = and i64 %5, 4294967295 %.not = icmp eq i64 %9, 4294967295 diff --git a/bench/raylib/optimized/rmodels.ll b/bench/raylib/optimized/rmodels.ll index 19a15034bb9..d0f9fddd4ef 100644 --- a/bench/raylib/optimized/rmodels.ll +++ b/bench/raylib/optimized/rmodels.ll @@ -587,13 +587,13 @@ declare ptr @strchr(ptr noundef, i32 noundef) local_unnamed_addr #2 declare noalias noundef ptr @realloc(ptr allocptr noundef captures(none), i64 noundef) local_unnamed_addr #3 ; Function Attrs: nounwind uwtable -define hidden range(i32 -3, 1) i32 @tinyobj_parse_mtl_file(ptr noundef %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #0 { +define hidden range(i32 -3, 1) i32 @tinyobj_parse_mtl_file(ptr noundef captures(address_is_null) %0, ptr noundef captures(address_is_null) %1, ptr noundef %2) local_unnamed_addr #0 { %4 = tail call fastcc i32 @tinyobj_parse_and_index_mtl_file(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef null) ret i32 %4 } ; Function Attrs: nounwind uwtable -define internal fastcc range(i32 -3, 1) i32 @tinyobj_parse_and_index_mtl_file(ptr noundef writeonly %0, ptr noundef writeonly %1, ptr noundef %2, ptr noundef %3) unnamed_addr #0 { +define internal fastcc range(i32 -3, 1) i32 @tinyobj_parse_and_index_mtl_file(ptr noundef writeonly captures(address_is_null) %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef %2, ptr noundef captures(address_is_null) %3) unnamed_addr #0 { %5 = alloca ptr, align 8 %6 = alloca [4096 x i8], align 16 %7 = icmp eq ptr %0, null @@ -1877,7 +1877,7 @@ my_strdup.exit142: ; preds = %395, %387, %._crit_ } ; Function Attrs: nounwind uwtable -define hidden range(i32 -2, 1) i32 @tinyobj_parse_obj(ptr noundef %0, ptr noundef %1, ptr noundef writeonly %2, ptr noundef writeonly %3, ptr noundef writeonly %4, ptr noundef %5, i32 noundef %6, i32 noundef %7) local_unnamed_addr #0 { +define hidden range(i32 -2, 1) i32 @tinyobj_parse_obj(ptr noundef captures(address_is_null) %0, ptr noundef captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3, ptr noundef writeonly captures(address_is_null) %4, ptr noundef %5, i32 noundef %6, i32 noundef %7) local_unnamed_addr #0 { %9 = alloca [4096 x i8], align 16 %10 = alloca ptr, align 8 %11 = alloca [16 x %struct.tinyobj_vertex_index_t], align 16 @@ -3664,7 +3664,7 @@ define hidden void @tinyobj_attrib_free(ptr noundef readonly captures(none) %0) } ; Function Attrs: nounwind uwtable -define hidden void @tinyobj_shapes_free(ptr noundef %0, i32 noundef %1) local_unnamed_addr #0 { +define hidden void @tinyobj_shapes_free(ptr noundef captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #0 { %3 = icmp eq ptr %0, null br i1 %3, label %8, label %.preheader @@ -3701,7 +3701,7 @@ define hidden void @tinyobj_shapes_free(ptr noundef %0, i32 noundef %1) local_un } ; Function Attrs: nounwind uwtable -define hidden void @tinyobj_materials_free(ptr noundef %0, i32 noundef %1) local_unnamed_addr #0 { +define hidden void @tinyobj_materials_free(ptr noundef captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #0 { %3 = icmp eq ptr %0, null br i1 %3, label %36, label %.preheader @@ -3808,7 +3808,7 @@ define hidden void @tinyobj_materials_free(ptr noundef %0, i32 noundef %1) local } ; Function Attrs: nounwind uwtable -define hidden range(i32 0, 10) i32 @cgltf_parse(ptr noundef readonly %0, ptr noundef %1, i64 noundef %2, ptr noundef captures(none) %3) local_unnamed_addr #0 { +define hidden range(i32 0, 10) i32 @cgltf_parse(ptr noundef readonly captures(address_is_null) %0, ptr noundef %1, i64 noundef %2, ptr noundef captures(none) %3) local_unnamed_addr #0 { %5 = alloca %struct.cgltf_options, align 8 %6 = icmp ult i64 %2, 12 br i1 %6, label %63, label %7 @@ -5727,7 +5727,7 @@ define hidden i32 @cgltf_parse_file(ptr noundef %0, ptr noundef %1, ptr noundef } ; Function Attrs: nounwind uwtable -define internal range(i32 0, 9) i32 @cgltf_default_file_read(ptr noundef readonly captures(none) %0, ptr readnone captures(none) %1, ptr noundef readonly captures(none) %2, ptr noundef %3, ptr noundef writeonly %4) unnamed_addr #0 { +define internal range(i32 0, 9) i32 @cgltf_default_file_read(ptr noundef readonly captures(none) %0, ptr readnone captures(none) %1, ptr noundef readonly captures(none) %2, ptr noundef captures(address_is_null) %3, ptr noundef writeonly captures(address_is_null) %4) unnamed_addr #0 { %6 = load ptr, ptr %0, align 8 %.not = icmp eq ptr %6, null %spec.select = select i1 %.not, ptr @cgltf_default_alloc, ptr %6 @@ -7500,7 +7500,7 @@ define internal fastcc range(i64 0, 4294967296) i64 @cgltf_calc_index_bound(ptr } ; Function Attrs: mustprogress nofree nounwind willreturn memory(readwrite, inaccessiblemem: none) uwtable -define hidden range(i32 0, 6) i32 @cgltf_copy_extras_json(ptr noundef readonly captures(none) %0, ptr noundef readonly captures(none) %1, ptr noundef %2, ptr noundef %3) local_unnamed_addr #17 { +define hidden range(i32 0, 6) i32 @cgltf_copy_extras_json(ptr noundef readonly captures(none) %0, ptr noundef readonly captures(none) %1, ptr noundef %2, ptr noundef captures(address_is_null) %3) local_unnamed_addr #17 { %5 = getelementptr inbounds nuw i8, ptr %1, i64 8 %6 = load i64, ptr %5, align 8 %7 = load i64, ptr %1, align 8 @@ -10108,7 +10108,7 @@ cgltf_component_read_float.exit221: ; preds = %.thread439, %.threa } ; Function Attrs: nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define hidden i64 @cgltf_accessor_unpack_floats(ptr noundef readonly captures(none) %0, ptr noundef writeonly %1, i64 noundef %2) local_unnamed_addr #23 { +define hidden i64 @cgltf_accessor_unpack_floats(ptr noundef readonly captures(none) %0, ptr noundef writeonly captures(address_is_null) %1, i64 noundef %2) local_unnamed_addr #23 { %4 = getelementptr inbounds nuw i8, ptr %0, i64 16 %5 = load i32, ptr %4, align 8 %switch.tableidx = add i32 %5, -2 @@ -10803,7 +10803,7 @@ define hidden range(i64 -144115188075855872, 144115188075855872) i64 @cgltf_anim } ; Function Attrs: nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define hidden i64 @cgltf_accessor_unpack_indices(ptr noundef readonly captures(none) %0, ptr noundef writeonly %1, i64 noundef %2) local_unnamed_addr #23 { +define hidden i64 @cgltf_accessor_unpack_indices(ptr noundef readonly captures(none) %0, ptr noundef writeonly captures(address_is_null) %1, i64 noundef %2) local_unnamed_addr #23 { %4 = icmp eq ptr %1, null %5 = getelementptr inbounds nuw i8, ptr %0, i64 32 %6 = load i64, ptr %5, align 8 @@ -10912,7 +10912,7 @@ cgltf_buffer_view_data.exit.thread: ; preds = %cgltf_component_rea } ; Function Attrs: nounwind uwtable -define hidden range(i32 -3, 1) i32 @Vox_LoadFromMemory(ptr noundef readonly %0, i32 noundef %1, ptr noundef %2) local_unnamed_addr #25 { +define hidden range(i32 -3, 1) i32 @Vox_LoadFromMemory(ptr noundef readonly captures(address) %0, i32 noundef %1, ptr noundef %2) local_unnamed_addr #25 { %4 = alloca [8 x %struct.VoxVector3], align 16 %5 = alloca [8 x i32], align 16 %6 = alloca [5 x i8], align 4 @@ -12116,7 +12116,7 @@ define hidden void @Vox_FreeArrays(ptr noundef captures(none) %0) local_unnamed_ } ; Function Attrs: nounwind uwtable -define hidden ptr @_m3dstbi_zlib_decode_malloc_guesssize_headerflag(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly %3, i32 noundef %4) local_unnamed_addr #0 { +define hidden ptr @_m3dstbi_zlib_decode_malloc_guesssize_headerflag(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #0 { %6 = alloca %struct._m3dstbi__zhuffman, align 4 %7 = alloca [455 x i8], align 16 %8 = alloca [19 x i8], align 16 @@ -13500,7 +13500,7 @@ _m3dstbi__do_zlib.exit: ; preds = %688 } ; Function Attrs: nounwind uwtable -define hidden noalias noundef ptr @_m3d_safestr(ptr noundef readonly %0, i32 noundef %1) local_unnamed_addr #0 { +define hidden noalias noundef ptr @_m3d_safestr(ptr noundef readonly captures(address) %0, i32 noundef %1) local_unnamed_addr #0 { %.not = icmp eq ptr %0, null br i1 %.not, label %13, label %3 @@ -13750,7 +13750,7 @@ define hidden noalias noundef ptr @_m3d_safestr(ptr noundef readonly %0, i32 nou } ; Function Attrs: nounwind uwtable -define hidden i32 @_m3d_gettx(ptr noundef captures(none) %0, ptr noundef readonly %1, ptr noundef readonly %2, ptr noundef %3) local_unnamed_addr #0 { +define hidden i32 @_m3d_gettx(ptr noundef captures(none) %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef readonly captures(address_is_null) %2, ptr noundef %3) local_unnamed_addr #0 { %5 = alloca i32, align 4 %6 = alloca i32, align 4 %7 = alloca i32, align 4 @@ -15634,7 +15634,7 @@ define hidden void @_m3d_mat(ptr noundef writeonly captures(none) initializes((0 } ; Function Attrs: nounwind uwtable -define hidden noundef ptr @m3d_load(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef readonly %3) local_unnamed_addr #0 { +define hidden noundef ptr @m3d_load(ptr noundef %0, ptr noundef captures(address_is_null) %1, ptr noundef captures(address_is_null) %2, ptr noundef readonly captures(address_is_null) %3) local_unnamed_addr #0 { %5 = alloca [8 x i8], align 8 %6 = alloca i32, align 4 %7 = alloca [8 x i32], align 16 @@ -21811,7 +21811,7 @@ _m3d_getidx.exit2523: ; preds = %_m3d_getidx.exit251 } ; Function Attrs: nofree nounwind uwtable -define hidden noundef ptr @m3d_frame(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly %3) local_unnamed_addr #26 { +define hidden noundef ptr @m3d_frame(ptr noundef captures(address_is_null) %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly captures(address_is_null, ret: address, provenance) %3) local_unnamed_addr #26 { %.not = icmp eq ptr %0, null br i1 %.not, label %23, label %5 @@ -21984,7 +21984,7 @@ define hidden noundef ptr @m3d_frame(ptr noundef %0, i32 noundef %1, i32 noundef } ; Function Attrs: nounwind uwtable -define hidden noalias noundef ptr @m3d_pose(ptr noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #0 { +define hidden noalias noundef ptr @m3d_pose(ptr noundef captures(address_is_null) %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #0 { %4 = alloca [16 x float], align 16 %.not = icmp eq ptr %0, null br i1 %.not, label %11, label %5 @@ -22434,7 +22434,7 @@ define hidden noalias noundef ptr @m3d_pose(ptr noundef %0, i32 noundef %1, i32 } ; Function Attrs: nounwind uwtable -define hidden void @m3d_free(ptr noundef %0) local_unnamed_addr #0 { +define hidden void @m3d_free(ptr noundef captures(address_is_null) %0) local_unnamed_addr #0 { %.not = icmp eq ptr %0, null br i1 %.not, label %173, label %2 @@ -22969,7 +22969,7 @@ define hidden void @par_shapes__compute_welded_normals(ptr noundef captures(none } ; Function Attrs: nounwind uwtable -define hidden noundef ptr @par_shapes_weld(ptr noundef readonly captures(none) %0, float noundef %1, ptr noundef %2) local_unnamed_addr #0 { +define hidden noundef ptr @par_shapes_weld(ptr noundef readonly captures(none) %0, float noundef %1, ptr noundef captures(address_is_null) %2) local_unnamed_addr #0 { %4 = alloca [8 x i32], align 16 %5 = alloca [3 x i32], align 4 %6 = alloca [3 x i32], align 4 @@ -27580,7 +27580,7 @@ declare noundef i32 @puts(ptr noundef readonly captures(none)) local_unnamed_add declare i32 @atoi(ptr noundef captures(none)) local_unnamed_addr #35 ; Function Attrs: mustprogress nounwind willreturn uwtable -define hidden noundef ptr @par_shapes_clone(ptr noundef readonly captures(none) %0, ptr noundef %1) local_unnamed_addr #9 { +define hidden noundef ptr @par_shapes_clone(ptr noundef readonly captures(none) %0, ptr noundef captures(address_is_null, ret: address, provenance) %1) local_unnamed_addr #9 { %.not = icmp eq ptr %1, null br i1 %.not, label %3, label %._crit_edge @@ -44453,7 +44453,7 @@ declare i64 @strspn(ptr noundef captures(none), ptr noundef captures(none)) loca declare noundef i32 @__isoc99_sscanf(ptr noundef readonly captures(none), ptr noundef readonly captures(none), ...) local_unnamed_addr #1 ; Function Attrs: nofree nounwind uwtable -define internal fastcc noalias noundef ptr @my_strdup(ptr noundef readonly %0, i32 noundef %1) unnamed_addr #26 { +define internal fastcc noalias noundef ptr @my_strdup(ptr noundef readonly captures(address_is_null) %0, i32 noundef %1) unnamed_addr #26 { %3 = icmp eq ptr %0, null br i1 %3, label %14, label %4 @@ -44744,7 +44744,7 @@ declare noundef i64 @fread(ptr noundef captures(none), i64 noundef, i64 noundef, declare ptr @strrchr(ptr noundef, i32 noundef) local_unnamed_addr #2 ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc i32 @jsmn_parse(ptr noundef nonnull captures(none) %0, ptr noundef readonly captures(none) %1, i64 noundef %2, ptr noundef %3, i64 noundef %4) unnamed_addr #13 { +define internal fastcc i32 @jsmn_parse(ptr noundef nonnull captures(none) %0, ptr noundef readonly captures(none) %1, i64 noundef %2, ptr noundef captures(address_is_null) %3, i64 noundef %4) unnamed_addr #13 { %6 = getelementptr inbounds nuw i8, ptr %0, i64 8 %7 = load i32, ptr %6, align 8 %8 = load i64, ptr %0, align 8 @@ -60639,7 +60639,7 @@ cgltf_parse_json_string.exit.thread: ; preds = %28, %.lr.ph, %cgltf } ; Function Attrs: nounwind uwtable -define internal fastcc i32 @cgltf_parse_json_material_mapping_data(ptr noundef nonnull readonly captures(none) %0, ptr noundef nonnull readonly captures(none) %1, i32 noundef range(i32 1, -2147483648) %2, ptr noundef readonly captures(none) %3, ptr noundef %4, ptr noundef nonnull captures(none) %5) unnamed_addr #0 { +define internal fastcc i32 @cgltf_parse_json_material_mapping_data(ptr noundef nonnull readonly captures(none) %0, ptr noundef nonnull readonly captures(none) %1, i32 noundef range(i32 1, -2147483648) %2, ptr noundef readonly captures(none) %3, ptr noundef captures(address_is_null) %4, ptr noundef nonnull captures(none) %5) unnamed_addr #0 { %7 = alloca [128 x i8], align 16 %8 = alloca [128 x i8], align 16 %9 = zext nneg i32 %2 to i64 diff --git a/bench/raylib/optimized/rtext.ll b/bench/raylib/optimized/rtext.ll index 85d958f2dcc..61342171fc8 100644 --- a/bench/raylib/optimized/rtext.ll +++ b/bench/raylib/optimized/rtext.ll @@ -224,7 +224,7 @@ define hidden void @stbrp_init_target(ptr noundef %0, i32 noundef %1, i32 nounde } ; Function Attrs: nofree nounwind uwtable -define hidden range(i32 0, 2) i32 @stbrp_pack_rects(ptr noundef %0, ptr noundef %1, i32 noundef %2) local_unnamed_addr #2 { +define hidden range(i32 0, 2) i32 @stbrp_pack_rects(ptr noundef captures(address_is_null) %0, ptr noundef %1, i32 noundef %2) local_unnamed_addr #2 { %4 = icmp sgt i32 %2, 0 br i1 %4, label %.lr.ph.preheader, label %._crit_edge.thread @@ -1605,7 +1605,7 @@ declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immar declare zeroext i1 @IsFileExtension(ptr noundef, ptr noundef) local_unnamed_addr #8 ; Function Attrs: nounwind uwtable -define void @LoadFontEx(ptr dead_on_unwind noalias writable writeonly sret(%struct.Font) align 8 captures(none) initializes((0, 48)) %0, ptr noundef %1, i32 noundef %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #10 { +define void @LoadFontEx(ptr dead_on_unwind noalias writable writeonly sret(%struct.Font) align 8 captures(none) initializes((0, 48)) %0, ptr noundef %1, i32 noundef %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #10 { %6 = alloca i32, align 4 %7 = alloca %struct.Font, align 8 store i32 0, ptr %6, align 4 @@ -2064,7 +2064,7 @@ declare void @SetTextureFilter(ptr noundef byval(%struct.Texture) align 8, i32 n declare ptr @LoadFileData(ptr noundef, ptr noundef) local_unnamed_addr #8 ; Function Attrs: nounwind uwtable -define void @LoadFontFromMemory(ptr dead_on_unwind noalias writable sret(%struct.Font) align 8 initializes((8, 48)) %0, ptr noundef readonly %1, ptr noundef %2, i32 noundef %3, i32 noundef %4, ptr noundef %5, i32 noundef %6) local_unnamed_addr #5 { +define void @LoadFontFromMemory(ptr dead_on_unwind noalias writable sret(%struct.Font) align 8 initializes((8, 48)) %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef %2, i32 noundef %3, i32 noundef %4, ptr noundef captures(address_is_null) %5, i32 noundef %6) local_unnamed_addr #5 { %8 = alloca [256 x i8], align 16 %9 = alloca i32, align 4 %10 = alloca i32, align 4 @@ -2584,7 +2584,7 @@ declare ptr @LoadImageColors(ptr noundef byval(%struct.Image) align 8) local_unn declare ptr @strncpy(ptr noalias noundef returned writeonly, ptr noalias noundef readonly captures(none), i64 noundef) local_unnamed_addr #14 ; Function Attrs: nofree norecurse nosync nounwind memory(write, argmem: read, inaccessiblemem: none) uwtable -define noundef nonnull ptr @TextToLower(ptr noundef readonly %0) local_unnamed_addr #15 { +define noundef nonnull ptr @TextToLower(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #15 { tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1024) @TextToLower.buffer, i8 0, i64 1024, i1 false) %.not = icmp eq ptr %0, null br i1 %.not, label %.critedge, label %.preheader @@ -2612,7 +2612,7 @@ define noundef nonnull ptr @TextToLower(ptr noundef readonly %0) local_unnamed_a } ; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read) uwtable -define zeroext i1 @TextIsEqual(ptr noundef readonly %0, ptr noundef readonly %1) local_unnamed_addr #16 { +define zeroext i1 @TextIsEqual(ptr noundef readonly captures(address_is_null) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #16 { %3 = icmp ne ptr %0, null %4 = icmp ne ptr %1, null %or.cond = and i1 %3, %4 @@ -2629,7 +2629,7 @@ define zeroext i1 @TextIsEqual(ptr noundef readonly %0, ptr noundef readonly %1) } ; Function Attrs: nounwind uwtable -define noalias noundef ptr @LoadFontData(ptr noundef %0, i32 %1, i32 noundef %2, ptr noundef %3, i32 noundef %4, i32 noundef %5) local_unnamed_addr #10 { +define noalias noundef ptr @LoadFontData(ptr noundef %0, i32 %1, i32 noundef %2, ptr noundef captures(address_is_null) %3, i32 noundef %4, i32 noundef %5) local_unnamed_addr #10 { %7 = alloca i32, align 4 %8 = alloca i32, align 4 %9 = alloca i32, align 4 @@ -7648,7 +7648,7 @@ stbtt_GetCodepointHMetrics.exit140: ; preds = %2845 } ; Function Attrs: nounwind uwtable -define void @GenImageFontAtlas(ptr dead_on_unwind noalias writable writeonly sret(%struct.Image) align 8 captures(none) initializes((0, 24)) %0, ptr noundef readonly %1, ptr noundef writeonly captures(none) %2, i32 noundef %3, i32 noundef %4, i32 noundef %5, i32 noundef %6) local_unnamed_addr #10 { +define void @GenImageFontAtlas(ptr dead_on_unwind noalias writable writeonly sret(%struct.Image) align 8 captures(none) initializes((0, 24)) %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef writeonly captures(none) %2, i32 noundef %3, i32 noundef %4, i32 noundef %5, i32 noundef %6) local_unnamed_addr #10 { tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, i8 0, i64 24, i1 false) %8 = icmp eq ptr %1, null br i1 %8, label %9, label %10 @@ -8465,7 +8465,7 @@ declare float @logf(float noundef) local_unnamed_addr #18 declare float @llvm.ceil.f32(float) #19 ; Function Attrs: nounwind uwtable -define void @UnloadFontData(ptr noundef %0, i32 noundef %1) local_unnamed_addr #10 { +define void @UnloadFontData(ptr noundef captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #10 { %.not = icmp eq ptr %0, null br i1 %.not, label %5, label %.preheader @@ -8964,7 +8964,7 @@ TextToUpper.exit216: ; preds = %.preheader.i208, %1 } ; Function Attrs: nofree norecurse nosync nounwind memory(write, argmem: read, inaccessiblemem: none) uwtable -define noundef nonnull ptr @TextToPascal(ptr noundef readonly %0) local_unnamed_addr #15 { +define noundef nonnull ptr @TextToPascal(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #15 { tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1024) @TextToPascal.buffer, i8 0, i64 1024, i1 false) %.not = icmp eq ptr %0, null br i1 %.not, label %.critedge, label %2 @@ -9032,7 +9032,7 @@ declare i32 @GetPixelDataSize(i32 noundef, i32 noundef, i32 noundef) local_unnam declare ptr @CompressData(ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #8 ; Function Attrs: nofree norecurse nosync nounwind memory(write, argmem: read, inaccessiblemem: none) uwtable -define noundef nonnull ptr @TextToUpper(ptr noundef readonly %0) local_unnamed_addr #15 { +define noundef nonnull ptr @TextToUpper(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #15 { tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1024) @TextToUpper.buffer, i8 0, i64 1024, i1 false) %.not = icmp eq ptr %0, null br i1 %.not, label %.critedge, label %.preheader @@ -9101,7 +9101,7 @@ DrawText.exit: ; preds = %8, %10 declare i32 @GetFPS() local_unnamed_addr #8 ; Function Attrs: nounwind uwtable -define void @DrawText(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 %4) local_unnamed_addr #5 { +define void @DrawText(ptr noundef captures(address_is_null) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 %4) local_unnamed_addr #5 { %.sroa.1.0.copyload = load i32, ptr getelementptr inbounds nuw (i8, ptr @defaultFont, i64 12), align 4 %.not = icmp eq i32 %.sroa.1.0.copyload, 0 br i1 %.not, label %12, label %6 @@ -9151,7 +9151,7 @@ define noundef nonnull ptr @TextFormat(ptr noundef readonly captures(none) %0, . } ; Function Attrs: nounwind uwtable -define void @DrawTextEx(ptr noundef byval(%struct.Font) align 8 captures(none) %0, ptr noundef readonly %1, <2 x float> %2, float noundef %3, float noundef %4, i32 %5) local_unnamed_addr #5 { +define void @DrawTextEx(ptr noundef byval(%struct.Font) align 8 captures(none) %0, ptr noundef readonly captures(address_is_null) %1, <2 x float> %2, float noundef %3, float noundef %4, i32 %5) local_unnamed_addr #5 { %7 = alloca %struct.Texture, align 8 %8 = getelementptr inbounds nuw i8, ptr %0, i64 12 %9 = load i32, ptr %8, align 4 @@ -9461,7 +9461,7 @@ DrawTextCodepoint.exit: ; preds = %119, %.thread.i.i } ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: read) uwtable -define i32 @TextLength(ptr noundef readonly %0) local_unnamed_addr #21 { +define i32 @TextLength(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #21 { %.not = icmp eq ptr %0, null br i1 %.not, label %.loopexit, label %.preheader @@ -9740,7 +9740,7 @@ GetGlyphIndex.exit: ; preds = %19, %.thread.i declare float @llvm.fmuladd.f32(float, float, float) #19 ; Function Attrs: nounwind uwtable -define void @DrawTextPro(ptr noundef readonly byval(%struct.Font) align 8 captures(none) %0, ptr noundef %1, <2 x float> %2, <2 x float> %3, float noundef %4, float noundef %5, float noundef %6, i32 %7) local_unnamed_addr #5 { +define void @DrawTextPro(ptr noundef readonly byval(%struct.Font) align 8 captures(none) %0, ptr noundef captures(address_is_null) %1, <2 x float> %2, <2 x float> %3, float noundef %4, float noundef %5, float noundef %6, i32 %7) local_unnamed_addr #5 { tail call void @rlPushMatrix() #41 %.sroa.07.0.vec.extract = extractelement <2 x float> %2, i64 0 %.sroa.07.4.vec.extract = extractelement <2 x float> %2, i64 1 @@ -9955,7 +9955,7 @@ define void @SetTextLineSpacing(i32 noundef %0) local_unnamed_addr #22 { } ; Function Attrs: nofree norecurse nosync nounwind memory(read, inaccessiblemem: none) uwtable -define i32 @MeasureText(ptr noundef %0, i32 noundef %1) local_unnamed_addr #23 { +define i32 @MeasureText(ptr noundef captures(address_is_null) %0, i32 noundef %1) local_unnamed_addr #23 { %.sroa.1.0.copyload = load i32, ptr getelementptr inbounds nuw (i8, ptr @defaultFont, i64 12), align 4 %.not = icmp eq i32 %.sroa.1.0.copyload, 0 br i1 %.not, label %8, label %3 @@ -9976,7 +9976,7 @@ define i32 @MeasureText(ptr noundef %0, i32 noundef %1) local_unnamed_addr #23 { } ; Function Attrs: nofree norecurse nosync nounwind memory(read, inaccessiblemem: none) uwtable -define <2 x float> @MeasureTextEx(ptr noundef readonly byval(%struct.Font) align 8 captures(none) %0, ptr noundef readonly %1, float noundef %2, float noundef %3) local_unnamed_addr #23 { +define <2 x float> @MeasureTextEx(ptr noundef readonly byval(%struct.Font) align 8 captures(none) %0, ptr noundef readonly captures(address_is_null) %1, float noundef %2, float noundef %3) local_unnamed_addr #23 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 12 %6 = load i32, ptr %5, align 4 %7 = icmp eq i32 %6, 0 @@ -10469,7 +10469,7 @@ define float @TextToFloat(ptr noundef readonly captures(none) %0) local_unnamed_ } ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define i32 @TextCopy(ptr noundef writeonly %0, ptr noundef readonly %1) local_unnamed_addr #25 { +define i32 @TextCopy(ptr noundef writeonly captures(address_is_null) %0, ptr noundef readonly captures(address_is_null) %1) local_unnamed_addr #25 { %3 = icmp ne ptr %1, null %4 = icmp ne ptr %0, null %or.cond = and i1 %4, %3 @@ -10508,7 +10508,7 @@ define i32 @TextCopy(ptr noundef writeonly %0, ptr noundef readonly %1) local_un declare i32 @strcmp(ptr noundef captures(none), ptr noundef captures(none)) local_unnamed_addr #26 ; Function Attrs: nofree norecurse nosync nounwind memory(write, argmem: read, inaccessiblemem: none) uwtable -define noundef nonnull ptr @TextSubtext(ptr noundef readonly %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #15 { +define noundef nonnull ptr @TextSubtext(ptr noundef readonly captures(address_is_null) %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #15 { tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1024) @TextSubtext.buffer, i8 0, i64 1024, i1 false) %.not.i = icmp eq ptr %0, null br i1 %.not.i, label %TextLength.exit, label %.preheader.i @@ -10562,7 +10562,7 @@ TextLength.exit: ; preds = %.lr.ph.i, %3, %.pre } ; Function Attrs: nofree nounwind uwtable -define noundef ptr @TextReplace(ptr noundef %0, ptr noundef readonly %1, ptr noundef readonly %2) local_unnamed_addr #2 { +define noundef ptr @TextReplace(ptr noundef %0, ptr noundef readonly captures(address_is_null) %1, ptr noundef readonly captures(address_is_null) %2) local_unnamed_addr #2 { %4 = icmp ne ptr %0, null %5 = icmp ne ptr %1, null %or.cond = and i1 %4, %5 @@ -10695,7 +10695,7 @@ declare ptr @strstr(ptr noundef, ptr noundef captures(none)) local_unnamed_addr declare ptr @strcpy(ptr noalias noundef returned writeonly, ptr noalias noundef readonly captures(none)) local_unnamed_addr #14 ; Function Attrs: nofree nounwind uwtable -define noalias noundef ptr @TextInsert(ptr noundef readonly %0, ptr noundef readonly %1, i32 noundef %2) local_unnamed_addr #2 { +define noalias noundef ptr @TextInsert(ptr noundef readonly captures(address_is_null) %0, ptr noundef readonly captures(address_is_null) %1, i32 noundef %2) local_unnamed_addr #2 { %.not.i = icmp eq ptr %0, null br i1 %.not.i, label %TextLength.exit, label %.preheader.i @@ -10790,7 +10790,7 @@ TextLength.exit46: ; preds = %.lr.ph.i41, %TextLe } ; Function Attrs: nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define noundef nonnull ptr @TextJoin(ptr noundef readonly captures(none) %0, i32 noundef %1, ptr noundef readonly %2) local_unnamed_addr #24 { +define noundef nonnull ptr @TextJoin(ptr noundef readonly captures(none) %0, i32 noundef %1, ptr noundef readonly captures(address_is_null) %2) local_unnamed_addr #24 { tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1024) @TextJoin.buffer, i8 0, i64 1024, i1 false) %.not.i = icmp eq ptr %2, null br i1 %.not.i, label %TextLength.exit, label %.preheader.i @@ -10925,7 +10925,7 @@ TextLength.exit40: ; preds = %.lr.ph.i35, %.lr.ph } ; Function Attrs: nofree norecurse nosync nounwind memory(write, argmem: readwrite, inaccessiblemem: none) uwtable -define noundef nonnull ptr @TextSplit(ptr noundef readonly %0, i8 noundef signext %1, ptr noundef writeonly captures(none) %2) local_unnamed_addr #27 { +define noundef nonnull ptr @TextSplit(ptr noundef readonly captures(address_is_null) %0, i8 noundef signext %1, ptr noundef writeonly captures(none) %2) local_unnamed_addr #27 { tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1024) @TextSplit.buffer, i8 0, i64 1024, i1 false) store ptr @TextSplit.buffer, ptr @TextSplit.result, align 16 %.not = icmp eq ptr %0, null @@ -11202,7 +11202,7 @@ define void @UnloadUTF8(ptr noundef captures(none) %0) local_unnamed_addr #32 { } ; Function Attrs: nounwind uwtable -define noalias noundef ptr @LoadCodepoints(ptr noundef readonly %0, ptr noundef writeonly captures(none) %1) local_unnamed_addr #10 { +define noalias noundef ptr @LoadCodepoints(ptr noundef readonly captures(address_is_null) %0, ptr noundef writeonly captures(none) %1) local_unnamed_addr #10 { %.not.i = icmp eq ptr %0, null br i1 %.not.i, label %TextLength.exit.thread, label %.preheader.i @@ -15406,7 +15406,7 @@ stbtt__csctx_v.exit: ; preds = %stbtt__track_vertex } ; Function Attrs: nofree nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc void @stbtt__tesselate_curve(ptr noundef %0, ptr noundef nonnull captures(none) %1, float noundef %2, float noundef %3, float noundef %4, float noundef %5, float noundef %6, float noundef %7, float noundef %8, i32 noundef %9) unnamed_addr #35 { +define internal fastcc void @stbtt__tesselate_curve(ptr noundef captures(address_is_null) %0, ptr noundef nonnull captures(none) %1, float noundef %2, float noundef %3, float noundef %4, float noundef %5, float noundef %6, float noundef %7, float noundef %8, i32 noundef %9) unnamed_addr #35 { %11 = icmp sgt i32 %9, 16 br i1 %11, label %.loopexit, label %.lr.ph.preheader @@ -15478,7 +15478,7 @@ stbtt__add_point.exit: ; preds = %36, %37 } ; Function Attrs: nofree nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc void @stbtt__tesselate_cubic(ptr noundef %0, ptr noundef nonnull captures(none) %1, float noundef %2, float noundef %3, float noundef %4, float noundef %5, float noundef %6, float noundef %7, float noundef %8, float noundef %9, float noundef %10, i32 noundef %11) unnamed_addr #35 { +define internal fastcc void @stbtt__tesselate_cubic(ptr noundef captures(address_is_null) %0, ptr noundef nonnull captures(none) %1, float noundef %2, float noundef %3, float noundef %4, float noundef %5, float noundef %6, float noundef %7, float noundef %8, float noundef %9, float noundef %10, i32 noundef %11) unnamed_addr #35 { %smax = tail call i32 @llvm.smax.i32(i32 %11, i32 17) %exitcond107 = icmp sgt i32 %11, 16 br i1 %exitcond107, label %.loopexit, label %.lr.ph diff --git a/bench/re2/optimized/re2.ll b/bench/re2/optimized/re2.ll index ad2f417cb7d..b5b1b360876 100644 --- a/bench/re2/optimized/re2.ll +++ b/bench/re2/optimized/re2.ll @@ -1841,14 +1841,14 @@ if.then5.i.i: ; preds = %release.i.i.i } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN3re23RE210FullMatchNEN4absl7debian211string_viewERKS0_PKPKNS0_3ArgEi(ptr %text.coerce0, i64 %text.coerce1, ptr noundef nonnull align 8 dereferenceable(148) %re, ptr noundef %args, i32 noundef %n) local_unnamed_addr #2 align 2 { +define noundef zeroext i1 @_ZN3re23RE210FullMatchNEN4absl7debian211string_viewERKS0_PKPKNS0_3ArgEi(ptr %text.coerce0, i64 %text.coerce1, ptr noundef nonnull align 8 dereferenceable(148) %re, ptr noundef captures(address_is_null) %args, i32 noundef %n) local_unnamed_addr #2 align 2 { entry: %call = tail call noundef zeroext i1 @_ZNK3re23RE27DoMatchEN4absl7debian211string_viewENS0_6AnchorEPmPKPKNS0_3ArgEi(ptr noundef nonnull align 8 dereferenceable(148) %re, ptr %text.coerce0, i64 %text.coerce1, i32 noundef 2, ptr noundef null, ptr noundef %args, i32 noundef %n) ret i1 %call } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZNK3re23RE27DoMatchEN4absl7debian211string_viewENS0_6AnchorEPmPKPKNS0_3ArgEi(ptr noundef nonnull align 8 dereferenceable(148) %this, ptr %text.coerce0, i64 %text.coerce1, i32 noundef %re_anchor, ptr noundef writeonly %consumed, ptr noundef readonly %args, i32 noundef %n) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 { +define noundef zeroext i1 @_ZNK3re23RE27DoMatchEN4absl7debian211string_viewENS0_6AnchorEPmPKPKNS0_3ArgEi(ptr noundef nonnull align 8 dereferenceable(148) %this, ptr %text.coerce0, i64 %text.coerce1, i32 noundef %re_anchor, ptr noundef writeonly captures(address_is_null) %consumed, ptr noundef readonly captures(address_is_null) %args, i32 noundef %n) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp = alloca %class.LogMessage, align 8 %vec_storage = alloca %"class.absl::debian2::FixedArray", align 8 @@ -2057,14 +2057,14 @@ return: ; preds = %invoke.cont11.i.i25 } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN3re23RE213PartialMatchNEN4absl7debian211string_viewERKS0_PKPKNS0_3ArgEi(ptr %text.coerce0, i64 %text.coerce1, ptr noundef nonnull align 8 dereferenceable(148) %re, ptr noundef %args, i32 noundef %n) local_unnamed_addr #2 align 2 { +define noundef zeroext i1 @_ZN3re23RE213PartialMatchNEN4absl7debian211string_viewERKS0_PKPKNS0_3ArgEi(ptr %text.coerce0, i64 %text.coerce1, ptr noundef nonnull align 8 dereferenceable(148) %re, ptr noundef captures(address_is_null) %args, i32 noundef %n) local_unnamed_addr #2 align 2 { entry: %call = tail call noundef zeroext i1 @_ZNK3re23RE27DoMatchEN4absl7debian211string_viewENS0_6AnchorEPmPKPKNS0_3ArgEi(ptr noundef nonnull align 8 dereferenceable(148) %re, ptr %text.coerce0, i64 %text.coerce1, i32 noundef 0, ptr noundef null, ptr noundef %args, i32 noundef %n) ret i1 %call } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN3re23RE28ConsumeNEPN4absl7debian211string_viewERKS0_PKPKNS0_3ArgEi(ptr noundef captures(none) %input, ptr noundef nonnull align 8 dereferenceable(148) %re, ptr noundef %args, i32 noundef %n) local_unnamed_addr #2 align 2 { +define noundef zeroext i1 @_ZN3re23RE28ConsumeNEPN4absl7debian211string_viewERKS0_PKPKNS0_3ArgEi(ptr noundef captures(none) %input, ptr noundef nonnull align 8 dereferenceable(148) %re, ptr noundef captures(address_is_null) %args, i32 noundef %n) local_unnamed_addr #2 align 2 { entry: %consumed = alloca i64, align 8 %agg.tmp.sroa.0.0.copyload = load ptr, ptr %input, align 8 @@ -2096,7 +2096,7 @@ return: ; preds = %entry, %_ZN4absl7de } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN3re23RE215FindAndConsumeNEPN4absl7debian211string_viewERKS0_PKPKNS0_3ArgEi(ptr noundef captures(none) %input, ptr noundef nonnull align 8 dereferenceable(148) %re, ptr noundef %args, i32 noundef %n) local_unnamed_addr #2 align 2 { +define noundef zeroext i1 @_ZN3re23RE215FindAndConsumeNEPN4absl7debian211string_viewERKS0_PKPKNS0_3ArgEi(ptr noundef captures(none) %input, ptr noundef nonnull align 8 dereferenceable(148) %re, ptr noundef captures(address_is_null) %args, i32 noundef %n) local_unnamed_addr #2 align 2 { entry: %consumed = alloca i64, align 8 %agg.tmp.sroa.0.0.copyload = load ptr, ptr %input, align 8 @@ -2227,7 +2227,7 @@ return: ; preds = %_ZN4absl7debian211s } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef range(i32 0, 80) i32 @_ZN3re23RE211MaxSubmatchEN4absl7debian211string_viewE(ptr readonly %rewrite.coerce0, i64 %rewrite.coerce1) local_unnamed_addr #12 align 2 { +define noundef range(i32 0, 80) i32 @_ZN3re23RE211MaxSubmatchEN4absl7debian211string_viewE(ptr readonly captures(address) %rewrite.coerce0, i64 %rewrite.coerce1) local_unnamed_addr #12 align 2 { entry: %add.ptr = getelementptr inbounds i8, ptr %rewrite.coerce0, i64 %rewrite.coerce1 %cmp13 = icmp sgt i64 %rewrite.coerce1, 0 @@ -3860,7 +3860,7 @@ declare noundef zeroext i1 @_ZN3re24Prog14SearchBitStateEN4absl7debian211string_ declare noundef zeroext i1 @_ZN3re24Prog9SearchNFAEN4absl7debian211string_viewES3_NS0_6AnchorENS0_9MatchKindEPS3_i(ptr noundef nonnull align 8 dereferenceable(432), ptr, i64, ptr, i64, i32 noundef, i32 noundef, ptr noundef, i32 noundef) local_unnamed_addr #5 ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZNK3re23RE218CheckRewriteStringEN4absl7debian211string_viewEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(148) %this, ptr readonly %rewrite.coerce0, i64 %rewrite.coerce1, ptr noundef %error) local_unnamed_addr #2 align 2 { +define noundef zeroext i1 @_ZNK3re23RE218CheckRewriteStringEN4absl7debian211string_viewEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(148) %this, ptr readonly captures(address) %rewrite.coerce0, i64 %rewrite.coerce1, ptr noundef %error) local_unnamed_addr #2 align 2 { entry: %ref.tmp.i = alloca [2 x %"class.absl::debian2::str_format_internal::FormatArgImpl"], align 8 %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 @@ -3944,7 +3944,7 @@ return: ; preds = %for.end, %_ZN4absl7 declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc(ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext) local_unnamed_addr #5 ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIvEEbPKcmPT_(ptr noundef readnone captures(none) %str, i64 noundef %n, ptr noundef readnone %dest) local_unnamed_addr #14 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIvEEbPKcmPT_(ptr noundef readnone captures(none) %str, i64 noundef %n, ptr noundef readnone captures(address_is_null) %dest) local_unnamed_addr #14 { entry: %cmp = icmp eq ptr %dest, null ret i1 %cmp @@ -3967,7 +3967,7 @@ return: ; preds = %entry, %if.end declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i64 noundef) local_unnamed_addr #5 ; Function Attrs: mustprogress nounwind memory(argmem: write, inaccessiblemem: write) uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIN4absl7debian211string_viewEEEbPKcmPT_(ptr noundef %str, i64 noundef %n, ptr noundef writeonly %dest) local_unnamed_addr #15 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIN4absl7debian211string_viewEEEbPKcmPT_(ptr noundef %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest) local_unnamed_addr #15 { entry: %cmp = icmp eq ptr %dest, null br i1 %cmp, label %return, label %if.end @@ -3991,7 +3991,7 @@ return: ; preds = %entry, %_ZN4absl7de } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIcEEbPKcmPT_(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest) local_unnamed_addr #16 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIcEEbPKcmPT_(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest) local_unnamed_addr #16 { entry: %cmp.not = icmp eq i64 %n, 1 %cmp1 = icmp ne ptr %dest, null @@ -4008,7 +4008,7 @@ return: ; preds = %entry, %if.end3 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIaEEbPKcmPT_(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest) local_unnamed_addr #16 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIaEEbPKcmPT_(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest) local_unnamed_addr #16 { entry: %cmp.not = icmp eq i64 %n, 1 %cmp1 = icmp ne ptr %dest, null @@ -4025,7 +4025,7 @@ return: ; preds = %entry, %if.end3 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIhEEbPKcmPT_(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest) local_unnamed_addr #16 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIhEEbPKcmPT_(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest) local_unnamed_addr #16 { entry: %cmp.not = icmp eq i64 %n, 1 %cmp1 = icmp ne ptr %dest, null @@ -4042,7 +4042,7 @@ return: ; preds = %entry, %if.end3 } ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIfEEbPKcmPT_(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest) local_unnamed_addr #17 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIfEEbPKcmPT_(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest) local_unnamed_addr #17 { entry: %buf = alloca [201 x i8], align 16 %end = alloca ptr, align 8 @@ -4176,7 +4176,7 @@ declare ptr @__errno_location() local_unnamed_addr #18 declare float @strtof(ptr noundef readonly, ptr noundef captures(none)) local_unnamed_addr #19 ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIdEEbPKcmPT_(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest) local_unnamed_addr #17 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIdEEbPKcmPT_(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest) local_unnamed_addr #17 { entry: %buf = alloca [201 x i8], align 16 %end = alloca ptr, align 8 @@ -4307,7 +4307,7 @@ return: ; preds = %if.end8, %if.end5, declare double @strtod(ptr noundef readonly, ptr noundef captures(none)) local_unnamed_addr #19 ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIlEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest, i32 noundef %radix) local_unnamed_addr #17 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIlEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest, i32 noundef %radix) local_unnamed_addr #17 { entry: %buf = alloca [33 x i8], align 16 %end = alloca ptr, align 8 @@ -4417,7 +4417,7 @@ return: ; preds = %if.end8, %if.end5, declare i64 @strtol(ptr noundef readonly, ptr noundef captures(none), i32 noundef) local_unnamed_addr #19 ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseImEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest, i32 noundef %radix) local_unnamed_addr #17 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseImEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest, i32 noundef %radix) local_unnamed_addr #17 { entry: %buf = alloca [33 x i8], align 16 %end = alloca ptr, align 8 @@ -4532,7 +4532,7 @@ return: ; preds = %if.end11, %if.end8, declare i64 @strtoul(ptr noundef readonly, ptr noundef captures(none), i32 noundef) local_unnamed_addr #19 ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIsEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest, i32 noundef %radix) local_unnamed_addr #17 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIsEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest, i32 noundef %radix) local_unnamed_addr #17 { entry: %buf.i = alloca [33 x i8], align 16 %end.i = alloca ptr, align 8 @@ -4654,7 +4654,7 @@ return: ; preds = %_ZN3re212re2_intern } ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseItEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest, i32 noundef %radix) local_unnamed_addr #17 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseItEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest, i32 noundef %radix) local_unnamed_addr #17 { entry: %r = alloca i64, align 8 %call = call noundef zeroext i1 @_ZN3re212re2_internal5ParseImEEbPKcmPT_i(ptr noundef %str, i64 noundef %n, ptr noundef nonnull %r, i32 noundef %radix) @@ -4680,7 +4680,7 @@ return: ; preds = %if.end3, %if.end, % } ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIiEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest, i32 noundef %radix) local_unnamed_addr #17 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIiEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest, i32 noundef %radix) local_unnamed_addr #17 { entry: %buf.i = alloca [33 x i8], align 16 %end.i = alloca ptr, align 8 @@ -4802,7 +4802,7 @@ return: ; preds = %_ZN3re212re2_intern } ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIjEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest, i32 noundef %radix) local_unnamed_addr #17 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIjEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest, i32 noundef %radix) local_unnamed_addr #17 { entry: %r = alloca i64, align 8 %call = call noundef zeroext i1 @_ZN3re212re2_internal5ParseImEEbPKcmPT_i(ptr noundef %str, i64 noundef %n, ptr noundef nonnull %r, i32 noundef %radix) @@ -4828,7 +4828,7 @@ return: ; preds = %if.end3, %if.end, % } ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIxEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest, i32 noundef %radix) local_unnamed_addr #17 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIxEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest, i32 noundef %radix) local_unnamed_addr #17 { entry: %buf = alloca [33 x i8], align 16 %end = alloca ptr, align 8 @@ -4938,7 +4938,7 @@ return: ; preds = %if.end8, %if.end5, declare i64 @strtoll(ptr noundef readonly, ptr noundef captures(none), i32 noundef) local_unnamed_addr #19 ; Function Attrs: mustprogress nofree nounwind uwtable -define noundef zeroext i1 @_ZN3re212re2_internal5ParseIyEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly %dest, i32 noundef %radix) local_unnamed_addr #17 { +define noundef zeroext i1 @_ZN3re212re2_internal5ParseIyEEbPKcmPT_i(ptr noundef readonly captures(none) %str, i64 noundef %n, ptr noundef writeonly captures(address_is_null) %dest, i32 noundef %radix) local_unnamed_addr #17 { entry: %buf = alloca [33 x i8], align 16 %end = alloca ptr, align 8 diff --git a/bench/rust-analyzer-rs/optimized/7lpeywhc9n6h2ze.ll b/bench/rust-analyzer-rs/optimized/7lpeywhc9n6h2ze.ll index 7f69a731d38..7bec988c40d 100644 --- a/bench/rust-analyzer-rs/optimized/7lpeywhc9n6h2ze.ll +++ b/bench/rust-analyzer-rs/optimized/7lpeywhc9n6h2ze.ll @@ -28476,12 +28476,12 @@ define hidden void @"_ZN4core3ops8function5impls79_$LT$impl$u20$core..ops..funct } ; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable -define hidden noundef nonnull ptr @_ZN4core3ops8function6FnOnce9call_once17h579d3919ff512b4fE.llvm.450774749160709717(ptr noundef nonnull readnone returned %0, i64 noundef %1) unnamed_addr #14 { +define hidden noundef nonnull ptr @_ZN4core3ops8function6FnOnce9call_once17h579d3919ff512b4fE.llvm.450774749160709717(ptr noundef nonnull readnone returned captures(ret: address, provenance) %0, i64 noundef %1) unnamed_addr #14 { ret ptr %0 } ; Function Attrs: inlinehint mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable -define hidden noundef nonnull align 4 dereferenceable(8) ptr @_ZN4core3ops8function6FnOnce9call_once17hdcc1e3bd3762c487E.llvm.450774749160709717(ptr noalias noundef readonly returned align 8 dereferenceable(16) %0) unnamed_addr #14 { +define hidden noundef nonnull align 4 dereferenceable(8) ptr @_ZN4core3ops8function6FnOnce9call_once17hdcc1e3bd3762c487E.llvm.450774749160709717(ptr noalias noundef readonly returned align 8 captures(ret: address, provenance) dereferenceable(16) %0) unnamed_addr #14 { ret ptr %0 } @@ -47887,7 +47887,7 @@ define hidden void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$8split_at17hb1 } ; Function Attrs: inlinehint nonlazybind uwtable -define hidden void @"_ZN4core6option15Option$LT$T$GT$11map_or_else17h4d9520b904b52f6eE.llvm.450774749160709717"(ptr noalias noundef sret({ { { i64, ptr, {} }, i64 } }) align 8 captures(none) dereferenceable(24) %0, ptr noalias noundef readonly align 1 %1, i64 %2, ptr noalias noundef readonly align 8 captures(none) dereferenceable(48) %3) unnamed_addr #10 personality ptr @rust_eh_personality { +define hidden void @"_ZN4core6option15Option$LT$T$GT$11map_or_else17h4d9520b904b52f6eE.llvm.450774749160709717"(ptr noalias noundef sret({ { { i64, ptr, {} }, i64 } }) align 8 captures(none) dereferenceable(24) %0, ptr noalias noundef readonly align 1 captures(address_is_null) %1, i64 %2, ptr noalias noundef readonly align 8 captures(none) dereferenceable(48) %3) unnamed_addr #10 personality ptr @rust_eh_personality { %5 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, [1 x i64] } }, align 8 %6 = icmp eq ptr %1, null br i1 %6, label %7, label %8 @@ -47920,7 +47920,7 @@ define hidden void @"_ZN4core6option15Option$LT$T$GT$11map_or_else17h4d9520b904b } ; Function Attrs: inlinehint nonlazybind uwtable -define internal fastcc noundef nonnull align 4 dereferenceable(4) ptr @"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17h34f5467ff498dc7dE"(ptr noalias noundef nonnull align 4 dereferenceable(8) %0, ptr noalias noundef nonnull align 8 dereferenceable(344) %1) unnamed_addr #10 personality ptr @rust_eh_personality { +define internal fastcc noundef nonnull align 4 dereferenceable(4) ptr @"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17h34f5467ff498dc7dE"(ptr noalias noundef nonnull align 4 captures(ret: address, provenance) dereferenceable(8) %0, ptr noalias noundef nonnull align 8 dereferenceable(344) %1) unnamed_addr #10 personality ptr @rust_eh_personality { %3 = alloca { { [20 x i32], i32, [3 x i32] }, { { i64, ptr, {} }, i64 }, i8, [7 x i8] }, align 16 %4 = load i32, ptr %0, align 4, !range !9594, !noundef !4 %5 = icmp eq i32 %4, 0 @@ -47991,7 +47991,7 @@ define internal fastcc noundef nonnull align 4 dereferenceable(4) ptr @"_ZN4core } ; Function Attrs: inlinehint nonlazybind uwtable -define internal fastcc noundef nonnull align 4 dereferenceable(4) ptr @"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17h4d5d85c0ec17e8c7E"(ptr noalias noundef nonnull align 4 dereferenceable(8) %0, ptr noalias noundef nonnull align 8 dereferenceable(344) %1) unnamed_addr #10 personality ptr @rust_eh_personality { +define internal fastcc noundef nonnull align 4 dereferenceable(4) ptr @"_ZN4core6option15Option$LT$T$GT$18get_or_insert_with17h4d5d85c0ec17e8c7E"(ptr noalias noundef nonnull align 4 captures(ret: address, provenance) dereferenceable(8) %0, ptr noalias noundef nonnull align 8 dereferenceable(344) %1) unnamed_addr #10 personality ptr @rust_eh_personality { %3 = alloca { { [20 x i32], i32, [3 x i32] }, { { i64, ptr, {} }, i64 }, i8, [7 x i8] }, align 16 %4 = load i32, ptr %0, align 4, !range !9594, !noundef !4 %5 = icmp eq i32 %4, 0 @@ -52958,7 +52958,7 @@ define hidden noundef zeroext i1 @_ZN8chalk_ir5visit11TypeVisitor22visit_free_pl } ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable -define hidden noundef nonnull ptr @"_ZN8indexmap19Bucket$LT$K$C$V$GT$3key17h58f44116e7faf6fcE.llvm.450774749160709717"(ptr noundef nonnull readnone returned %0, i64 noundef %1) unnamed_addr #30 { +define hidden noundef nonnull ptr @"_ZN8indexmap19Bucket$LT$K$C$V$GT$3key17h58f44116e7faf6fcE.llvm.450774749160709717"(ptr noundef nonnull readnone returned captures(ret: address, provenance) %0, i64 noundef %1) unnamed_addr #30 { ret ptr %0 } @@ -52969,7 +52969,7 @@ define hidden i64 @"_ZN8indexmap19Bucket$LT$K$C$V$GT$3key17h7f9b30251fe307fbE.ll } ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable -define hidden noundef nonnull align 4 dereferenceable(8) ptr @"_ZN8indexmap19Bucket$LT$K$C$V$GT$7key_ref17h1a9d2dc89785145cE.llvm.450774749160709717"(ptr noalias noundef readonly returned align 8 dereferenceable(16) %0) unnamed_addr #30 { +define hidden noundef nonnull align 4 dereferenceable(8) ptr @"_ZN8indexmap19Bucket$LT$K$C$V$GT$7key_ref17h1a9d2dc89785145cE.llvm.450774749160709717"(ptr noalias noundef readonly returned align 8 captures(ret: address, provenance) dereferenceable(16) %0) unnamed_addr #30 { ret ptr %0 } @@ -72871,7 +72871,7 @@ _ZN12tracing_core8callsite15DefaultCallsite8interest17hccd71802e1b704feE.exit.th } ; Function Attrs: inlinehint nonlazybind uwtable -define internal fastcc { ptr, ptr } @"_ZN6hir_ty11diagnostics11match_check7PatCtxt10lower_path28_$u7b$$u7b$closure$u7d$$u7d$17he191db0e6d8e5921E"(ptr readonly %.0.val, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %0) unnamed_addr #10 personality ptr @rust_eh_personality { +define internal fastcc { ptr, ptr } @"_ZN6hir_ty11diagnostics11match_check7PatCtxt10lower_path28_$u7b$$u7b$closure$u7d$$u7d$17he191db0e6d8e5921E"(ptr readonly captures(address_is_null) %.0.val, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(48) %0) unnamed_addr #10 personality ptr @rust_eh_personality { %2 = alloca { i8, [47 x i8] }, align 8 %3 = alloca ptr, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) @@ -79015,10 +79015,10 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit948: ; pred 278: ; preds = %336, %341, %595, %722, %727, %_ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit1018, %854, %780, %825, %_ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit1001, %767, %764, %543, %556, %561, %481, %452, %_ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit957, %394, %326, %328, %857, %406, %._crit_edge1420, %_ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit948, %_ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit, %148 ret void -._crit_edge1420: ; preds = %552, %.._crit_edge1420_crit_edge, %718, %725, %815, %819, %752, %765, %855, %852, %410, %392, %.loopexit, %327, %149 - %.sroa.0390.0 = phi i32 [ %.sroa.0820.0.copyload, %855 ], [ %.sroa.0799.0.copyload, %852 ], [ %797, %819 ], [ %816, %815 ], [ %.sroa.0736.0.copyload, %765 ], [ %753, %752 ], [ %411, %410 ], [ %.sroa.0511.0.copyload, %392 ], [ %182, %.loopexit ], [ %.0.i1020, %327 ], [ %150, %149 ], [ %709, %718 ], [ %.sroa.0633.0.copyload, %725 ], [ %.pre1489, %.._crit_edge1420_crit_edge ], [ %.sroa.0612.0.copyload, %552 ] - %.sroa.15.0 = phi i32 [ %.sroa.4821.0.copyload, %855 ], [ %.sroa.4800.0.copyload, %852 ], [ %798, %819 ], [ %817, %815 ], [ %.sroa.4737.0.copyload, %765 ], [ %754, %752 ], [ %412, %410 ], [ %.sroa.4512.0.copyload, %392 ], [ %361, %.loopexit ], [ %.sroa.0.0.i1019, %327 ], [ %151, %149 ], [ 1, %718 ], [ %.sroa.4634.0.copyload, %725 ], [ %.pre1490, %.._crit_edge1420_crit_edge ], [ %.sroa.4613.0.copyload, %552 ] - %.sroa.22.0 = phi i32 [ %.sroa.5822.0.copyload, %855 ], [ %.sroa.5801.0.copyload, %852 ], [ %799, %819 ], [ %818, %815 ], [ %.sroa.5738.0.copyload, %765 ], [ %755, %752 ], [ %413, %410 ], [ %.sroa.5513.0.copyload, %392 ], [ %362, %.loopexit ], [ %.sroa.4.0.i, %327 ], [ %152, %149 ], [ %.0850, %718 ], [ %.sroa.5635.0.copyload, %725 ], [ %.pre1491, %.._crit_edge1420_crit_edge ], [ %.sroa.5614.0.copyload, %552 ] +._crit_edge1420: ; preds = %552, %508, %718, %725, %815, %819, %752, %765, %855, %852, %410, %392, %.loopexit, %327, %149 + %.sroa.0390.0 = phi i32 [ %.sroa.0820.0.copyload, %855 ], [ %.sroa.0799.0.copyload, %852 ], [ %797, %819 ], [ %816, %815 ], [ %.sroa.0736.0.copyload, %765 ], [ %753, %752 ], [ %411, %410 ], [ %.sroa.0511.0.copyload, %392 ], [ %182, %.loopexit ], [ %.0.i1020, %327 ], [ %150, %149 ], [ %709, %718 ], [ %.sroa.0633.0.copyload, %725 ], [ %.pre1489, %508 ], [ %.sroa.0612.0.copyload, %552 ] + %.sroa.15.0 = phi i32 [ %.sroa.4821.0.copyload, %855 ], [ %.sroa.4800.0.copyload, %852 ], [ %798, %819 ], [ %817, %815 ], [ %.sroa.4737.0.copyload, %765 ], [ %754, %752 ], [ %412, %410 ], [ %.sroa.4512.0.copyload, %392 ], [ %361, %.loopexit ], [ %.sroa.0.0.i1019, %327 ], [ %151, %149 ], [ 1, %718 ], [ %.sroa.4634.0.copyload, %725 ], [ %.pre1494, %508 ], [ %.sroa.4613.0.copyload, %552 ] + %.sroa.22.0 = phi i32 [ %.sroa.5822.0.copyload, %855 ], [ %.sroa.5801.0.copyload, %852 ], [ %799, %819 ], [ %818, %815 ], [ %.sroa.5738.0.copyload, %765 ], [ %755, %752 ], [ %413, %410 ], [ %.sroa.5513.0.copyload, %392 ], [ %362, %.loopexit ], [ %.sroa.4.0.i, %327 ], [ %152, %149 ], [ %.0850, %718 ], [ %.sroa.5635.0.copyload, %725 ], [ %.pre1495, %508 ], [ %.sroa.5614.0.copyload, %552 ] %279 = getelementptr inbounds nuw i8, ptr %0, i64 4 store i32 %.sroa.0390.0, ptr %279, align 4 %.sroa.15.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 @@ -79536,6 +79536,8 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit957: ; pred %.sroa.5571.0..sroa_idx = getelementptr inbounds nuw i8, ptr %57, i64 12 %.pre = load i32, ptr %76, align 4, !alias.scope !22255, !noalias !22258 %.pre1486 = load i32, ptr %78, align 4 + %.pre1487 = load i32, ptr %77, align 4, !range !9594 + %.pre1488 = load i32, ptr %79, align 4 br label %497 442: ; preds = %"_ZN120_$LT$hir_ty..infer..InferenceResult$u20$as$u20$core..ops..index..Index$LT$la_arena..Idx$LT$hir_def..hir..Pat$GT$$GT$$GT$5index17h96ed53f381901213E.exit962" @@ -79776,7 +79778,9 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit957: ; pred br i1 %.not900, label %508, label %505 497: ; preds = %.lr.ph, %557 - %498 = phi i32 [ %.pre1486, %.lr.ph ], [ %.sroa.0569.0.copyload, %557 ] + %498 = phi i32 [ %.pre1488, %.lr.ph ], [ %.sroa.5571.0.copyload, %557 ] + %499 = phi i32 [ %.pre1487, %.lr.ph ], [ %.sroa.4570.0.copyload, %557 ] + %500 = phi i32 [ %.pre1486, %.lr.ph ], [ %.sroa.0569.0.copyload, %557 ] %.sroa.81057.01415 = phi i64 [ 0, %.lr.ph ], [ %558, %557 ] %.sroa.01055.01414 = phi ptr [ %434, %.lr.ph ], [ %559, %557 ] %499 = load i32, ptr %.sroa.01055.01414, align 4, !noundef !4 @@ -79788,9 +79792,7 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit957: ; pred %500 = call noundef i32 @_ZN6hir_ty3mir12ProjectionId7project17h24cd2dad989d1069E(i32 noundef %135, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %58, ptr noalias noundef nonnull align 8 dereferenceable(64) %116), !noalias !22255 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %58) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) - %501 = load i32, ptr %77, align 4, !range !9594, !noundef !4 - %502 = load i32, ptr %79, align 4 - call fastcc void @"_ZN6hir_ty3mir5lower16pattern_matching49_$LT$impl$u20$hir_ty..mir..lower..MirLowerCtx$GT$19pattern_match_inner17h7e62cf72570f4592E"(ptr noalias noundef align 8 captures(none) dereferenceable(32) %57, ptr noalias noundef align 8 dereferenceable(344) %1, i32 noundef %498, i32 noundef %501, i32 %502, i32 noundef %.pre, i32 noundef %500, i32 noundef %499, i1 noundef zeroext %8) + call fastcc void @"_ZN6hir_ty3mir5lower16pattern_matching49_$LT$impl$u20$hir_ty..mir..lower..MirLowerCtx$GT$19pattern_match_inner17h7e62cf72570f4592E"(ptr noalias noundef align 8 captures(none) dereferenceable(32) %57, ptr noalias noundef align 8 dereferenceable(344) %1, i32 noundef %500, i32 noundef %499, i32 %498, i32 noundef %.pre, i32 noundef %502, i32 noundef %501, i1 noundef zeroext %8) %503 = load i8, ptr %57, align 8, !range !3333, !noundef !4 %504 = icmp eq i8 %503, 24 br i1 %504, label %557, label %561 @@ -79808,12 +79810,9 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit957: ; pred %513 = getelementptr inbounds i32, ptr %510, i64 %512 %514 = icmp eq i64 %512, 0 %.pre1489 = load i32, ptr %78, align 4 - br i1 %514, label %.._crit_edge1420_crit_edge, label %.lr.ph1419 - -.._crit_edge1420_crit_edge: ; preds = %508 - %.pre1490 = load i32, ptr %77, align 4, !range !9594 - %.pre1491 = load i32, ptr %79, align 4 - br label %._crit_edge1420 + %.pre1494 = load i32, ptr %77, align 4, !range !9594 + %.pre1495 = load i32, ptr %79, align 4 + br i1 %514, label %._crit_edge1420, label %.lr.ph1419 .lr.ph1419: ; preds = %508 %515 = getelementptr inbounds nuw i8, ptr %54, i64 8 @@ -79898,7 +79897,9 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit957: ; pred br label %278 544: ; preds = %.lr.ph1419, %552 - %545 = phi i32 [ %.pre1489, %.lr.ph1419 ], [ %.sroa.0612.0.copyload, %552 ] + %545 = phi i32 [ %.pre1495, %.lr.ph1419 ], [ %.sroa.5614.0.copyload, %552 ] + %546 = phi i32 [ %.pre1494, %.lr.ph1419 ], [ %.sroa.4613.0.copyload, %552 ] + %547 = phi i32 [ %.pre1493, %.lr.ph1419 ], [ %.sroa.0612.0.copyload, %552 ] %.sroa.81060.01417 = phi i64 [ 0, %.lr.ph1419 ], [ %553, %552 ] %.sroa.01058.01416 = phi ptr [ %510, %.lr.ph1419 ], [ %554, %552 ] %546 = load i32, ptr %.sroa.01058.01416, align 4, !noundef !4 @@ -79910,9 +79911,7 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit957: ; pred %547 = call noundef i32 @_ZN6hir_ty3mir12ProjectionId7project17h24cd2dad989d1069E(i32 noundef %135, ptr noalias noundef nonnull align 8 captures(none) dereferenceable(24) %54, ptr noalias noundef nonnull align 8 dereferenceable(64) %116), !noalias !22295 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) - %548 = load i32, ptr %77, align 4, !range !9594, !noundef !4 - %549 = load i32, ptr %79, align 4 - call fastcc void @"_ZN6hir_ty3mir5lower16pattern_matching49_$LT$impl$u20$hir_ty..mir..lower..MirLowerCtx$GT$19pattern_match_inner17h7e62cf72570f4592E"(ptr noalias noundef align 8 captures(none) dereferenceable(32) %53, ptr noalias noundef align 8 dereferenceable(344) %1, i32 noundef %545, i32 noundef %548, i32 %549, i32 noundef %.pre1487, i32 noundef %547, i32 noundef %546, i1 noundef zeroext %8) + call fastcc void @"_ZN6hir_ty3mir5lower16pattern_matching49_$LT$impl$u20$hir_ty..mir..lower..MirLowerCtx$GT$19pattern_match_inner17h7e62cf72570f4592E"(ptr noalias noundef align 8 captures(none) dereferenceable(32) %53, ptr noalias noundef align 8 dereferenceable(344) %1, i32 noundef %547, i32 noundef %546, i32 %545, i32 noundef %.pre1489, i32 noundef %549, i32 noundef %548, i1 noundef zeroext %8) %550 = load i8, ptr %53, align 8, !range !3333, !noundef !4 %551 = icmp eq i8 %550, 24 br i1 %551, label %552, label %556 @@ -79924,8 +79923,6 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit957: ; pred %.sroa.4613.0.copyload = load i32, ptr %.sroa.4613.0..sroa_idx, align 8 %.sroa.5614.0.copyload = load i32, ptr %.sroa.5614.0..sroa_idx, align 4 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) - store i32 %.sroa.4613.0.copyload, ptr %77, align 4 - store i32 %.sroa.5614.0.copyload, ptr %79, align 4 %555 = icmp eq ptr %554, %513 br i1 %555, label %._crit_edge1420, label %544 @@ -94685,7 +94682,7 @@ define internal fastcc void @_ZN6hir_ty3mir5lower11MirLowerCtx11lower_const17h4c } ; Function Attrs: nonlazybind uwtable -define internal fastcc void @_ZN6hir_ty3mir5lower11MirLowerCtx22lower_const_to_operand17h94aa3e397b48f278E(ptr noalias noundef nonnull writeonly align 8 captures(none) dereferenceable(32) %0, ptr %.296.val, ptr readonly %.304.val, ptr noundef nonnull %1, i32 noundef %2, i32 noundef %3, ptr noundef nonnull %4) unnamed_addr #5 personality ptr @rust_eh_personality { +define internal fastcc void @_ZN6hir_ty3mir5lower11MirLowerCtx22lower_const_to_operand17h94aa3e397b48f278E(ptr noalias noundef nonnull writeonly align 8 captures(none) dereferenceable(32) %0, ptr %.296.val, ptr readonly captures(address_is_null) %.304.val, ptr noundef nonnull %1, i32 noundef %2, i32 noundef %3, ptr noundef nonnull %4) unnamed_addr #5 personality ptr @rust_eh_personality { %6 = alloca { [1 x i64], i64, [1 x i64] }, align 8 %7 = alloca { i8, [39 x i8] }, align 8 %8 = alloca { { { i64, ptr, {} }, i64 } }, align 8 @@ -96284,7 +96281,7 @@ _ZN6hir_ty3mir5lower11MirLowerCtx14set_terminator17h28f52896600675faE.exit: ; pr } ; Function Attrs: nonlazybind uwtable -define internal fastcc noundef nonnull ptr @_ZN6hir_ty3mir5lower11MirLowerCtx22expr_ty_without_adjust17hd9e15d38bc986813E(ptr readonly %.320.val, i32 noundef %0) unnamed_addr #5 { +define internal fastcc noundef nonnull ptr @_ZN6hir_ty3mir5lower11MirLowerCtx22expr_ty_without_adjust17hd9e15d38bc986813E(ptr readonly captures(address_is_null) %.320.val, i32 noundef %0) unnamed_addr #5 { %2 = icmp ne ptr %.320.val, null tail call void @llvm.assume(i1 %2) tail call void @llvm.experimental.noalias.scope.decl(metadata !24746) @@ -97521,7 +97518,7 @@ define internal fastcc void @_ZN6hir_ty3mir5lower11MirLowerCtx17resolve_lang_ite } ; Function Attrs: nonlazybind uwtable -define internal fastcc void @_ZN6hir_ty3mir5lower11MirLowerCtx20lower_block_to_place17h16f8d2fc84a8bda6E(ptr noalias noundef nonnull writeonly align 8 captures(none) dereferenceable(32) %0, ptr noalias noundef nonnull align 8 dereferenceable(344) %1, ptr noalias noundef nonnull readonly align 8 %2, i64 noundef %3, i32 noundef %4, i32 noundef range(i32 0, 2) %5, i32 %6, i32 noundef %7, i32 noundef %8, i32 noundef %9, i32 %10) unnamed_addr #5 personality ptr @rust_eh_personality { +define internal fastcc void @_ZN6hir_ty3mir5lower11MirLowerCtx20lower_block_to_place17h16f8d2fc84a8bda6E(ptr noalias noundef nonnull writeonly align 8 captures(none) dereferenceable(32) %0, ptr noalias noundef nonnull align 8 dereferenceable(344) %1, ptr noalias noundef nonnull readonly align 8 captures(address) %2, i64 noundef %3, i32 noundef %4, i32 noundef range(i32 0, 2) %5, i32 %6, i32 noundef %7, i32 noundef %8, i32 noundef %9, i32 %10) unnamed_addr #5 personality ptr @rust_eh_personality { %12 = alloca { [1 x i64], i64, [1 x i64] }, align 8 %13 = alloca { i64, [2 x i64] }, align 8 %14 = alloca { { i32, [1 x i32] }, { i8, [55 x i8] } }, align 8 @@ -99087,7 +99084,7 @@ _ZN5alloc3fmt6format17h7ead8f60e83381d7E.llvm.450774749160709717.exit: ; preds = } ; Function Attrs: nonlazybind uwtable -define internal fastcc void @_ZN6hir_ty3mir5lower11MirLowerCtx36emit_drop_and_storage_dead_for_scope17h248e22be84d33af5E(ptr noalias noundef nonnull align 8 dereferenceable(344) %0, ptr readonly %.8.val, i64 %.16.val, ptr noalias noundef nonnull align 4 captures(none) dereferenceable(4) %1, i32 noundef %2, i32 %3) unnamed_addr #5 personality ptr @rust_eh_personality { +define internal fastcc void @_ZN6hir_ty3mir5lower11MirLowerCtx36emit_drop_and_storage_dead_for_scope17h248e22be84d33af5E(ptr noalias noundef nonnull align 8 dereferenceable(344) %0, ptr readonly captures(address) %.8.val, i64 %.16.val, ptr noalias noundef nonnull align 4 captures(none) dereferenceable(4) %1, i32 noundef %2, i32 %3) unnamed_addr #5 personality ptr @rust_eh_personality { %5 = alloca { [20 x i32], i32, [3 x i32] }, align 16 %6 = alloca { { [20 x i32], i32, [3 x i32] }, { { i64, ptr, {} }, i64 }, i8, [7 x i8] }, align 16 %7 = alloca { { i32, [1 x i32] }, { i8, [55 x i8] } }, align 8 diff --git a/bench/simdjson/optimized/simdjson.ll b/bench/simdjson/optimized/simdjson.ll index d144bec3a25..e913eb8875d 100644 --- a/bench/simdjson/optimized/simdjson.ll +++ b/bench/simdjson/optimized/simdjson.ll @@ -848,7 +848,7 @@ if.end115: ; preds = %if.end81, %while.en } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local void @_ZN8simdjson8internal13parse_decimalERPKcS2_(ptr noalias writeonly sret(%"struct.simdjson::internal::decimal") align 4 captures(none) initializes((0, 8), (9, 10)) %agg.result, ptr noundef nonnull align 8 captures(none) dereferenceable(8) %p, ptr noundef readnone %end) local_unnamed_addr #2 { +define dso_local void @_ZN8simdjson8internal13parse_decimalERPKcS2_(ptr noalias writeonly sret(%"struct.simdjson::internal::decimal") align 4 captures(none) initializes((0, 8), (9, 10)) %agg.result, ptr noundef nonnull align 8 captures(none) dereferenceable(8) %p, ptr noundef readnone captures(address) %end) local_unnamed_addr #2 { entry: store i32 0, ptr %agg.result, align 4 %decimal_point = getelementptr inbounds nuw i8, ptr %agg.result, i64 4 @@ -1602,7 +1602,7 @@ declare void @_ZSt9terminatev() local_unnamed_addr #7 declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #8 ; Function Attrs: mustprogress nounwind uwtable -define dso_local noundef double @_ZN8simdjson8internal10from_charsEPKcS2_(ptr noundef %first, ptr noundef %end) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define dso_local noundef double @_ZN8simdjson8internal10from_charsEPKcS2_(ptr noundef %first, ptr noundef captures(address) %end) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { entry: %first.addr.i = alloca ptr, align 8 %d.i = alloca %"struct.simdjson::internal::decimal", align 4 @@ -4042,14 +4042,14 @@ _ZN8simdjson8fallback12_GLOBAL__N_16stage212tape_builder14parse_documentILb1EEEN } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_ZNK8simdjson8fallback25dom_parser_implementation12parse_stringEPKhPhb(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef %dst, i1 noundef zeroext %replacement_char) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef ptr @_ZNK8simdjson8fallback25dom_parser_implementation12parse_stringEPKhPhb(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef captures(ret: address, provenance) %dst, i1 noundef zeroext %replacement_char) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %call = tail call fastcc noundef ptr @_ZN8simdjson8fallback12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef %src, ptr noundef %dst, i1 noundef zeroext %replacement_char) ret ptr %call } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc noundef ptr @_ZN8simdjson8fallback12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef readonly captures(none) %src, ptr noundef writeonly %dst, i1 noundef zeroext %allow_replacement) unnamed_addr #4 { +define internal fastcc noundef ptr @_ZN8simdjson8fallback12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef readonly captures(none) %src, ptr noundef writeonly captures(ret: address, provenance) %dst, i1 noundef zeroext %allow_replacement) unnamed_addr #4 { entry: br label %while.body @@ -4268,7 +4268,7 @@ return: ; preds = %if.else23.i.i, %whi } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_ZNK8simdjson8fallback25dom_parser_implementation19parse_wobbly_stringEPKhPh(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef writeonly %dst) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef ptr @_ZNK8simdjson8fallback25dom_parser_implementation19parse_wobbly_stringEPKhPh(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef writeonly captures(ret: address, provenance) %dst) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: br label %while.body.i @@ -6038,14 +6038,14 @@ _ZN8simdjson7haswell12_GLOBAL__N_16stage212tape_builder14parse_documentILb1EEENS } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_ZNK8simdjson7haswell25dom_parser_implementation12parse_stringEPKhPhb(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef initializes((0, 32)) %dst, i1 noundef zeroext %replacement_char) unnamed_addr #20 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef ptr @_ZNK8simdjson7haswell25dom_parser_implementation12parse_stringEPKhPhb(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef captures(ret: address, provenance) initializes((0, 32)) %dst, i1 noundef zeroext %replacement_char) unnamed_addr #20 align 2 personality ptr @__gxx_personality_v0 { entry: %call = tail call fastcc noundef ptr @_ZN8simdjson7haswell12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef %src, ptr noundef %dst, i1 noundef zeroext %replacement_char) ret ptr %call } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc noundef ptr @_ZN8simdjson7haswell12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef readonly captures(none) %src, ptr noundef writeonly initializes((0, 32)) %dst, i1 noundef zeroext %allow_replacement) unnamed_addr #19 { +define internal fastcc noundef ptr @_ZN8simdjson7haswell12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef readonly captures(none) %src, ptr noundef writeonly captures(ret: address, provenance) initializes((0, 32)) %dst, i1 noundef zeroext %allow_replacement) unnamed_addr #19 { entry: %.val57 = load <4 x i64>, ptr %src, align 1 store <4 x i64> %.val57, ptr %dst, align 1 @@ -6308,7 +6308,7 @@ return: ; preds = %if.else23.i.i, %if. } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_ZNK8simdjson7haswell25dom_parser_implementation19parse_wobbly_stringEPKhPh(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef writeonly initializes((0, 32)) %dst) unnamed_addr #19 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef ptr @_ZNK8simdjson7haswell25dom_parser_implementation19parse_wobbly_stringEPKhPh(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef writeonly captures(ret: address, provenance) initializes((0, 32)) %dst) unnamed_addr #19 align 2 personality ptr @__gxx_personality_v0 { entry: %.val52.i = load <4 x i64>, ptr %src, align 1 store <4 x i64> %.val52.i, ptr %dst, align 1 @@ -8240,14 +8240,14 @@ _ZN8simdjson7icelake12_GLOBAL__N_16stage212tape_builder14parse_documentILb1EEENS } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_ZNK8simdjson7icelake25dom_parser_implementation12parse_stringEPKhPhb(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef initializes((0, 64)) %dst, i1 noundef zeroext %replacement_char) unnamed_addr #24 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef ptr @_ZNK8simdjson7icelake25dom_parser_implementation12parse_stringEPKhPhb(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef captures(ret: address, provenance) initializes((0, 64)) %dst, i1 noundef zeroext %replacement_char) unnamed_addr #24 align 2 personality ptr @__gxx_personality_v0 { entry: %call = tail call fastcc noundef ptr @_ZN8simdjson7icelake12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef %src, ptr noundef %dst, i1 noundef zeroext %replacement_char) ret ptr %call } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc noundef ptr @_ZN8simdjson7icelake12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef readonly captures(none) %src, ptr noundef writeonly initializes((0, 64)) %dst, i1 noundef zeroext %allow_replacement) unnamed_addr #22 { +define internal fastcc noundef ptr @_ZN8simdjson7icelake12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef readonly captures(none) %src, ptr noundef writeonly captures(ret: address, provenance) initializes((0, 64)) %dst, i1 noundef zeroext %allow_replacement) unnamed_addr #22 { entry: %.val61 = load <8 x i64>, ptr %src, align 1 store <8 x i64> %.val61, ptr %dst, align 1 @@ -8506,7 +8506,7 @@ return: ; preds = %if.else23.i.i, %if. } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_ZNK8simdjson7icelake25dom_parser_implementation19parse_wobbly_stringEPKhPh(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef writeonly initializes((0, 64)) %dst) unnamed_addr #22 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef ptr @_ZNK8simdjson7icelake25dom_parser_implementation19parse_wobbly_stringEPKhPh(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef writeonly captures(ret: address, provenance) initializes((0, 64)) %dst) unnamed_addr #22 align 2 personality ptr @__gxx_personality_v0 { entry: %.val56.i = load <8 x i64>, ptr %src, align 1 store <8 x i64> %.val56.i, ptr %dst, align 1 @@ -10771,14 +10771,14 @@ _ZN8simdjson8westmere12_GLOBAL__N_16stage212tape_builder14parse_documentILb1EEEN } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_ZNK8simdjson8westmere25dom_parser_implementation12parse_stringEPKhPhb(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef %dst, i1 noundef zeroext %replacement_char) unnamed_addr #28 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef ptr @_ZNK8simdjson8westmere25dom_parser_implementation12parse_stringEPKhPhb(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef captures(ret: address, provenance) %dst, i1 noundef zeroext %replacement_char) unnamed_addr #28 align 2 personality ptr @__gxx_personality_v0 { entry: %call = tail call fastcc noundef ptr @_ZN8simdjson8westmere12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef %src, ptr noundef %dst, i1 noundef zeroext %replacement_char) ret ptr %call } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc noundef ptr @_ZN8simdjson8westmere12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef readonly captures(none) %src, ptr noundef writeonly %dst, i1 noundef zeroext %allow_replacement) unnamed_addr #26 { +define internal fastcc noundef ptr @_ZN8simdjson8westmere12_GLOBAL__N_113stringparsing12parse_stringEPKhPhb(ptr noundef readonly captures(none) %src, ptr noundef writeonly captures(ret: address, provenance) %dst, i1 noundef zeroext %allow_replacement) unnamed_addr #26 { entry: br label %while.body @@ -11035,7 +11035,7 @@ return: ; preds = %if.else23.i.i, %if. } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_ZNK8simdjson8westmere25dom_parser_implementation19parse_wobbly_stringEPKhPh(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef writeonly %dst) unnamed_addr #26 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef ptr @_ZNK8simdjson8westmere25dom_parser_implementation19parse_wobbly_stringEPKhPh(ptr nonnull readnone align 8 captures(none) %this, ptr noundef readonly captures(none) %src, ptr noundef writeonly captures(ret: address, provenance) %dst) unnamed_addr #26 align 2 personality ptr @__gxx_personality_v0 { entry: br label %while.body.i diff --git a/bench/soc-simulator/optimized/verilated.ll b/bench/soc-simulator/optimized/verilated.ll index 7602508b643..0643f77300f 100644 --- a/bench/soc-simulator/optimized/verilated.ll +++ b/bench/soc-simulator/optimized/verilated.ll @@ -3315,7 +3315,7 @@ define dso_local noundef i64 @_ZNK19VerilatedContextImp17randSeedDefault64Ev(ptr } ; Function Attrs: mustprogress uwtable -define dso_local noundef ptr @_Z11VL_RANDOM_WiPj(i32 noundef %0, ptr noundef returned writeonly %1) #0 { +define dso_local noundef ptr @_Z11VL_RANDOM_WiPj(i32 noundef %0, ptr noundef returned writeonly captures(ret: address, provenance) %1) #0 { %3 = icmp sgt i32 %0, 0 br i1 %3, label %.lr.ph.preheader, label %._crit_edge @@ -3370,7 +3370,7 @@ define linkonce_odr dso_local noundef i64 @_Z9vl_rand64v() #0 comdat { } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_Z15VL_RANDOM_RNG_WR5VlRNGiPj(ptr noundef nonnull align 8 captures(none) dereferenceable(16) %0, i32 noundef %1, ptr noundef returned writeonly %2) #15 { +define dso_local noundef ptr @_Z15VL_RANDOM_RNG_WR5VlRNGiPj(ptr noundef nonnull align 8 captures(none) dereferenceable(16) %0, i32 noundef %1, ptr noundef returned writeonly captures(ret: address, provenance) %2) #15 { %4 = icmp sgt i32 %1, 0 br i1 %4, label %.lr.ph, label %._crit_edge @@ -3874,7 +3874,7 @@ define linkonce_odr dso_local noundef i64 @_Z11VL_RANDOM_Qv() #0 comdat { } ; Function Attrs: mustprogress uwtable -define dso_local noundef ptr @_Z15VL_RAND_RESET_WiPj(i32 noundef %0, ptr noundef returned writeonly %1) #0 { +define dso_local noundef ptr @_Z15VL_RAND_RESET_WiPj(i32 noundef %0, ptr noundef returned writeonly captures(ret: address, provenance) %1) #0 { %3 = add nsw i32 %0, 31 %4 = sdiv i32 %3, 32 %5 = add nsw i32 %4, -1 @@ -3910,7 +3910,7 @@ define dso_local noundef ptr @_Z15VL_RAND_RESET_WiPj(i32 noundef %0, ptr noundef } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define dso_local noundef ptr @_Z15VL_ZERO_RESET_WiPj(i32 noundef %0, ptr noundef returned writeonly %1) #13 { +define dso_local noundef ptr @_Z15VL_ZERO_RESET_WiPj(i32 noundef %0, ptr noundef returned writeonly captures(ret: address, provenance) %1) #13 { %3 = add nsw i32 %0, 31 %4 = sdiv i32 %3, 32 %5 = sext i32 %4 to i64 @@ -3920,7 +3920,7 @@ define dso_local noundef ptr @_Z15VL_ZERO_RESET_WiPj(i32 noundef %0, ptr noundef } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define internal noundef ptr @_ZL9VL_ZERO_WiPj(i32 noundef %0, ptr noundef returned writeonly %1) #13 { +define internal noundef ptr @_ZL9VL_ZERO_WiPj(i32 noundef %0, ptr noundef returned writeonly captures(ret: address, provenance) %1) #13 { %3 = add nsw i32 %0, 31 %4 = sdiv i32 %3, 32 %5 = sext i32 %4 to i64 @@ -3958,7 +3958,7 @@ define dso_local void @_Z17_vl_debug_print_wiPKj(i32 noundef %0, ptr noundef rea } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_Z12_vl_moddiv_wiPjPKjS1_b(i32 noundef %0, ptr noundef returned writeonly %1, ptr noundef readonly captures(none) %2, ptr noundef readonly captures(none) %3, i1 noundef zeroext %4) #15 { +define dso_local noundef ptr @_Z12_vl_moddiv_wiPjPKjS1_b(i32 noundef %0, ptr noundef returned writeonly captures(ret: address, provenance) %1, ptr noundef readonly captures(none) %2, ptr noundef readonly captures(none) %3, i1 noundef zeroext %4) #15 { %6 = alloca [129 x i32], align 16 %7 = alloca [129 x i32], align 16 %8 = add nsw i32 %0, 31 @@ -4448,7 +4448,7 @@ define internal noundef range(i32 0, -2147483648) i32 @_ZL17VL_MOSTSETBITP1_WiPK } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_Z10VL_POW_WWWiiiPjPKjS1_(i32 noundef %0, i32 %1, i32 noundef %2, ptr noundef returned initializes((0, 4)) %3, ptr noundef readonly captures(none) %4, ptr noundef readonly captures(none) %5) #15 { +define dso_local noundef ptr @_Z10VL_POW_WWWiiiPjPKjS1_(i32 noundef %0, i32 %1, i32 noundef %2, ptr noundef returned captures(ret: address, provenance) initializes((0, 4)) %3, ptr noundef readonly captures(none) %4, ptr noundef readonly captures(none) %5) #15 { %7 = alloca %struct.VlWide, align 4 %8 = alloca %struct.VlWide, align 4 %9 = alloca %struct.VlWide, align 4 @@ -4614,7 +4614,7 @@ _ZL8VL_MUL_WiPjPKjS1_.exit44: ; preds = %._crit_edge39.us.i3 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL11VL_ASSIGN_WiPjPKj(i32 noundef %0, ptr noundef returned writeonly %1, ptr noundef readonly captures(none) %2) #12 { +define internal noundef ptr @_ZL11VL_ASSIGN_WiPjPKj(i32 noundef %0, ptr noundef returned writeonly captures(ret: address, provenance) %1, ptr noundef readonly captures(none) %2) #12 { %4 = add nsw i32 %0, 31 %5 = sdiv i32 %4, 32 %6 = sext i32 %5 to i64 @@ -4629,7 +4629,7 @@ define linkonce_odr dso_local noundef ptr @_ZN6VlWideILm128EEcvPjEv(ptr noundef } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL8VL_MUL_WiPjPKjS1_(i32 noundef %0, ptr noundef returned %1, ptr noundef readonly captures(none) %2, ptr noundef readonly captures(none) %3) #15 { +define internal noundef ptr @_ZL8VL_MUL_WiPjPKjS1_(i32 noundef %0, ptr noundef returned captures(ret: address, provenance) %1, ptr noundef readonly captures(none) %2, ptr noundef readonly captures(none) %3) #15 { %5 = icmp sgt i32 %0, 0 br i1 %5, label %.preheader.us.preheader, label %._crit_edge41 @@ -4692,7 +4692,7 @@ define internal noundef ptr @_ZL8VL_MUL_WiPjPKjS1_(i32 noundef %0, ptr noundef r } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_Z10VL_POW_WWQiiiPjPKjm(i32 noundef %0, i32 %1, i32 noundef %2, ptr noundef returned initializes((0, 4)) %3, ptr noundef readonly captures(none) %4, i64 noundef %5) #15 { +define dso_local noundef ptr @_Z10VL_POW_WWQiiiPjPKjm(i32 noundef %0, i32 %1, i32 noundef %2, ptr noundef returned captures(ret: address, provenance) initializes((0, 4)) %3, ptr noundef readonly captures(none) %4, i64 noundef %5) #15 { %7 = alloca %struct.VlWide.34, align 4 %8 = trunc i64 %5 to i32 store i32 %8, ptr %7, align 4 @@ -4771,7 +4771,7 @@ define dso_local noundef i64 @_Z10VL_POW_QQWiiimPKj(i32 %0, i32 %1, i32 noundef } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_Z12VL_POWSS_WWWiiiPjPKjS1_bb(i32 noundef %0, i32 %1, i32 noundef %2, ptr noundef returned %3, ptr noundef readonly captures(none) %4, ptr noundef readonly captures(none) %5, i1 noundef zeroext %6, i1 noundef zeroext %7) #15 { +define dso_local noundef ptr @_Z12VL_POWSS_WWWiiiPjPKjS1_bb(i32 noundef %0, i32 %1, i32 noundef %2, ptr noundef returned captures(ret: address, provenance) %3, ptr noundef readonly captures(none) %4, ptr noundef readonly captures(none) %5, i1 noundef zeroext %6, i1 noundef zeroext %7) #15 { br i1 %7, label %9, label %53 9: ; preds = %8 @@ -4875,7 +4875,7 @@ define dso_local noundef ptr @_Z12VL_POWSS_WWWiiiPjPKjS1_bb(i32 noundef %0, i32 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define internal noundef ptr @_ZL12VL_ALLONES_WiPj(i32 noundef %0, ptr noundef returned writeonly %1) #13 { +define internal noundef ptr @_ZL12VL_ALLONES_WiPj(i32 noundef %0, ptr noundef returned writeonly captures(ret: address, provenance) %1) #13 { %3 = add nsw i32 %0, 31 %4 = sdiv i32 %3, 32 %5 = add nsw i32 %4, -1 @@ -4893,7 +4893,7 @@ define internal noundef ptr @_ZL12VL_ALLONES_WiPj(i32 noundef %0, ptr noundef re } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define dso_local noundef ptr @_Z12VL_POWSS_WWQiiiPjPKjmbb(i32 noundef %0, i32 %1, i32 noundef %2, ptr noundef returned %3, ptr noundef readonly captures(none) %4, i64 noundef %5, i1 noundef zeroext %6, i1 noundef zeroext %7) #15 { +define dso_local noundef ptr @_Z12VL_POWSS_WWQiiiPjPKjmbb(i32 noundef %0, i32 %1, i32 noundef %2, ptr noundef returned captures(ret: address, provenance) %3, ptr noundef readonly captures(none) %4, i64 noundef %5, i1 noundef zeroext %6, i1 noundef zeroext %7) #15 { %9 = alloca %struct.VlWide.34, align 4 %10 = trunc i64 %5 to i32 store i32 %10, ptr %9, align 4 @@ -5235,7 +5235,7 @@ _Z11VL_ITOR_D_WiPKj.exit: ; preds = %28, %25, %22, %_Z11 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL11VL_NEGATE_WiPjPKj(i32 noundef %0, ptr noundef returned writeonly %1, ptr noundef readonly captures(none) %2) #15 { +define internal noundef ptr @_ZL11VL_NEGATE_WiPjPKj(i32 noundef %0, ptr noundef returned writeonly captures(ret: address, provenance) %1, ptr noundef readonly captures(none) %2) #15 { %4 = icmp sgt i32 %0, 0 br i1 %4, label %.lr.ph.preheader, label %._crit_edge @@ -5265,7 +5265,7 @@ define internal noundef ptr @_ZL11VL_NEGATE_WiPjPKj(i32 noundef %0, ptr noundef } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL19_vl_clean_inplace_wiPj(i32 noundef %0, ptr noundef returned %1) #12 { +define internal noundef ptr @_ZL19_vl_clean_inplace_wiPj(i32 noundef %0, ptr noundef returned captures(ret: address, provenance) %1) #12 { %3 = add nsw i32 %0, 31 %4 = sdiv i32 %3, 32 %5 = and i32 %0, 31 @@ -5578,7 +5578,7 @@ define linkonce_odr dso_local noundef ptr @_ZN6VlWideILm2050EEcvPjEv(ptr noundef } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL8VL_ADD_WiPjPKjS1_(i32 noundef %0, ptr noundef returned writeonly %1, ptr noundef readonly captures(none) %2, ptr noundef readonly captures(none) %3) #15 { +define internal noundef ptr @_ZL8VL_ADD_WiPjPKjS1_(i32 noundef %0, ptr noundef returned writeonly captures(ret: address, provenance) %1, ptr noundef readonly captures(none) %2, ptr noundef readonly captures(none) %3) #15 { %5 = icmp sgt i32 %0, 0 br i1 %5, label %.lr.ph.preheader, label %._crit_edge @@ -5610,7 +5610,7 @@ define internal noundef ptr @_ZL8VL_ADD_WiPjPKjS1_(i32 noundef %0, ptr noundef r } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL13VL_SHIFTL_WWIiiiPjPKjj(i32 noundef %0, i32 %1, i32 %2, ptr noundef returned %3, ptr noundef readonly captures(none) %4, i32 noundef %5) #15 { +define internal noundef ptr @_ZL13VL_SHIFTL_WWIiiiPjPKjj(i32 noundef %0, i32 %1, i32 %2, ptr noundef returned captures(ret: address, provenance) %3, ptr noundef readonly captures(none) %4, i32 noundef %5) #15 { %7 = lshr i32 %5, 5 %.not = icmp ult i32 %5, %0 br i1 %.not, label %13, label %.preheader41 @@ -12425,7 +12425,7 @@ define internal void @_ZL15_vl_vsss_setbitPjiiij(ptr noundef captures(none) %0, } ; Function Attrs: mustprogress uwtable -define dso_local noundef i32 @_Z11_vl_vsscanfP8_IO_FILEiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_P13__va_list_tag(ptr noundef %0, i32 noundef %1, ptr noundef %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %3, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %4, ptr noundef captures(none) %5) #0 personality ptr @__gxx_personality_v0 { +define dso_local noundef i32 @_Z11_vl_vsscanfP8_IO_FILEiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_P13__va_list_tag(ptr noundef captures(address_is_null) %0, i32 noundef %1, ptr noundef captures(address_is_null) %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %3, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %4, ptr noundef captures(none) %5) #0 personality ptr @__gxx_personality_v0 { %7 = alloca %"class.std::allocator", align 1 %8 = alloca i32, align 4 %9 = alloca %struct.VlWide.34, align 4 @@ -13504,7 +13504,7 @@ _ZL16_vl_vsss_advanceP8_IO_FILERi.exit: ; preds = %110, %.thread, %79, } ; Function Attrs: mustprogress nofree nounwind uwtable -define internal noundef zeroext i1 @_ZL12_vl_vsss_eofP8_IO_FILEi(ptr noundef %0, i32 noundef %1) #17 { +define internal noundef zeroext i1 @_ZL12_vl_vsss_eofP8_IO_FILEi(ptr noundef captures(address_is_null) %0, i32 noundef %1) #17 { %.not = icmp eq ptr %0, null br i1 %.not, label %6, label %3 @@ -13526,7 +13526,7 @@ define internal noundef zeroext i1 @_ZL12_vl_vsss_eofP8_IO_FILEi(ptr noundef %0, declare i32 @isspace(i32 noundef) local_unnamed_addr #19 ; Function Attrs: mustprogress nofree nounwind uwtable -define internal void @_ZL18_vl_vsss_skipspaceP8_IO_FILERiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %1, ptr noundef readonly %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %3) #17 { +define internal void @_ZL18_vl_vsss_skipspaceP8_IO_FILERiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef captures(address_is_null) %0, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %1, ptr noundef readonly captures(address_is_null) %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %3) #17 { %5 = getelementptr inbounds nuw i8, ptr %3, i64 8 %.not.i = icmp eq ptr %0, null %6 = icmp eq ptr %2, null @@ -13611,7 +13611,7 @@ _ZL13_vl_vsss_peekP8_IO_FILERiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcE } ; Function Attrs: mustprogress nofree nounwind uwtable -define internal noundef i32 @_ZL13_vl_vsss_peekP8_IO_FILERiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %1, ptr noundef readonly %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %3) #17 { +define internal noundef i32 @_ZL13_vl_vsss_peekP8_IO_FILERiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef captures(address_is_null) %0, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %1, ptr noundef readonly captures(address_is_null) %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %3) #17 { %.not = icmp eq ptr %0, null br i1 %.not, label %10, label %5 @@ -13664,7 +13664,7 @@ define internal noundef i32 @_ZL13_vl_vsss_peekP8_IO_FILERiPKjRKNSt7__cxx1112bas } ; Function Attrs: mustprogress nofree nounwind uwtable -define internal void @_ZL16_vl_vsss_advanceP8_IO_FILERi(ptr noundef %0, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %1) #17 { +define internal void @_ZL16_vl_vsss_advanceP8_IO_FILERi(ptr noundef captures(address_is_null) %0, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %1) #17 { %.not = icmp eq ptr %0, null br i1 %.not, label %5, label %3 @@ -13683,7 +13683,7 @@ define internal void @_ZL16_vl_vsss_advanceP8_IO_FILERi(ptr noundef %0, ptr noun } ; Function Attrs: mustprogress nofree nounwind uwtable -define internal void @_ZL17_vl_vsss_read_strP8_IO_FILERiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPcPKc(ptr noundef %0, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %1, ptr noundef readonly %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %3, ptr noundef writeonly captures(none) %4, ptr noundef readonly %5) #17 { +define internal void @_ZL17_vl_vsss_read_strP8_IO_FILERiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPcPKc(ptr noundef captures(address_is_null) %0, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %1, ptr noundef readonly captures(address_is_null) %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %3, ptr noundef writeonly captures(none) %4, ptr noundef readonly %5) #17 { %7 = getelementptr inbounds nuw i8, ptr %3, i64 8 %.not.i = icmp eq ptr %0, null %8 = icmp eq ptr %2, null @@ -13895,7 +13895,7 @@ declare noundef i32 @__isoc99_sscanf(ptr noundef readonly captures(none), ptr no declare double @strtod(ptr noundef readonly, ptr noundef captures(none)) local_unnamed_addr #21 ; Function Attrs: mustprogress nofree nounwind uwtable -define internal noundef ptr @_ZL17_vl_vsss_read_binP8_IO_FILERiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPcmb(ptr noundef %0, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %1, ptr noundef readonly %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %3, ptr noundef writeonly %4, i64 noundef %5, i1 noundef zeroext %6) #17 { +define internal noundef ptr @_ZL17_vl_vsss_read_binP8_IO_FILERiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPcmb(ptr noundef captures(address_is_null) %0, ptr noundef nonnull align 4 captures(none) dereferenceable(4) %1, ptr noundef readonly captures(address_is_null) %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %3, ptr noundef writeonly captures(ret: address, provenance) %4, i64 noundef %5, i1 noundef zeroext %6) #17 { %8 = getelementptr inbounds nuw i8, ptr %3, i64 8 %9 = add i64 %5, -1 %.not21 = icmp eq i64 %5, 0 @@ -14254,7 +14254,7 @@ _ZN19VerilatedContextImp10fdToFpListEj.exit.thread8: ; preds = %_ZN19VerilatedCo } ; Function Attrs: mustprogress nofree nounwind memory(read, argmem: readwrite) uwtable -define dso_local void @_Z18_vl_vint_to_stringiPcPKj(i32 noundef %0, ptr noundef %1, ptr noundef readonly captures(none) %2) #18 { +define dso_local void @_Z18_vl_vint_to_stringiPcPKj(i32 noundef %0, ptr noundef captures(address) %1, ptr noundef readonly captures(none) %2) #18 { %4 = icmp sgt i32 %0, 0 br i1 %4, label %.lr.ph, label %._crit_edge.thread @@ -14677,7 +14677,7 @@ _ZL7getLineRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjm.exit: ; preds } ; Function Attrs: mustprogress uwtable -define dso_local noundef i32 @_Z12VL_FERROR_INjRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 %0, ptr noundef nonnull align 8 dereferenceable(32) %1) #0 personality ptr @__gxx_personality_v0 { +define dso_local noundef i32 @_Z12VL_FERROR_INjRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 %0, ptr noundef nonnull align 8 captures(address) dereferenceable(32) %1) #0 personality ptr @__gxx_personality_v0 { %3 = alloca %"class.std::__cxx11::basic_string", align 8 %4 = alloca %"class.std::allocator", align 1 %5 = tail call ptr @__errno_location() #58 @@ -17031,7 +17031,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS } ; Function Attrs: mustprogress uwtable -define dso_local noundef i32 @_Z14VL_SSCANF_IWNXiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiz(i32 noundef %0, ptr noundef %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %2, i32 %3, ...) #0 personality ptr @__gxx_personality_v0 { +define dso_local noundef i32 @_Z14VL_SSCANF_IWNXiPKjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiz(i32 noundef %0, ptr noundef captures(address_is_null) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %2, i32 %3, ...) #0 personality ptr @__gxx_personality_v0 { %5 = alloca [1 x %struct.__va_list_tag], align 16 %6 = alloca %"class.std::__cxx11::basic_string", align 8 %7 = alloca %"class.std::allocator", align 1 @@ -18455,7 +18455,7 @@ define internal noundef i64 @_ZL10VL_CVT_Q_Dd(double noundef %0) #14 { } ; Function Attrs: mustprogress uwtable -define dso_local noundef range(i32 0, 2) i32 @_Z20VL_VALUEPLUSARGS_INNiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS4_(i32 %0, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #0 personality ptr @__gxx_personality_v0 { +define dso_local noundef range(i32 0, 2) i32 @_Z20VL_VALUEPLUSARGS_INNiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS4_(i32 %0, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %1, ptr noundef nonnull align 8 captures(address) dereferenceable(32) %2) #0 personality ptr @__gxx_personality_v0 { %4 = alloca %"class.std::allocator", align 1 %5 = alloca %"class.std::__cxx11::basic_string", align 8 %6 = alloca %"class.std::__cxx11::basic_string", align 8 @@ -22799,7 +22799,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit13: ; preds = %_ZN } ; Function Attrs: mustprogress uwtable -define dso_local void @_ZN16VerilatedContext10checkMagicEPKS_(ptr noundef readonly %0) local_unnamed_addr #0 align 2 { +define dso_local void @_ZN16VerilatedContext10checkMagicEPKS_(ptr noundef readonly captures(address_is_null) %0) local_unnamed_addr #0 align 2 { %.not = icmp eq ptr %0, null br i1 %.not, label %.critedge, label %2 @@ -25786,7 +25786,7 @@ _ZN18VerilatedLockGuardC2ER14VerilatedMutex.exit._crit_edge: ; preds = %_ZN18Ver } ; Function Attrs: mustprogress uwtable -define dso_local noundef zeroext i1 @_ZN19VerilatedContextImp18commandArgVlStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_RS5_(ptr nonnull readnone align 8 captures(none) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %3) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { +define dso_local noundef zeroext i1 @_ZN19VerilatedContextImp18commandArgVlStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_RS5_(ptr nonnull readnone align 8 captures(none) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(32) %2, ptr noundef nonnull align 8 captures(address) dereferenceable(32) %3) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca %"class.std::__cxx11::basic_string", align 8 %6 = getelementptr inbounds nuw i8, ptr %2, i64 8 %7 = load i64, ptr %6, align 8 @@ -28272,13 +28272,13 @@ _ZNSt7__cxx114listISt4pairIPFvPvES2_ESaIS5_EE6spliceESt20_List_const_iteratorIS5 } ; Function Attrs: mustprogress uwtable -define dso_local void @_ZN9Verilated13removeFlushCbEPFvPvES0_(ptr noundef %0, ptr noundef %1) #0 align 2 { +define dso_local void @_ZN9Verilated13removeFlushCbEPFvPvES0_(ptr noundef captures(address) %0, ptr noundef captures(address) %1) #0 align 2 { tail call void @_ZL13removeCbFlushPFvPvES_(ptr noundef %0, ptr noundef %1) ret void } ; Function Attrs: mustprogress uwtable -define internal void @_ZL13removeCbFlushPFvPvES_(ptr noundef readnone %0, ptr noundef readnone %1) #0 personality ptr @__gxx_personality_v0 { +define internal void @_ZL13removeCbFlushPFvPvES_(ptr noundef readnone captures(address) %0, ptr noundef readnone captures(address) %1) #0 personality ptr @__gxx_personality_v0 { %3 = alloca %"class.std::__cxx11::list", align 8 %4 = tail call noundef i32 @pthread_mutex_trylock(ptr noundef nonnull align 8 dereferenceable(40) @_ZL10VlCbStatic) #23 %.not.i.i.i.i = icmp eq i32 %4, 0 @@ -28373,7 +28373,7 @@ _ZNSt7__cxx114listISt4pairIPFvPvES2_ESaIS5_EE6spliceESt20_List_const_iteratorIS5 } ; Function Attrs: mustprogress uwtable -define internal void @_ZL12runCallbacksRKNSt7__cxx114listISt4pairIPFvPvES2_ESaIS5_EEE(ptr noundef nonnull readonly align 8 dereferenceable(24) %0) #0 personality ptr @__gxx_personality_v0 { +define internal void @_ZL12runCallbacksRKNSt7__cxx114listISt4pairIPFvPvES2_ESaIS5_EEE(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(24) %0) #0 personality ptr @__gxx_personality_v0 { %.sroa.05.08 = load ptr, ptr %0, align 8 %2 = icmp eq ptr %.sroa.05.08, %0 br i1 %2, label %._crit_edge, label %.lr.ph @@ -28518,13 +28518,13 @@ _ZNSt7__cxx114listISt4pairIPFvPvES2_ESaIS5_EE6spliceESt20_List_const_iteratorIS5 } ; Function Attrs: mustprogress uwtable -define dso_local void @_ZN9Verilated12removeExitCbEPFvPvES0_(ptr noundef %0, ptr noundef %1) #0 align 2 { +define dso_local void @_ZN9Verilated12removeExitCbEPFvPvES0_(ptr noundef captures(address) %0, ptr noundef captures(address) %1) #0 align 2 { tail call void @_ZL12removeCbExitPFvPvES_(ptr noundef %0, ptr noundef %1) ret void } ; Function Attrs: mustprogress uwtable -define internal void @_ZL12removeCbExitPFvPvES_(ptr noundef readnone %0, ptr noundef readnone %1) #0 personality ptr @__gxx_personality_v0 { +define internal void @_ZL12removeCbExitPFvPvES_(ptr noundef readnone captures(address) %0, ptr noundef readnone captures(address) %1) #0 personality ptr @__gxx_personality_v0 { %3 = alloca %"class.std::__cxx11::list", align 8 %4 = tail call noundef i32 @pthread_mutex_trylock(ptr noundef nonnull align 8 dereferenceable(40) getelementptr inbounds nuw (i8, ptr @_ZL10VlCbStatic, i64 64)) #23 %.not.i.i.i.i = icmp eq i32 %4, 0 @@ -29799,7 +29799,7 @@ define linkonce_odr dso_local noundef i32 @_ZNK17VerilatedVarProps5udimsEv(ptr n } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable -define dso_local noundef ptr @_ZNK17VerilatedVarProps16datapAdjustIndexEPvii(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(56) %0, ptr noundef readnone %1, i32 noundef %2, i32 noundef %3) #28 align 2 { +define dso_local noundef ptr @_ZNK17VerilatedVarProps16datapAdjustIndexEPvii(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(56) %0, ptr noundef readnone captures(ret: address, provenance) %1, i32 noundef %2, i32 noundef %3) #28 align 2 { %5 = icmp slt i32 %2, 1 br i1 %5, label %.critedge, label %6 @@ -33073,7 +33073,7 @@ declare void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnam declare void @_ZNSaIcEC1ERKS_(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #6 ; Function Attrs: alwaysinline mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define internal noundef ptr @_ZL16VL_MEMSET_ZERO_WPji(ptr noundef returned writeonly %0, i32 noundef %1) #42 { +define internal noundef ptr @_ZL16VL_MEMSET_ZERO_WPji(ptr noundef returned writeonly captures(ret: address, provenance) %0, i32 noundef %1) #42 { %3 = sext i32 %1 to i64 %4 = shl nsw i64 %3, 2 tail call void @llvm.memset.p0.i64(ptr align 4 %0, i8 0, i64 %4, i1 false) @@ -33081,7 +33081,7 @@ define internal noundef ptr @_ZL16VL_MEMSET_ZERO_WPji(ptr noundef returned write } ; Function Attrs: alwaysinline mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL11VL_MEMCPY_WPjPKji(ptr noundef returned writeonly %0, ptr noundef readonly captures(none) %1, i32 noundef %2) #43 { +define internal noundef ptr @_ZL11VL_MEMCPY_WPjPKji(ptr noundef returned writeonly captures(ret: address, provenance) %0, ptr noundef readonly captures(none) %1, i32 noundef %2) #43 { %4 = sext i32 %2 to i64 %5 = shl nsw i64 %4, 2 tail call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 %1, i64 %5, i1 false) @@ -33089,7 +33089,7 @@ define internal noundef ptr @_ZL11VL_MEMCPY_WPjPKji(ptr noundef returned writeon } ; Function Attrs: alwaysinline mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define internal noundef ptr @_ZL16VL_MEMSET_ONES_WPji(ptr noundef returned writeonly %0, i32 noundef %1) #42 { +define internal noundef ptr @_ZL16VL_MEMSET_ONES_WPji(ptr noundef returned writeonly captures(ret: address, provenance) %0, i32 noundef %1) #42 { %3 = sext i32 %1 to i64 %4 = shl nsw i64 %3, 2 tail call void @llvm.memset.p0.i64(ptr align 4 %0, i8 -1, i64 %4, i1 false) @@ -36022,7 +36022,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv.exit.i.i: ; pr } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define internal noundef ptr @_ZL12VL_EXTEND_WQiiPjm(i32 noundef %0, i32 %1, ptr noundef returned writeonly initializes((0, 8)) %2, i64 noundef %3) #13 { +define internal noundef ptr @_ZL12VL_EXTEND_WQiiPjm(i32 noundef %0, i32 %1, ptr noundef returned writeonly captures(ret: address, provenance) initializes((0, 8)) %2, i64 noundef %3) #13 { %5 = trunc i64 %3 to i32 store i32 %5, ptr %2, align 4 %6 = lshr i64 %3, 32 @@ -36074,7 +36074,7 @@ define internal noundef range(i32 -1, 2) i32 @_ZL9_vl_cmp_wiPKjS0_(i32 noundef % } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define internal noundef ptr @_ZL12VL_EXTEND_WIiiPjj(i32 noundef %0, i32 %1, ptr noundef returned writeonly initializes((0, 4)) %2, i32 noundef %3) #13 { +define internal noundef ptr @_ZL12VL_EXTEND_WIiiPjj(i32 noundef %0, i32 %1, ptr noundef returned writeonly captures(ret: address, provenance) initializes((0, 4)) %2, i32 noundef %3) #13 { store i32 %3, ptr %2, align 4 %5 = getelementptr inbounds nuw i8, ptr %2, i64 4 %6 = add nsw i32 %0, 31 diff --git a/bench/spdlog/optimized/spdlog.ll b/bench/spdlog/optimized/spdlog.ll index bcad4d563d6..a97f44528d4 100644 --- a/bench/spdlog/optimized/spdlog.ll +++ b/bench/spdlog/optimized/spdlog.ll @@ -4092,7 +4092,7 @@ declare noundef i32 @rename(ptr noundef readonly captures(none), ptr noundef rea declare noundef i32 @stat(ptr noundef readonly captures(none), ptr noundef captures(none)) local_unnamed_addr #13 ; Function Attrs: mustprogress uwtable -define dso_local noundef i64 @_ZN6spdlog7details2os8filesizeEP8_IO_FILE(ptr noundef %f) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define dso_local noundef i64 @_ZN6spdlog7details2os8filesizeEP8_IO_FILE(ptr noundef captures(address_is_null) %f) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { entry: %agg.tmp = alloca %"class.std::__cxx11::basic_string", align 8 %ref.tmp = alloca %"class.std::allocator", align 1 @@ -6339,7 +6339,7 @@ _ZNSt8functionIFvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEaSEOS9_ } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6spdlog6logger4nameB5cxx11Ev(ptr noundef nonnull readnone align 8 dereferenceable(208) %this) local_unnamed_addr #0 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK6spdlog6logger4nameB5cxx11Ev(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(208) %this) local_unnamed_addr #0 align 2 { entry: %name_ = getelementptr inbounds nuw i8, ptr %this, i64 8 ret ptr %name_ @@ -8002,7 +8002,7 @@ _ZNSt12__shared_ptrIN6spdlog7details11thread_poolELN9__gnu_cxx12_Lock_policyE2EE } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN6spdlog7details8registry8tp_mutexEv(ptr noundef nonnull readnone align 8 dereferenceable(336) %this) local_unnamed_addr #0 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN6spdlog7details8registry8tp_mutexEv(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(336) %this) local_unnamed_addr #0 align 2 { entry: %tp_mutex_ = getelementptr inbounds nuw i8, ptr %this, i64 80 ret ptr %tp_mutex_ @@ -8028,7 +8028,7 @@ _ZNSt10lock_guardISt5mutexEC2ERS0_.exit: ; preds = %entry } ; Function Attrs: mustprogress uwtable -define dso_local void @_ZN6spdlog7details8registry10set_levelsESt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_5level10level_enumESt4hashIS8_ESt8equal_toIS8_ESaISt4pairIKS8_SA_EEEPSA_(ptr noundef nonnull align 8 dereferenceable(336) %this, ptr noundef %levels, ptr noundef readonly %global_level) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { +define dso_local void @_ZN6spdlog7details8registry10set_levelsESt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_5level10level_enumESt4hashIS8_ESt8equal_toIS8_ESaISt4pairIKS8_SA_EEEPSA_(ptr noundef nonnull align 8 dereferenceable(336) %this, ptr noundef %levels, ptr noundef readonly captures(address_is_null) %global_level) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { entry: %call1.i.i.i = tail call noundef i32 @pthread_mutex_lock(ptr noundef nonnull align 8 dereferenceable(40) %this) #35 %tobool.not.i.i = icmp eq i32 %call1.i.i.i, 0 @@ -9549,14 +9549,14 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6spdlog6logger5sinksEv(ptr noundef nonnull readnone align 8 dereferenceable(208) %this) local_unnamed_addr #0 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNK6spdlog6logger5sinksEv(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(208) %this) local_unnamed_addr #0 align 2 { entry: %sinks_ = getelementptr inbounds nuw i8, ptr %this, i64 40 ret ptr %sinks_ } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN6spdlog6logger5sinksEv(ptr noundef nonnull readnone align 8 dereferenceable(208) %this) local_unnamed_addr #0 align 2 { +define dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZN6spdlog6logger5sinksEv(ptr noundef nonnull readnone align 8 captures(ret: address, provenance) dereferenceable(208) %this) local_unnamed_addr #0 align 2 { entry: %sinks_ = getelementptr inbounds nuw i8, ptr %this, i64 40 ret ptr %sinks_ @@ -11483,7 +11483,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local { i64, i64 } @_ZN6spdlog17pattern_formatter15handle_padspec_ERN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESB_(ptr noundef nonnull align 8 captures(none) dereferenceable(8) %it, ptr readnone %end.coerce) local_unnamed_addr #25 align 2 { +define dso_local { i64, i64 } @_ZN6spdlog17pattern_formatter15handle_padspec_ERN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESB_(ptr noundef nonnull align 8 captures(none) dereferenceable(8) %it, ptr readnone captures(address) %end.coerce) local_unnamed_addr #25 align 2 { entry: %0 = load ptr, ptr %it, align 8 %cmp.i = icmp eq ptr %0, %end.coerce diff --git a/bench/tinygltf/optimized/tiny_gltf.ll b/bench/tinygltf/optimized/tiny_gltf.ll index 4b392ef077a..0f44bf4f8e0 100644 --- a/bench/tinygltf/optimized/tiny_gltf.ll +++ b/bench/tinygltf/optimized/tiny_gltf.ll @@ -1602,7 +1602,7 @@ define void @stbi_set_flip_vertically_on_load_thread(i32 noundef %0) local_unnam } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_load(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #5 { +define noundef ptr @stbi_load(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #5 { %6 = alloca %struct.stbi__context, align 8 %7 = tail call noalias noundef ptr @fopen(ptr noundef readonly %0, ptr noundef nonnull @.str) %.not = icmp eq ptr %7, null @@ -1688,7 +1688,7 @@ stbi_load_from_file.exit: ; preds = %_ZL16stbi__start_fi } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_load_from_file(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #5 { +define noundef ptr @stbi_load_from_file(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #5 { %6 = alloca %struct.stbi__context, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) @_ZL21stbi__stdio_callbacks, i64 24, i1 false) @@ -1760,7 +1760,7 @@ _ZL16stbi__start_fileP13stbi__contextP8_IO_FILE.exit: ; preds = %26, %28 declare noundef i32 @fclose(ptr noundef captures(none)) local_unnamed_addr #6 ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZL31stbi__load_and_postprocess_8bitP13stbi__contextPiS1_S1_i(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) unnamed_addr #5 { +define internal fastcc noundef ptr @_ZL31stbi__load_and_postprocess_8bitP13stbi__contextPiS1_S1_i(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) unnamed_addr #5 { %6 = alloca [2048 x i8], align 16 %7 = alloca %struct.stbi__result_info, align 4 %8 = call fastcc noundef ptr @_ZL15stbi__load_mainP13stbi__contextPiS1_S1_iP17stbi__result_infoi(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i32 noundef %4, ptr noundef %7, i32 noundef 8) @@ -1906,7 +1906,7 @@ _ZL19stbi__vertical_flipPviii.exit: ; preds = %._crit_edge.i30, %4 declare noundef i32 @fseek(ptr noundef captures(none), i64 noundef, i32 noundef) local_unnamed_addr #6 ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_load_from_file_16(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #5 { +define noundef ptr @stbi_load_from_file_16(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #5 { %6 = alloca %struct.stbi__context, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) @_ZL21stbi__stdio_callbacks, i64 24, i1 false) @@ -1975,7 +1975,7 @@ _ZL16stbi__start_fileP13stbi__contextP8_IO_FILE.exit: ; preds = %26, %28 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZL32stbi__load_and_postprocess_16bitP13stbi__contextPiS1_S1_i(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) unnamed_addr #5 { +define internal fastcc noundef ptr @_ZL32stbi__load_and_postprocess_16bitP13stbi__contextPiS1_S1_i(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) unnamed_addr #5 { %6 = alloca [2048 x i8], align 16 %7 = alloca %struct.stbi__result_info, align 4 %8 = call fastcc noundef ptr @_ZL15stbi__load_mainP13stbi__contextPiS1_S1_iP17stbi__result_infoi(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i32 noundef %4, ptr noundef %7, i32 noundef 16) @@ -2120,7 +2120,7 @@ _ZL19stbi__vertical_flipPviii.exit: ; preds = %._crit_edge.i30, %4 } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_load_16(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #5 { +define noundef ptr @stbi_load_16(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #5 { %6 = alloca %struct.stbi__context, align 8 %7 = tail call noalias noundef ptr @fopen(ptr noundef readonly %0, ptr noundef nonnull @.str) %.not = icmp eq ptr %7, null @@ -2206,7 +2206,7 @@ stbi_load_from_file_16.exit: ; preds = %_ZL16stbi__start_fi } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_load_16_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #5 { +define noundef ptr @stbi_load_16_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #5 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 store ptr null, ptr %8, align 8 @@ -2229,7 +2229,7 @@ define noundef ptr @stbi_load_16_from_memory(ptr noundef %0, i32 noundef %1, ptr } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_load_16_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #5 { +define noundef ptr @stbi_load_16_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #5 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull readonly align 8 dereferenceable(24) %0, i64 24, i1 false) @@ -2283,7 +2283,7 @@ _ZL21stbi__start_callbacksP13stbi__contextP17stbi_io_callbacksPv.exit: ; preds = } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_load_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #5 { +define noundef ptr @stbi_load_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #5 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 store ptr null, ptr %8, align 8 @@ -2306,7 +2306,7 @@ define noundef ptr @stbi_load_from_memory(ptr noundef %0, i32 noundef %1, ptr no } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_load_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #5 { +define noundef ptr @stbi_load_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #5 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull readonly align 8 dereferenceable(24) %0, i64 24, i1 false) @@ -2360,7 +2360,7 @@ _ZL21stbi__start_callbacksP13stbi__contextP17stbi_io_callbacksPv.exit: ; preds = } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_load_gif_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef %2, ptr noundef captures(none) %3, ptr noundef captures(none) %4, ptr noundef captures(none) %5, ptr noundef %6, i32 noundef %7) local_unnamed_addr #5 { +define noundef ptr @stbi_load_gif_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(none) %3, ptr noundef captures(none) %4, ptr noundef captures(none) %5, ptr noundef captures(address_is_null) %6, i32 noundef %7) local_unnamed_addr #5 { %9 = alloca [2048 x i8], align 16 %10 = alloca %struct.stbi__gif, align 8 %11 = alloca %struct.stbi__context, align 8 @@ -2707,7 +2707,7 @@ _ZL26stbi__vertical_flip_slicesPviiii.exit: ; preds = %_ZL19stbi__vertical } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_loadf_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #5 { +define noundef ptr @stbi_loadf_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #5 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 store ptr null, ptr %8, align 8 @@ -2730,7 +2730,7 @@ define noundef ptr @stbi_loadf_from_memory(ptr noundef %0, i32 noundef %1, ptr n } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZL16stbi__loadf_mainP13stbi__contextPiS1_S1_i(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) unnamed_addr #5 { +define internal fastcc noundef ptr @_ZL16stbi__loadf_mainP13stbi__contextPiS1_S1_i(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) unnamed_addr #5 { %6 = alloca [2048 x i8], align 16 %7 = tail call fastcc noundef i32 @_ZL14stbi__hdr_testP13stbi__context(ptr noundef %0) %.not = icmp eq i32 %7, 0 @@ -2960,7 +2960,7 @@ _ZL23stbi__float_postprocessPfPiS0_S0_i.exit: ; preds = %.loopexit.i, %_ZL17 } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_loadf_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #5 { +define noundef ptr @stbi_loadf_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #5 { %7 = alloca %struct.stbi__context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull readonly align 8 dereferenceable(24) %0, i64 24, i1 false) @@ -3014,7 +3014,7 @@ _ZL21stbi__start_callbacksP13stbi__contextP17stbi_io_callbacksPv.exit: ; preds = } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_loadf(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #5 { +define noundef ptr @stbi_loadf(ptr noundef readonly captures(none) %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #5 { %6 = alloca %struct.stbi__context, align 8 %7 = tail call noalias noundef ptr @fopen(ptr noundef readonly %0, ptr noundef nonnull @.str) %.not = icmp eq ptr %7, null @@ -3085,7 +3085,7 @@ stbi_loadf_from_file.exit: ; preds = %30, %32 } ; Function Attrs: mustprogress uwtable -define noundef ptr @stbi_loadf_from_file(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4) local_unnamed_addr #5 { +define noundef ptr @stbi_loadf_from_file(ptr noundef %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #5 { %6 = alloca %struct.stbi__context, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) @_ZL21stbi__stdio_callbacks, i64 24, i1 false) @@ -3548,7 +3548,7 @@ define void @stbi_hdr_to_ldr_scale(float noundef %0) local_unnamed_addr #4 { } ; Function Attrs: mustprogress nounwind uwtable -define ptr @stbi_zlib_decode_malloc_guesssize(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly %3) local_unnamed_addr #7 { +define ptr @stbi_zlib_decode_malloc_guesssize(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly captures(address_is_null) %3) local_unnamed_addr #7 { %5 = alloca %struct.stbi__zbuf, align 8 %6 = sext i32 %2 to i64 %7 = tail call noalias noundef ptr @malloc(i64 noundef range(i64 -8589934588, 8589934589) %6) #52 @@ -4831,7 +4831,7 @@ _ZL16stbi__parse_zlibP10stbi__zbufi.exit: ; preds = %_ZL14stbi__zreceive } ; Function Attrs: mustprogress nounwind uwtable -define ptr @stbi_zlib_decode_malloc(ptr noundef %0, i32 noundef %1, ptr noundef writeonly %2) local_unnamed_addr #7 { +define ptr @stbi_zlib_decode_malloc(ptr noundef %0, i32 noundef %1, ptr noundef writeonly captures(address_is_null) %2) local_unnamed_addr #7 { %4 = alloca %struct.stbi__zbuf, align 8 call void @llvm.lifetime.start.p0(i64 4104, ptr nonnull %4) %5 = tail call noalias noundef dereferenceable_or_null(16384) ptr @malloc(i64 noundef range(i64 -8589934588, 8589934589) 16384) #52 @@ -4882,7 +4882,7 @@ stbi_zlib_decode_malloc_guesssize.exit: ; preds = %3, %._crit_edge.i, } ; Function Attrs: mustprogress nounwind uwtable -define ptr @stbi_zlib_decode_malloc_guesssize_headerflag(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly %3, i32 noundef %4) local_unnamed_addr #7 { +define ptr @stbi_zlib_decode_malloc_guesssize_headerflag(ptr noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4) local_unnamed_addr #7 { %6 = alloca %struct.stbi__zbuf, align 8 %7 = sext i32 %2 to i64 %8 = tail call noalias noundef ptr @malloc(i64 noundef range(i64 -8589934588, 8589934589) %7) #52 @@ -4954,7 +4954,7 @@ define i32 @stbi_zlib_decode_buffer(ptr noundef %0, i32 noundef %1, ptr noundef } ; Function Attrs: mustprogress nounwind uwtable -define ptr @stbi_zlib_decode_noheader_malloc(ptr noundef %0, i32 noundef %1, ptr noundef writeonly %2) local_unnamed_addr #7 { +define ptr @stbi_zlib_decode_noheader_malloc(ptr noundef %0, i32 noundef %1, ptr noundef writeonly captures(address_is_null) %2) local_unnamed_addr #7 { %4 = alloca %struct.stbi__zbuf, align 8 %5 = tail call noalias noundef dereferenceable_or_null(16384) ptr @malloc(i64 noundef 16384) #52 %6 = icmp eq ptr %5, null @@ -5055,7 +5055,7 @@ define void @stbi_convert_iphone_png_to_rgb_thread(i32 noundef %0) local_unnamed } ; Function Attrs: mustprogress uwtable -define range(i32 0, 2) i32 @stbi_info(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) local_unnamed_addr #5 { +define range(i32 0, 2) i32 @stbi_info(ptr noundef readonly captures(none) %0, ptr noundef captures(address_is_null) %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3) local_unnamed_addr #5 { %5 = alloca %struct.stbi__context, align 8 %6 = tail call noalias noundef ptr @fopen(ptr noundef readonly %0, ptr noundef nonnull @.str) %.not = icmp eq ptr %6, null @@ -5128,7 +5128,7 @@ stbi_info_from_file.exit: ; preds = %30, %32 } ; Function Attrs: mustprogress uwtable -define noundef range(i32 0, 2) i32 @stbi_info_from_file(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) local_unnamed_addr #5 { +define noundef range(i32 0, 2) i32 @stbi_info_from_file(ptr noundef %0, ptr noundef captures(address_is_null) %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3) local_unnamed_addr #5 { %5 = alloca %struct.stbi__context, align 8 %6 = tail call i64 @ftell(ptr noundef %0) %7 = getelementptr inbounds nuw i8, ptr %5, i64 16 @@ -5184,7 +5184,7 @@ _ZL16stbi__start_fileP13stbi__contextP8_IO_FILE.exit: ; preds = %26, %28 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 2) i32 @_ZL15stbi__info_mainP13stbi__contextPiS1_S1_(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef %3) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 2) i32 @_ZL15stbi__info_mainP13stbi__contextPiS1_S1_(ptr noundef nonnull %0, ptr noundef captures(address_is_null) %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3) unnamed_addr #5 { %5 = alloca %struct.stbi__bmp_data, align 4 %6 = alloca %struct.stbi__png, align 8 %calloc.i = tail call dereferenceable_or_null(18568) ptr @calloc(i64 1, i64 18568) @@ -5687,7 +5687,7 @@ _ZL14stbi__psd_is16P13stbi__context.exit: ; preds = %45, %_ZL14stbi__png } ; Function Attrs: mustprogress uwtable -define noundef range(i32 0, 2) i32 @stbi_info_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4) local_unnamed_addr #5 { +define noundef range(i32 0, 2) i32 @stbi_info_from_memory(ptr noundef %0, i32 noundef %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3, ptr noundef captures(address_is_null) %4) local_unnamed_addr #5 { %6 = alloca %struct.stbi__context, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 store ptr null, ptr %7, align 8 @@ -5710,7 +5710,7 @@ define noundef range(i32 0, 2) i32 @stbi_info_from_memory(ptr noundef %0, i32 no } ; Function Attrs: mustprogress uwtable -define noundef range(i32 0, 2) i32 @stbi_info_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4) local_unnamed_addr #5 { +define noundef range(i32 0, 2) i32 @stbi_info_from_callbacks(ptr noundef readonly captures(none) %0, ptr noundef %1, ptr noundef captures(address_is_null) %2, ptr noundef captures(address_is_null) %3, ptr noundef captures(address_is_null) %4) local_unnamed_addr #5 { %6 = alloca %struct.stbi__context, align 8 %7 = getelementptr inbounds nuw i8, ptr %6, i64 16 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull readonly align 8 dereferenceable(24) %0, i64 24, i1 false) @@ -6368,13 +6368,13 @@ define range(i32 0, 2) i32 @stbi_write_tga(ptr noundef readonly captures(none) % } ; Function Attrs: mustprogress uwtable -define noundef range(i32 0, 2) i32 @stbi_write_hdr_to_func(ptr noundef readonly captures(none) %0, ptr noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, ptr noundef %5) local_unnamed_addr #5 { +define noundef range(i32 0, 2) i32 @stbi_write_hdr_to_func(ptr noundef readonly captures(none) %0, ptr noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, ptr noundef captures(address_is_null) %5) local_unnamed_addr #5 { %7 = tail call fastcc noundef i32 @_ZL19stbi_write_hdr_coreP19stbi__write_contextiiiPf(ptr %0, ptr %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, ptr noundef %5) ret i32 %7 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 2) i32 @_ZL19stbi_write_hdr_coreP19stbi__write_contextiiiPf(ptr readonly captures(none) %.0.val, ptr %.8.val, i32 noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef readonly %3) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 2) i32 @_ZL19stbi_write_hdr_coreP19stbi__write_contextiiiPf(ptr readonly captures(none) %.0.val, ptr %.8.val, i32 noundef %0, i32 noundef %1, i32 noundef %2, ptr noundef readonly captures(address_is_null) %3) unnamed_addr #5 { %5 = alloca i8, align 1 %6 = alloca i8, align 1 %7 = alloca i8, align 1 @@ -6797,7 +6797,7 @@ _ZL25stbiw__write_hdr_scanlineP19stbi__write_contextiiPhPf.exit.loopexit1: ; pre } ; Function Attrs: mustprogress uwtable -define range(i32 0, 2) i32 @stbi_write_hdr(ptr noundef readonly captures(none) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, ptr noundef %4) local_unnamed_addr #5 { +define range(i32 0, 2) i32 @stbi_write_hdr(ptr noundef readonly captures(none) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, ptr noundef captures(address_is_null) %4) local_unnamed_addr #5 { %6 = tail call noalias noundef ptr @fopen(ptr noundef readonly %0, ptr noundef nonnull @.str.5) %.not8 = icmp eq ptr %6, null br i1 %.not8, label %10, label %7 @@ -9236,7 +9236,7 @@ define range(i32 0, 2) i32 @stbi_write_png_to_func(ptr noundef readonly captures } ; Function Attrs: mustprogress uwtable -define noundef range(i32 0, 2) i32 @stbi_write_jpg_to_func(ptr noundef %0, ptr noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, ptr noundef %5, i32 noundef %6) local_unnamed_addr #5 { +define noundef range(i32 0, 2) i32 @stbi_write_jpg_to_func(ptr noundef %0, ptr noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, ptr noundef captures(address_is_null) %5, i32 noundef %6) local_unnamed_addr #5 { %8 = alloca %struct.stbi__write_context, align 8 %9 = getelementptr inbounds nuw i8, ptr %8, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %9, i8 0, i64 72, i1 false) @@ -9248,7 +9248,7 @@ define noundef range(i32 0, 2) i32 @stbi_write_jpg_to_func(ptr noundef %0, ptr n } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 2) i32 @_ZL19stbi_write_jpg_coreP19stbi__write_contextiiiPKvi(ptr noundef nonnull readonly captures(none) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, ptr noundef readonly %4, i32 noundef %5) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 2) i32 @_ZL19stbi_write_jpg_coreP19stbi__write_contextiiiPKvi(ptr noundef nonnull readonly captures(none) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, ptr noundef readonly captures(address_is_null) %4, i32 noundef %5) unnamed_addr #5 { %7 = alloca i8, align 1 %8 = alloca i8, align 1 %9 = alloca i8, align 1 @@ -9880,7 +9880,7 @@ _ZL20stbiw__jpg_writeBitsP19stbi__write_contextPiS1_PKt.exit: ; preds = %347, %. } ; Function Attrs: mustprogress uwtable -define range(i32 0, 2) i32 @stbi_write_jpg(ptr noundef readonly captures(none) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, ptr noundef %4, i32 noundef %5) local_unnamed_addr #5 { +define range(i32 0, 2) i32 @stbi_write_jpg(ptr noundef readonly captures(none) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, ptr noundef captures(address_is_null) %4, i32 noundef %5) local_unnamed_addr #5 { %7 = alloca %struct.stbi__write_context, align 8 %8 = getelementptr inbounds nuw i8, ptr %7, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %8, i8 0, i64 72, i1 false) @@ -15392,7 +15392,7 @@ define void @_ZN8tinygltf8TinyGLTF17RemoveImageLoaderEv(ptr noundef nonnull writ } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN8tinygltf13LoadImageDataEPNS_5ImageEiPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_iiPKhiPv(ptr noundef %0, i32 noundef %1, ptr noundef %2, ptr readnone captures(none) %3, i32 noundef %4, i32 noundef %5, ptr noundef %6, i32 noundef %7, ptr noundef readonly %8) #5 personality ptr @__gxx_personality_v0 { +define noundef zeroext i1 @_ZN8tinygltf13LoadImageDataEPNS_5ImageEiPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_iiPKhiPv(ptr noundef %0, i32 noundef %1, ptr noundef %2, ptr readnone captures(none) %3, i32 noundef %4, i32 noundef %5, ptr noundef %6, i32 noundef %7, ptr noundef readonly captures(address_is_null) %8) #5 personality ptr @__gxx_personality_v0 { %10 = alloca %struct.stbi__context, align 8 %11 = alloca %struct.stbi__context, align 8 %12 = alloca %struct.stbi__context, align 8 @@ -16142,7 +16142,7 @@ define void @_ZN8tinygltf8TinyGLTF14SetImageWriterEPFbPKNSt7__cxx1112basic_strin } ; Function Attrs: mustprogress uwtable -define noundef zeroext i1 @_ZN8tinygltf14WriteImageDataEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_PKNS_5ImageEbPKNS_12URICallbacksEPS5_Pv(ptr noundef %0, ptr noundef nonnull %1, ptr noundef readonly captures(none) %2, i1 noundef zeroext %3, ptr noundef readonly captures(none) %4, ptr noundef %5, ptr noundef readonly %6) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define noundef zeroext i1 @_ZN8tinygltf14WriteImageDataEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_PKNS_5ImageEbPKNS_12URICallbacksEPS5_Pv(ptr noundef %0, ptr noundef nonnull %1, ptr noundef readonly captures(none) %2, i1 noundef zeroext %3, ptr noundef readonly captures(none) %4, ptr noundef %5, ptr noundef readonly captures(address_is_null) %6) local_unnamed_addr #5 personality ptr @__gxx_personality_v0 { %8 = alloca %struct.stbi__write_context, align 8 %9 = alloca %struct.stbi__write_context, align 8 %10 = alloca i32, align 4 @@ -62949,7 +62949,7 @@ declare noundef i32 @feof(ptr noundef captures(none)) local_unnamed_addr #6 declare noundef i32 @ferror(ptr noundef captures(none)) local_unnamed_addr #23 ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZL15stbi__load_mainP13stbi__contextPiS1_S1_iP17stbi__result_infoi(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef %3, i32 noundef %4, ptr noundef nonnull captures(none) initializes((0, 12)) %5, i32 noundef range(i32 8, 17) %6) unnamed_addr #5 { +define internal fastcc noundef ptr @_ZL15stbi__load_mainP13stbi__contextPiS1_S1_iP17stbi__result_infoi(ptr noundef nonnull %0, ptr noundef captures(none) %1, ptr noundef captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4, ptr noundef nonnull captures(none) initializes((0, 12)) %5, i32 noundef range(i32 8, 17) %6) unnamed_addr #5 { %8 = alloca %struct.stbi__gif, align 8 %9 = alloca [256 x [4 x i8]], align 16 %10 = alloca %struct.stbi__bmp_data, align 4 @@ -66305,7 +66305,7 @@ _ZL19stbi__pic_test_coreP13stbi__context.exit: ; preds = %_ZL10stbi__get8P13s } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZL14stbi__pic_loadP13stbi__contextPiS1_S1_iP17stbi__result_info(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef %3, i32 noundef %4) unnamed_addr #5 { +define internal fastcc noundef ptr @_ZL14stbi__pic_loadP13stbi__contextPiS1_S1_iP17stbi__result_info(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef captures(address_is_null) %3, i32 noundef %4) unnamed_addr #5 { %6 = alloca [10 x %struct.stbi__pic_packet], align 16 %7 = alloca [4 x i8], align 1 %8 = alloca [4 x i8], align 1 @@ -67620,7 +67620,7 @@ _ZL24stbi__decode_jpeg_headerP10stbi__jpegi.exit: ; preds = %4, %12 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZL15stbi__jpeg_loadP13stbi__contextPiS1_S1_iP17stbi__result_info(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly %3, i32 noundef %4) unnamed_addr #5 { +define internal fastcc noundef ptr @_ZL15stbi__jpeg_loadP13stbi__contextPiS1_S1_iP17stbi__result_info(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4) unnamed_addr #5 { %6 = alloca [64 x i16], align 16 %7 = alloca [64 x i16], align 16 %8 = alloca [4 x ptr], align 16 @@ -70945,7 +70945,7 @@ _ZL10stbi__get8P13stbi__context.exit14.thread: ; preds = %46, %_ZL10stbi__get } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZL14stbi__pnm_loadP13stbi__contextPiS1_S1_iP17stbi__result_info(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly %3, i32 noundef %4, ptr noundef nonnull captures(none) initializes((0, 4)) %5) unnamed_addr #5 { +define internal fastcc noundef ptr @_ZL14stbi__pnm_loadP13stbi__contextPiS1_S1_iP17stbi__result_info(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4, ptr noundef nonnull captures(none) initializes((0, 4)) %5) unnamed_addr #5 { %7 = getelementptr inbounds nuw i8, ptr %0, i64 4 %8 = getelementptr inbounds nuw i8, ptr %0, i64 8 %9 = tail call fastcc noundef i32 @_ZL14stbi__pnm_infoP13stbi__contextPiS1_S1_(ptr noundef %0, ptr noundef nonnull %0, ptr noundef nonnull %7, ptr noundef nonnull %8) @@ -71164,7 +71164,7 @@ _ZL10stbi__getnP13stbi__contextPhi.exit.thread: ; preds = %65, %_ZL10stbi__get } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZL14stbi__hdr_loadP13stbi__contextPiS1_S1_iP17stbi__result_info(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly %3, i32 noundef %4) unnamed_addr #5 { +define internal fastcc noundef ptr @_ZL14stbi__hdr_loadP13stbi__contextPiS1_S1_iP17stbi__result_info(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4) unnamed_addr #5 { %6 = alloca [1024 x i8], align 16 %7 = alloca ptr, align 8 %8 = alloca [4 x i8], align 4 @@ -71855,7 +71855,7 @@ _ZL17stbi__malloc_mad2iii.exit.thread: ; preds = %_ZL17stbi__malloc_m } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noalias noundef ptr @_ZL16stbi__hdr_to_ldrPfiii(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) unnamed_addr #7 { +define internal fastcc noalias noundef ptr @_ZL16stbi__hdr_to_ldrPfiii(ptr noundef captures(address_is_null) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) unnamed_addr #7 { %.not = icmp eq ptr %0, null br i1 %.not, label %64, label %5 @@ -72480,7 +72480,7 @@ _ZL10stbi__get8P13stbi__context.exit79.thread: ; preds = %138, %switch.early. } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZL14stbi__tga_loadP13stbi__contextPiS1_S1_iP17stbi__result_info(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly %3, i32 noundef %4) unnamed_addr #5 { +define internal fastcc noundef ptr @_ZL14stbi__tga_loadP13stbi__contextPiS1_S1_iP17stbi__result_info(ptr noundef nonnull %0, ptr noundef writeonly captures(none) %1, ptr noundef writeonly captures(none) %2, ptr noundef writeonly captures(address_is_null) %3, i32 noundef %4) unnamed_addr #5 { %6 = alloca [4 x i8], align 4 %7 = getelementptr inbounds nuw i8, ptr %0, i64 192 %8 = load ptr, ptr %7, align 8 @@ -75137,7 +75137,7 @@ _ZL10stbi__skipP13stbi__contexti.exit: ; preds = %_ZL10stbi__get8P13s } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef ptr @_ZL20stbi__convert_formatPhiijj(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) unnamed_addr #7 { +define internal fastcc noundef ptr @_ZL20stbi__convert_formatPhiijj(ptr noundef captures(ret: address, provenance) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) unnamed_addr #7 { %6 = icmp eq i32 %2, %1 br i1 %6, label %156, label %7 @@ -75541,7 +75541,7 @@ _ZL17stbi__malloc_mad3iiii.exit.thread: ; preds = %_ZL21stbi__mul2size } ; Function Attrs: mustprogress nounwind uwtable -define internal fastcc noundef ptr @_ZL22stbi__convert_format16Ptiijj(ptr noundef %0, i32 noundef %1, i32 noundef range(i32 1, 0) %2, i32 noundef %3, i32 noundef %4) unnamed_addr #7 { +define internal fastcc noundef ptr @_ZL22stbi__convert_format16Ptiijj(ptr noundef captures(ret: address, provenance) %0, i32 noundef %1, i32 noundef range(i32 1, 0) %2, i32 noundef %3, i32 noundef %4) unnamed_addr #7 { %6 = icmp eq i32 %2, %1 br i1 %6, label %150, label %7 @@ -78696,7 +78696,7 @@ define internal fastcc void @_ZL27stbi__bmp_set_mask_defaultsP14stbi__bmp_datai( } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef ptr @_ZL19stbi__gif_load_nextP13stbi__contextP9stbi__gifPiiPh(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef readonly %3) unnamed_addr #5 { +define internal fastcc noundef ptr @_ZL19stbi__gif_load_nextP13stbi__contextP9stbi__gifPiiPh(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef captures(address_is_null) %2, ptr noundef readonly captures(address_is_null) %3) unnamed_addr #5 { %5 = getelementptr inbounds nuw i8, ptr %1, i64 8 %6 = load ptr, ptr %5, align 8 %.not176 = icmp eq ptr %6, null @@ -80024,7 +80024,7 @@ _ZL24stbi__process_gif_rasterP13stbi__contextP9stbi__gif.exit.thread: ; preds = } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 2) i32 @_ZL16stbi__gif_headerP13stbi__contextP9stbi__gifPii(ptr noundef nonnull %0, ptr noundef nonnull captures(none) %1, ptr noundef writeonly %2, i32 noundef range(i32 0, 2) %3) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 2) i32 @_ZL16stbi__gif_headerP13stbi__contextP9stbi__gifPii(ptr noundef nonnull %0, ptr noundef nonnull captures(none) %1, ptr noundef writeonly captures(address_is_null) %2, i32 noundef range(i32 0, 2) %3) unnamed_addr #5 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 192 %6 = load ptr, ptr %5, align 8 %7 = getelementptr inbounds nuw i8, ptr %0, i64 200 @@ -81784,7 +81784,7 @@ define internal void @_ZL23stbi__YCbCr_to_RGB_simdPhPKhS1_S1_ii(ptr noundef writ } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL28stbi__resample_row_hv_2_simdPhS_S_ii(ptr noundef returned writeonly %0, ptr noundef readonly captures(none) %1, ptr noundef readonly captures(none) %2, i32 noundef %3, i32 %4) #29 { +define internal noundef ptr @_ZL28stbi__resample_row_hv_2_simdPhS_S_ii(ptr noundef returned writeonly captures(ret: address, provenance) %0, ptr noundef readonly captures(none) %1, ptr noundef readonly captures(none) %2, i32 noundef %3, i32 %4) #29 { %6 = icmp eq i32 %3, 1 %7 = load i8, ptr %1, align 1 %8 = load i8, ptr %2, align 1 @@ -83913,12 +83913,12 @@ define internal fastcc void @_ZL26stbi__free_jpeg_componentsP10stbi__jpegii(ptr } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define internal noundef ptr @_ZL14resample_row_1PhS_S_ii(ptr readnone captures(none) %0, ptr noundef readnone returned %1, ptr readnone captures(none) %2, i32 %3, i32 %4) #21 { +define internal noundef ptr @_ZL14resample_row_1PhS_S_ii(ptr readnone captures(none) %0, ptr noundef readnone returned captures(ret: address, provenance) %1, ptr readnone captures(none) %2, i32 %3, i32 %4) #21 { ret ptr %1 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL22stbi__resample_row_v_2PhS_S_ii(ptr noundef returned writeonly %0, ptr noundef readonly captures(none) %1, ptr noundef readonly captures(none) %2, i32 noundef %3, i32 %4) #25 { +define internal noundef ptr @_ZL22stbi__resample_row_v_2PhS_S_ii(ptr noundef returned writeonly captures(ret: address, provenance) %0, ptr noundef readonly captures(none) %1, ptr noundef readonly captures(none) %2, i32 noundef %3, i32 %4) #25 { %6 = icmp sgt i32 %3, 0 br i1 %6, label %.lr.ph.preheader, label %._crit_edge @@ -83950,7 +83950,7 @@ define internal noundef ptr @_ZL22stbi__resample_row_v_2PhS_S_ii(ptr noundef ret } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL22stbi__resample_row_h_2PhS_S_ii(ptr noundef returned writeonly initializes((0, 2)) %0, ptr noundef readonly captures(none) %1, ptr readnone captures(none) %2, i32 noundef %3, i32 %4) #25 { +define internal noundef ptr @_ZL22stbi__resample_row_h_2PhS_S_ii(ptr noundef returned writeonly captures(ret: address, provenance) initializes((0, 2)) %0, ptr noundef readonly captures(none) %1, ptr readnone captures(none) %2, i32 noundef %3, i32 %4) #25 { %6 = icmp eq i32 %3, 1 %7 = load i8, ptr %1, align 1 br i1 %6, label %8, label %10 @@ -84046,7 +84046,7 @@ define internal noundef ptr @_ZL22stbi__resample_row_h_2PhS_S_ii(ptr noundef ret } ; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal noundef ptr @_ZL26stbi__resample_row_genericPhS_S_ii(ptr noundef returned writeonly %0, ptr noundef readonly captures(none) %1, ptr readnone captures(none) %2, i32 noundef %3, i32 noundef %4) #25 { +define internal noundef ptr @_ZL26stbi__resample_row_genericPhS_S_ii(ptr noundef returned writeonly captures(ret: address, provenance) %0, ptr noundef readonly captures(none) %1, ptr readnone captures(none) %2, i32 noundef %3, i32 noundef %4) #25 { %6 = icmp sgt i32 %3, 0 %7 = icmp sgt i32 %4, 0 %or.cond = and i1 %6, %7 @@ -85089,7 +85089,7 @@ define internal fastcc noundef i32 @_ZL19stbi__jpeg_get_bitsP10stbi__jpegi(ptr n } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 17) i32 @_ZL14stbi__pnm_infoP13stbi__contextPiS1_S1_(ptr noundef nonnull initializes((192, 208)) %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 17) i32 @_ZL14stbi__pnm_infoP13stbi__contextPiS1_S1_(ptr noundef nonnull initializes((192, 208)) %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) unnamed_addr #5 { %5 = alloca i8, align 1 %.not = icmp eq ptr %1, null %.not30 = icmp eq ptr %2, null @@ -85830,7 +85830,7 @@ _ZL10stbi__get8P13stbi__context.exit: ; preds = %36, %39, %_ZL19stbi } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef nonnull ptr @_ZL18stbi__hdr_gettokenP13stbi__contextPc(ptr noundef nonnull %0, ptr noundef nonnull returned writeonly %1) unnamed_addr #5 { +define internal fastcc noundef nonnull ptr @_ZL18stbi__hdr_gettokenP13stbi__contextPc(ptr noundef nonnull %0, ptr noundef nonnull returned writeonly captures(ret: address, provenance) %1) unnamed_addr #5 { %3 = getelementptr inbounds nuw i8, ptr %0, i64 192 %4 = load ptr, ptr %3, align 8 %5 = getelementptr inbounds nuw i8, ptr %0, i64 200 @@ -86537,7 +86537,7 @@ _ZL30stbi__zhuffman_decode_slowpathP10stbi__zbufP14stbi__zhuffman.exit: ; preds } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 2) i32 @_ZL14stbi__psd_infoP13stbi__contextPiS1_S1_(ptr noundef nonnull %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 2) i32 @_ZL14stbi__psd_infoP13stbi__contextPiS1_S1_(ptr noundef nonnull %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) unnamed_addr #5 { %.not = icmp eq ptr %1, null %.not28 = icmp eq ptr %2, null %.not29 = icmp eq ptr %3, null @@ -86701,7 +86701,7 @@ _ZL10stbi__skipP13stbi__contexti.exit: ; preds = %38, %44 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 2) i32 @_ZL14stbi__pic_infoP13stbi__contextPiS1_S1_(ptr noundef nonnull %0, ptr noundef %1, ptr noundef %2, ptr noundef writeonly %3) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 2) i32 @_ZL14stbi__pic_infoP13stbi__contextPiS1_S1_(ptr noundef nonnull %0, ptr noundef captures(address_is_null) %1, ptr noundef captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) unnamed_addr #5 { %.not = icmp eq ptr %1, null %.not41 = icmp eq ptr %2, null %.not42 = icmp eq ptr %3, null @@ -87232,7 +87232,7 @@ _ZL12stbi__at_eofP13stbi__context.exit82.thread: ; preds = %223, %_ZL12stbi__at } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 2) i32 @_ZL14stbi__hdr_infoP13stbi__contextPiS1_S1_(ptr noundef nonnull %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 2) i32 @_ZL14stbi__hdr_infoP13stbi__contextPiS1_S1_(ptr noundef nonnull %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) unnamed_addr #5 { %5 = alloca [1024 x i8], align 16 %6 = alloca ptr, align 8 %.not = icmp eq ptr %1, null @@ -87371,7 +87371,7 @@ sub_1: ; preds = %43 } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef range(i32 0, 2) i32 @_ZL14stbi__tga_infoP13stbi__contextPiS1_S1_(ptr noundef nonnull %0, ptr noundef writeonly %1, ptr noundef writeonly %2, ptr noundef writeonly %3) unnamed_addr #5 { +define internal fastcc noundef range(i32 0, 2) i32 @_ZL14stbi__tga_infoP13stbi__contextPiS1_S1_(ptr noundef nonnull %0, ptr noundef writeonly captures(address_is_null) %1, ptr noundef writeonly captures(address_is_null) %2, ptr noundef writeonly captures(address_is_null) %3) unnamed_addr #5 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 192 %6 = load ptr, ptr %5, align 8 %7 = getelementptr inbounds nuw i8, ptr %0, i64 200 @@ -94095,7 +94095,7 @@ _ZN8tinygltf6detail6GetIntERKN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112 } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN8tinygltfL28SerializeStringArrayPropertyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS5_SaIS5_EERN8nlohmann10basic_jsonISt3mapS8_S5_blmdSaNSD_14adl_serializerES8_IhSaIhEEEE(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr %.0.val, ptr readnone %.8.val, ptr noundef nonnull align 8 dereferenceable(16) %1) unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN8tinygltfL28SerializeStringArrayPropertyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS5_SaIS5_EERN8nlohmann10basic_jsonISt3mapS8_S5_blmdSaNSD_14adl_serializerES8_IhSaIhEEEE(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr %.0.val, ptr readnone captures(address) %.8.val, ptr noundef nonnull align 8 dereferenceable(16) %1) unnamed_addr #5 personality ptr @__gxx_personality_v0 { %3 = alloca %"class.nlohmann::basic_json", align 8 %4 = alloca ptr, align 8 %5 = alloca %"class.nlohmann::basic_json", align 8 @@ -94436,7 +94436,7 @@ _ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_trai } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN8tinygltfL28SerializeNumberArrayPropertyIdEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaISA_EERN8nlohmann10basic_jsonISt3mapS9_S6_blmdSaNSF_14adl_serializerES9_IhSaIhEEEE(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr readonly %.0.val, ptr readnone %.8.val, ptr noundef nonnull align 8 dereferenceable(16) %1) unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN8tinygltfL28SerializeNumberArrayPropertyIdEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaISA_EERN8nlohmann10basic_jsonISt3mapS9_S6_blmdSaNSF_14adl_serializerES9_IhSaIhEEEE(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr readonly captures(address) %.0.val, ptr readnone captures(address) %.8.val, ptr noundef nonnull align 8 dereferenceable(16) %1) unnamed_addr #5 personality ptr @__gxx_personality_v0 { %3 = alloca %"class.nlohmann::basic_json", align 8 %4 = alloca %"class.nlohmann::basic_json", align 8 %5 = alloca %"class.nlohmann::basic_json", align 8 @@ -94542,7 +94542,7 @@ _ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_trai } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN8tinygltfL28SerializeNumberArrayPropertyIiEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaISA_EERN8nlohmann10basic_jsonISt3mapS9_S6_blmdSaNSF_14adl_serializerES9_IhSaIhEEEE(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr readonly %.0.val, ptr readnone %.8.val, ptr noundef nonnull align 8 dereferenceable(16) %1) unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN8tinygltfL28SerializeNumberArrayPropertyIiEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIT_SaISA_EERN8nlohmann10basic_jsonISt3mapS9_S6_blmdSaNSF_14adl_serializerES9_IhSaIhEEEE(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr readonly captures(address) %.0.val, ptr readnone captures(address) %.8.val, ptr noundef nonnull align 8 dereferenceable(16) %1) unnamed_addr #5 personality ptr @__gxx_personality_v0 { %3 = alloca %"class.nlohmann::basic_json", align 8 %4 = alloca %"class.nlohmann::basic_json", align 8 %5 = alloca %"class.nlohmann::basic_json", align 8 @@ -96966,7 +96966,7 @@ _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N } ; Function Attrs: mustprogress uwtable -define internal fastcc void @_ZN8tinygltfL21SerializeExtensionMapERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_5ValueESt4lessIS6_ESaISt4pairIKS6_S7_EEERN8nlohmann10basic_jsonIS0_St6vectorS6_blmdSaNSH_14adl_serializerESJ_IhSaIhEEEE(ptr noundef nonnull readonly align 8 dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(16) %1) unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define internal fastcc void @_ZN8tinygltfL21SerializeExtensionMapERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_5ValueESt4lessIS6_ESaISt4pairIKS6_S7_EEERN8nlohmann10basic_jsonIS0_St6vectorS6_blmdSaNSH_14adl_serializerESJ_IhSaIhEEEE(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(48) %0, ptr noundef nonnull align 8 dereferenceable(16) %1) unnamed_addr #5 personality ptr @__gxx_personality_v0 { %3 = alloca %"class.nlohmann::basic_json", align 8 %4 = alloca %"class.nlohmann::basic_json", align 8 %5 = alloca %"class.nlohmann::basic_json", align 8 @@ -114994,7 +114994,7 @@ _ZN8tinygltf6detail10FindMemberERKN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cx } ; Function Attrs: mustprogress uwtable -define internal fastcc noundef zeroext i1 @_ZN8tinygltfL16LoadExternalFileEPSt6vectorIhSaIhEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_RKS9_SC_bmbmPNS_11FsCallbacksE(ptr noundef nonnull captures(none) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %4, i1 noundef zeroext %5, i64 noundef %6, i1 noundef zeroext %7, i64 noundef %8, ptr noundef readonly %9) unnamed_addr #5 personality ptr @__gxx_personality_v0 { +define internal fastcc noundef zeroext i1 @_ZN8tinygltfL16LoadExternalFileEPSt6vectorIhSaIhEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_RKS9_SC_bmbmPNS_11FsCallbacksE(ptr noundef nonnull captures(none) %0, ptr noundef %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %4, i1 noundef zeroext %5, i64 noundef %6, i1 noundef zeroext %7, i64 noundef %8, ptr noundef readonly captures(address_is_null) %9) unnamed_addr #5 personality ptr @__gxx_personality_v0 { %11 = alloca %"class.std::__cxx11::basic_string", align 8 %12 = alloca %"class.std::allocator", align 1 %13 = alloca %"class.std::__cxx11::basic_string", align 8 diff --git a/bench/tinympc/optimized/tiny_api.ll b/bench/tinympc/optimized/tiny_api.ll index 3987a2637ca..80e82a98234 100644 --- a/bench/tinympc/optimized/tiny_api.ll +++ b/bench/tinympc/optimized/tiny_api.ll @@ -3150,7 +3150,7 @@ declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #5 declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immarg) #6 ; Function Attrs: mustprogress uwtable -define range(i32 0, 2) i32 @tiny_set_default_settings(ptr noundef writeonly %0) local_unnamed_addr #3 { +define range(i32 0, 2) i32 @tiny_set_default_settings(ptr noundef writeonly captures(address_is_null) %0) local_unnamed_addr #3 { %.not = icmp eq ptr %0, null br i1 %.not, label %2, label %5 @@ -4172,7 +4172,7 @@ define i32 @tiny_solve(ptr noundef %0) local_unnamed_addr #3 { declare i32 @solve(ptr noundef) local_unnamed_addr #0 ; Function Attrs: mustprogress uwtable -define range(i32 0, 2) i32 @tiny_update_settings(ptr noundef writeonly %0, double noundef %1, double noundef %2, i32 noundef %3, i32 noundef %4, i32 noundef %5, i32 noundef %6) local_unnamed_addr #3 { +define range(i32 0, 2) i32 @tiny_update_settings(ptr noundef writeonly captures(address_is_null) %0, double noundef %1, double noundef %2, i32 noundef %3, i32 noundef %4, i32 noundef %5, i32 noundef %6) local_unnamed_addr #3 { %.not = icmp eq ptr %0, null br i1 %.not, label %8, label %11 @@ -4201,7 +4201,7 @@ define range(i32 0, 2) i32 @tiny_update_settings(ptr noundef writeonly %0, doubl } ; Function Attrs: mustprogress uwtable -define range(i32 0, 2) i32 @tiny_set_x0(ptr noundef readonly %0, ptr noundef readonly captures(none) %1) local_unnamed_addr #7 personality ptr @__gxx_personality_v0 { +define range(i32 0, 2) i32 @tiny_set_x0(ptr noundef readonly captures(address_is_null) %0, ptr noundef readonly captures(none) %1) local_unnamed_addr #7 personality ptr @__gxx_personality_v0 { %.not = icmp eq ptr %0, null br i1 %.not, label %3, label %6 @@ -4299,7 +4299,7 @@ _ZN5Eigen5BlockINS_6MatrixIdLin1ELin1ELi0ELin1ELin1EEELin1ELi1ELb1EEaSINS1_IdLin declare void @perror(ptr noundef readonly captures(none)) local_unnamed_addr #8 ; Function Attrs: mustprogress uwtable -define range(i32 0, 2) i32 @tiny_set_x_ref(ptr noundef readonly %0, ptr noundef %1) local_unnamed_addr #3 personality ptr @__gxx_personality_v0 { +define range(i32 0, 2) i32 @tiny_set_x_ref(ptr noundef readonly captures(address_is_null) %0, ptr noundef %1) local_unnamed_addr #3 personality ptr @__gxx_personality_v0 { %3 = alloca %"struct.Eigen::internal::assign_op", align 1 %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator", align 1 @@ -4485,7 +4485,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_.exit36: ; } ; Function Attrs: mustprogress uwtable -define range(i32 0, 2) i32 @tiny_set_u_ref(ptr noundef readonly %0, ptr noundef %1) local_unnamed_addr #3 personality ptr @__gxx_personality_v0 { +define range(i32 0, 2) i32 @tiny_set_u_ref(ptr noundef readonly captures(address_is_null) %0, ptr noundef %1) local_unnamed_addr #3 personality ptr @__gxx_personality_v0 { %3 = alloca %"struct.Eigen::internal::assign_op", align 1 %4 = alloca %"class.std::__cxx11::basic_string", align 8 %5 = alloca %"class.std::allocator", align 1 diff --git a/bench/tomlplusplus/optimized/toml.ll b/bench/tomlplusplus/optimized/toml.ll index 1ec03c3c0fe..2038fb67fa1 100644 --- a/bench/tomlplusplus/optimized/toml.ll +++ b/bench/tomlplusplus/optimized/toml.ll @@ -4847,7 +4847,7 @@ entry: } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(40) ptr @_ZN4toml2v34nodeaSERKS1_(ptr noundef nonnull returned align 8 dereferenceable(40) initializes((8, 32)) %this, ptr noundef nonnull readnone align 8 captures(none) dereferenceable(40) %0) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(40) ptr @_ZN4toml2v34nodeaSERKS1_(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(40) initializes((8, 32)) %this, ptr noundef nonnull readnone align 8 captures(none) dereferenceable(40) %0) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %source_ = getelementptr inbounds nuw i8, ptr %this, i64 8 %_M_refcount3.i.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 32 @@ -4930,7 +4930,7 @@ _ZN4toml2v313source_regionD2Ev.exit: ; preds = %if.end8.sink.split. } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(40) ptr @_ZN4toml2v34nodeaSEOS1_(ptr noundef nonnull returned align 8 dereferenceable(40) %this, ptr noundef nonnull align 8 dereferenceable(40) %rhs) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(40) ptr @_ZN4toml2v34nodeaSEOS1_(ptr noundef nonnull returned align 8 captures(address, ret: address, provenance) dereferenceable(40) %this, ptr noundef nonnull align 8 captures(address) dereferenceable(40) %rhs) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.sroa.0 = alloca { %"struct.toml::v3::source_position", %"struct.toml::v3::source_position" }, align 8 %cmp.not = icmp eq ptr %rhs, %this @@ -7208,7 +7208,7 @@ _ZNSt6vectorIN4toml2v314path_componentESaIS2_EE5clearEv.exit: ; preds = %entry, } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(24) ptr @_ZN4toml2v34path8truncateEm(ptr noundef nonnull returned align 8 dereferenceable(24) %this, i64 noundef %n) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(24) ptr @_ZN4toml2v34path8truncateEm(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(24) %this, i64 noundef %n) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %_M_finish.i = getelementptr inbounds nuw i8, ptr %this, i64 8 %0 = load ptr, ptr %_M_finish.i, align 8 @@ -7622,7 +7622,7 @@ entry: declare void @_ZdlPv(ptr noundef) local_unnamed_addr #13 ; Function Attrs: mustprogress uwtable -define void @_ZN4toml2v35arrayC2EPKNS0_4impl15array_init_elemES5_(ptr noundef nonnull align 8 dereferenceable(64) initializes((0, 64)) %this, ptr noundef %b, ptr noundef readnone %e) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN4toml2v35arrayC2EPKNS0_4impl15array_init_elemES5_(ptr noundef nonnull align 8 dereferenceable(64) initializes((0, 64)) %this, ptr noundef captures(address) %b, ptr noundef readnone captures(address) %e) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { entry: %source_.i = getelementptr inbounds nuw i8, ptr %this, i64 8 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %source_.i, i8 0, i64 32, i1 false) @@ -8014,7 +8014,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(64) ptr @_ZN4toml2v35arrayaSERKS1_(ptr noundef nonnull returned align 8 dereferenceable(64) %this, ptr noundef nonnull readonly align 8 dereferenceable(64) %rhs) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(64) ptr @_ZN4toml2v35arrayaSERKS1_(ptr noundef nonnull returned align 8 captures(address, ret: address, provenance) dereferenceable(64) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(64) %rhs) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i.i = alloca %class.anon.108, align 2 %cmp.not = icmp eq ptr %rhs, %this @@ -8322,7 +8322,7 @@ if.end: ; preds = %_ZNSt10unique_ptrIN } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(64) ptr @_ZN4toml2v35arrayaSEOS1_(ptr noundef nonnull returned align 8 dereferenceable(64) %this, ptr noundef nonnull align 8 dereferenceable(64) %rhs) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(64) ptr @_ZN4toml2v35arrayaSEOS1_(ptr noundef nonnull returned align 8 captures(address, ret: address, provenance) dereferenceable(64) %this, ptr noundef nonnull align 8 captures(address) dereferenceable(64) %rhs) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.sroa.0.i = alloca { %"struct.toml::v3::source_position", %"struct.toml::v3::source_position" }, align 8 %cmp.not = icmp eq ptr %rhs, %this @@ -9575,7 +9575,7 @@ return: ; preds = %while.cond.backedge } ; Function Attrs: mustprogress nounwind uwtable -define noundef nonnull align 8 dereferenceable(64) ptr @_ZNR4toml2v35array5pruneEb(ptr noundef nonnull returned align 8 dereferenceable(64) %this, i1 noundef zeroext %recursive) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(64) ptr @_ZNR4toml2v35array5pruneEb(ptr noundef nonnull returned align 8 captures(ret: address, provenance) dereferenceable(64) %this, i1 noundef zeroext %recursive) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %elems_ = getelementptr inbounds nuw i8, ptr %this, i64 40 %0 = load ptr, ptr %elems_, align 8 @@ -9929,7 +9929,7 @@ _ZNSt6vectorISt10unique_ptrIN4toml2v34nodeESt14default_deleteIS3_EESaIS6_EE5clea } ; Function Attrs: mustprogress nounwind uwtable -define noundef zeroext i1 @_ZN4toml2v35array5equalERKS1_S3_(ptr noundef nonnull readonly align 8 dereferenceable(64) %lhs, ptr noundef nonnull readonly align 8 dereferenceable(64) %rhs) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define noundef zeroext i1 @_ZN4toml2v35array5equalERKS1_S3_(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(64) %lhs, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(64) %rhs) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %cmp = icmp eq ptr %lhs, %rhs br i1 %cmp, label %return, label %if.end @@ -10353,7 +10353,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define void @_ZN4toml2v35tableC2EPKNS0_4impl15table_init_pairES5_(ptr noundef nonnull align 8 dereferenceable(89) initializes((0, 40), (48, 52), (56, 64)) %this, ptr noundef %b, ptr noundef readnone %e) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN4toml2v35tableC2EPKNS0_4impl15table_init_pairES5_(ptr noundef nonnull align 8 dereferenceable(89) initializes((0, 40), (48, 52), (56, 64)) %this, ptr noundef %b, ptr noundef readnone captures(address) %e) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { entry: %source_.i = getelementptr inbounds nuw i8, ptr %this, i64 8 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %source_.i, i8 0, i64 32, i1 false) @@ -10493,7 +10493,7 @@ return: ; preds = %_ZNKSt14default_del } ; Function Attrs: mustprogress uwtable -define void @_ZN4toml2v35tableC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(89) initializes((0, 40), (48, 52), (56, 64)) %this, ptr noundef nonnull readonly align 8 dereferenceable(89) %other) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { +define void @_ZN4toml2v35tableC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(89) initializes((0, 40), (48, 52), (56, 64)) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %other) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i.i = alloca %class.anon.121, align 2 %ref.tmp14 = alloca %"class.std::unique_ptr", align 8 @@ -10664,7 +10664,7 @@ _ZNSt3mapIN4toml2v33keyESt10unique_ptrINS1_4nodeESt14default_deleteIS4_EESt4less } ; Function Attrs: mustprogress uwtable -define noundef nonnull align 8 dereferenceable(89) ptr @_ZN4toml2v35tableaSERKS1_(ptr noundef nonnull returned align 8 dereferenceable(89) %this, ptr noundef nonnull readonly align 8 dereferenceable(89) %rhs) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { +define noundef nonnull align 8 dereferenceable(89) ptr @_ZN4toml2v35tableaSERKS1_(ptr noundef nonnull returned align 8 dereferenceable(89) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %rhs) local_unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp.i.i = alloca %class.anon.121, align 2 %ref.tmp14 = alloca %"class.std::unique_ptr", align 8 @@ -10997,7 +10997,7 @@ if.end: ; preds = %_ZNSt3mapIN4toml2v3 } ; Function Attrs: mustprogress nofree nounwind willreturn memory(read) uwtable -define noundef zeroext i1 @_ZNK4toml2v35table14is_homogeneousENS0_9node_typeE(ptr noundef nonnull readonly align 8 dereferenceable(89) %this, i8 noundef zeroext %ntype) unnamed_addr #9 align 2 { +define noundef zeroext i1 @_ZNK4toml2v35table14is_homogeneousENS0_9node_typeE(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %this, i8 noundef zeroext %ntype) unnamed_addr #9 align 2 { entry: %_M_node_count.i.i = getelementptr inbounds nuw i8, ptr %this, i64 80 %0 = load i64, ptr %_M_node_count.i.i, align 8 @@ -11047,7 +11047,7 @@ return: ; preds = %for.body, %for.inc, } ; Function Attrs: mustprogress nofree nounwind willreturn memory(read) uwtable -define noundef zeroext i1 @_ZN4toml2v35table14is_homogeneousENS0_9node_typeERPNS0_4nodeE(ptr noundef nonnull readonly align 8 dereferenceable(89) %this, i8 noundef zeroext %ntype, ptr noundef nonnull writeonly align 8 captures(none) dereferenceable(8) %first_nonmatch) unnamed_addr #9 align 2 { +define noundef zeroext i1 @_ZN4toml2v35table14is_homogeneousENS0_9node_typeERPNS0_4nodeE(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %this, i8 noundef zeroext %ntype, ptr noundef nonnull writeonly align 8 captures(none) dereferenceable(8) %first_nonmatch) unnamed_addr #9 align 2 { entry: %_M_node_count.i.i = getelementptr inbounds nuw i8, ptr %this, i64 80 %0 = load i64, ptr %_M_node_count.i.i, align 8 @@ -11102,7 +11102,7 @@ return: ; preds = %for.inc, %return.si } ; Function Attrs: mustprogress nofree nounwind willreturn memory(read) uwtable -define noundef zeroext i1 @_ZNK4toml2v35table14is_homogeneousENS0_9node_typeERPKNS0_4nodeE(ptr noundef nonnull readonly align 8 dereferenceable(89) %this, i8 noundef zeroext %ntype, ptr noundef nonnull writeonly align 8 captures(none) dereferenceable(8) %first_nonmatch) unnamed_addr #9 align 2 { +define noundef zeroext i1 @_ZNK4toml2v35table14is_homogeneousENS0_9node_typeERPKNS0_4nodeE(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %this, i8 noundef zeroext %ntype, ptr noundef nonnull writeonly align 8 captures(none) dereferenceable(8) %first_nonmatch) unnamed_addr #9 align 2 { entry: %_M_node_count.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 80 %0 = load i64, ptr %_M_node_count.i.i.i, align 8 @@ -11264,7 +11264,7 @@ declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr #16 declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 ; Function Attrs: mustprogress nofree nounwind willreturn memory(read) uwtable -define nonnull ptr @_ZN4toml2v35table15get_lower_boundESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull readonly align 8 dereferenceable(89) %this, i64 %key.coerce0, ptr readonly captures(none) %key.coerce1) local_unnamed_addr #9 align 2 personality ptr @__gxx_personality_v0 { +define nonnull ptr @_ZN4toml2v35table15get_lower_boundESt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull readonly align 8 captures(ret: address, provenance) dereferenceable(89) %this, i64 %key.coerce0, ptr readonly captures(none) %key.coerce1) local_unnamed_addr #9 align 2 personality ptr @__gxx_personality_v0 { entry: %_M_parent.i.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 56 %add.ptr.i.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 48 @@ -11376,7 +11376,7 @@ invoke.cont: } ; Function Attrs: mustprogress nounwind uwtable -define ptr @_ZN4toml2v35table5eraseESt23_Rb_tree_const_iteratorISt4pairIKNS0_3keyESt10unique_ptrINS0_4nodeESt14default_deleteIS7_EEEESC_(ptr noundef nonnull align 8 dereferenceable(89) %this, ptr %begin.coerce, ptr readnone returned %end.coerce) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { +define ptr @_ZN4toml2v35table5eraseESt23_Rb_tree_const_iteratorISt4pairIKNS0_3keyESt10unique_ptrINS0_4nodeESt14default_deleteIS7_EEEESC_(ptr noundef nonnull align 8 dereferenceable(89) %this, ptr %begin.coerce, ptr readnone returned captures(address, ret: address, provenance) %end.coerce) local_unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: %map_ = getelementptr inbounds nuw i8, ptr %this, i64 40 %_M_left.i.i.i.i = getelementptr inbounds nuw i8, ptr %this, i64 64 @@ -11510,7 +11510,7 @@ entry: } ; Function Attrs: mustprogress nofree nounwind willreturn memory(read) uwtable -define noundef zeroext i1 @_ZN4toml2v35table5equalERKS1_S3_(ptr noundef nonnull readonly align 8 dereferenceable(89) %lhs, ptr noundef nonnull readonly align 8 dereferenceable(89) %rhs) local_unnamed_addr #9 align 2 personality ptr @__gxx_personality_v0 { +define noundef zeroext i1 @_ZN4toml2v35table5equalERKS1_S3_(ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %lhs, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %rhs) local_unnamed_addr #9 align 2 personality ptr @__gxx_personality_v0 { entry: %cmp = icmp eq ptr %lhs, %rhs br i1 %cmp, label %return, label %if.end @@ -11803,7 +11803,7 @@ return: ; preds = %_ZStneIcSt11char_tr } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define noundef zeroext i1 @_ZN4toml2v34impl8is_asciiEPKcm(ptr noundef nonnull readonly %str, i64 noundef %len) local_unnamed_addr #18 personality ptr @__gxx_personality_v0 { +define noundef zeroext i1 @_ZN4toml2v34impl8is_asciiEPKcm(ptr noundef nonnull readonly captures(address) %str, i64 noundef %len) local_unnamed_addr #18 personality ptr @__gxx_personality_v0 { entry: %add.ptr = getelementptr inbounds i8, ptr %str, i64 %len %sub = and i64 %len, -16 @@ -18686,7 +18686,7 @@ entry: } ; Function Attrs: mustprogress uwtable -define void @_ZN4toml2v314toml_formatter12print_inlineERKNS0_5tableE(ptr noundef nonnull align 8 captures(none) dereferenceable(97) initializes((68, 69)) %this, ptr noundef nonnull readonly align 8 dereferenceable(89) %tbl) local_unnamed_addr #0 align 2 { +define void @_ZN4toml2v314toml_formatter12print_inlineERKNS0_5tableE(ptr noundef nonnull align 8 captures(none) dereferenceable(97) initializes((68, 69)) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %tbl) local_unnamed_addr #0 align 2 { entry: %_M_node_count.i.i = getelementptr inbounds nuw i8, ptr %tbl, i64 80 %0 = load i64, ptr %_M_node_count.i.i, align 8 @@ -18984,7 +18984,7 @@ return: ; preds = %if.end34, %if.then } ; Function Attrs: mustprogress uwtable -define void @_ZN4toml2v314toml_formatter5printERKNS0_5tableE(ptr noundef nonnull align 8 dereferenceable(97) %this, ptr noundef nonnull readonly align 8 dereferenceable(89) %tbl) local_unnamed_addr #0 align 2 { +define void @_ZN4toml2v314toml_formatter5printERKNS0_5tableE(ptr noundef nonnull align 8 dereferenceable(97) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %tbl) local_unnamed_addr #0 align 2 { entry: %_M_left.i.i = getelementptr inbounds nuw i8, ptr %tbl, i64 64 %0 = load ptr, ptr %_M_left.i.i, align 8 @@ -19752,7 +19752,7 @@ sw.epilog: ; preds = %if.then6, %if.else, } ; Function Attrs: mustprogress uwtable -define void @_ZN4toml2v314json_formatter5printERKNS0_5tableE(ptr noundef nonnull align 8 captures(none) dereferenceable(69) initializes((68, 69)) %this, ptr noundef nonnull readonly align 8 dereferenceable(89) %tbl) local_unnamed_addr #0 align 2 { +define void @_ZN4toml2v314json_formatter5printERKNS0_5tableE(ptr noundef nonnull align 8 captures(none) dereferenceable(69) initializes((68, 69)) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %tbl) local_unnamed_addr #0 align 2 { entry: %_M_node_count.i.i = getelementptr inbounds nuw i8, ptr %tbl, i64 80 %0 = load i64, ptr %_M_node_count.i.i, align 8 @@ -20280,7 +20280,7 @@ declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIc declare noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 ; Function Attrs: mustprogress uwtable -define void @_ZN4toml2v314yaml_formatter5printERKNS0_5tableEb(ptr noundef nonnull align 8 captures(none) dereferenceable(69) %this, ptr noundef nonnull readonly align 8 dereferenceable(89) %tbl, i1 noundef zeroext %parent_is_array) local_unnamed_addr #0 align 2 { +define void @_ZN4toml2v314yaml_formatter5printERKNS0_5tableEb(ptr noundef nonnull align 8 captures(none) dereferenceable(69) %this, ptr noundef nonnull readonly align 8 captures(address) dereferenceable(89) %tbl, i1 noundef zeroext %parent_is_array) local_unnamed_addr #0 align 2 { entry: %_M_node_count.i.i = getelementptr inbounds nuw i8, ptr %tbl, i64 80 %0 = load i64, ptr %_M_node_count.i.i, align 8 @@ -42995,7 +42995,7 @@ _ZNSt8_Rb_treeIN4toml2v33keyESt4pairIKS2_St10unique_ptrINS1_4nodeESt14default_de } ; Function Attrs: alwaysinline mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define internal noundef nonnull align 8 dereferenceable(16) ptr @_ZNK12_GLOBAL__N_111utf8_readerISt17basic_string_viewIcSt11char_traitsIcEEE11source_pathB5cxx11Ev(ptr noundef nonnull readnone align 32 dereferenceable(896) %this) unnamed_addr #34 align 2 { +define internal noundef nonnull align 8 dereferenceable(16) ptr @_ZNK12_GLOBAL__N_111utf8_readerISt17basic_string_viewIcSt11char_traitsIcEEE11source_pathB5cxx11Ev(ptr noundef nonnull readnone align 32 captures(ret: address, provenance) dereferenceable(896) %this) unnamed_addr #34 align 2 { entry: %source_path_ = getelementptr inbounds nuw i8, ptr %this, i64 864 ret ptr %source_path_ @@ -43511,7 +43511,7 @@ return: ; preds = %if.end, %land.lhs.t } ; Function Attrs: alwaysinline mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable -define internal noundef nonnull align 8 dereferenceable(16) ptr @_ZNK12_GLOBAL__N_111utf8_readerISiE11source_pathB5cxx11Ev(ptr noundef nonnull readnone align 32 dereferenceable(896) %this) unnamed_addr #34 align 2 { +define internal noundef nonnull align 8 dereferenceable(16) ptr @_ZNK12_GLOBAL__N_111utf8_readerISiE11source_pathB5cxx11Ev(ptr noundef nonnull readnone align 32 captures(ret: address, provenance) dereferenceable(896) %this) unnamed_addr #34 align 2 { entry: %source_path_ = getelementptr inbounds nuw i8, ptr %this, i64 864 ret ptr %source_path_ diff --git a/bench/yyjson/optimized/yyjson.ll b/bench/yyjson/optimized/yyjson.ll index d18c2f00f72..0534c383f29 100644 --- a/bench/yyjson/optimized/yyjson.ll +++ b/bench/yyjson/optimized/yyjson.ll @@ -120,7 +120,7 @@ entry: } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(write, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local noundef zeroext i1 @yyjson_alc_pool_init(ptr noundef writeonly %alc, ptr noundef %buf, i64 noundef %size) local_unnamed_addr #1 { +define dso_local noundef zeroext i1 @yyjson_alc_pool_init(ptr noundef writeonly captures(address_is_null) %alc, ptr noundef %buf, i64 noundef %size) local_unnamed_addr #1 { entry: %tobool.not = icmp eq ptr %alc, null br i1 %tobool.not, label %return, label %if.end @@ -741,7 +741,7 @@ return: ; preds = %if.end, %entry, %if } ; Function Attrs: nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define internal void @dyn_free(ptr noundef %ctx_ptr, ptr noundef %ptr) #3 { +define internal void @dyn_free(ptr noundef captures(address_is_null) %ctx_ptr, ptr noundef %ptr) #3 { entry: %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 -16 %next.i = getelementptr inbounds nuw i8, ptr %ctx_ptr, i64 24 @@ -810,7 +810,7 @@ for.end: ; preds = %for.cond, %if.then declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immarg) #8 ; Function Attrs: nounwind uwtable -define dso_local void @yyjson_alc_dyn_free(ptr noundef %alc) local_unnamed_addr #7 { +define dso_local void @yyjson_alc_dyn_free(ptr noundef captures(address_is_null) %alc) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %alc, null br i1 %tobool.not, label %return, label %if.end @@ -943,7 +943,7 @@ return: ; preds = %if.end, %entry, %if } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define dso_local noundef zeroext i1 @yyjson_mut_doc_set_str_pool_size(ptr noundef writeonly %doc, i64 noundef %len) local_unnamed_addr #9 { +define dso_local noundef zeroext i1 @yyjson_mut_doc_set_str_pool_size(ptr noundef writeonly captures(address_is_null) %doc, i64 noundef %len) local_unnamed_addr #9 { entry: %tobool = icmp ne ptr %doc, null %0 = add i64 %len, -1 @@ -962,7 +962,7 @@ return: ; preds = %entry, %if.end } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable -define dso_local noundef zeroext i1 @yyjson_mut_doc_set_val_pool_size(ptr noundef writeonly %doc, i64 noundef %count) local_unnamed_addr #9 { +define dso_local noundef zeroext i1 @yyjson_mut_doc_set_val_pool_size(ptr noundef writeonly captures(address_is_null) %doc, i64 noundef %count) local_unnamed_addr #9 { entry: %tobool = icmp ne ptr %doc, null %0 = add i64 %count, -1 @@ -1026,7 +1026,7 @@ if.end: ; preds = %unsafe_yyjson_val_p } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_mut_doc_new(ptr noundef readonly %alc) local_unnamed_addr #7 { +define dso_local ptr @yyjson_mut_doc_new(ptr noundef readonly captures(address_is_null) %alc) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %alc, null %spec.store.select = select i1 %tobool.not, ptr @YYJSON_DEFAULT_ALC, ptr %alc @@ -1056,7 +1056,7 @@ return: ; preds = %entry, %if.end3 } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_doc_mut_copy(ptr noundef readonly %doc, ptr noundef readonly %alc) local_unnamed_addr #7 { +define dso_local ptr @yyjson_doc_mut_copy(ptr noundef readonly captures(address_is_null) %doc, ptr noundef readonly captures(address_is_null) %alc) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %doc, null br i1 %tobool.not, label %return, label %lor.lhs.false @@ -1137,7 +1137,7 @@ return: ; preds = %if.end, %entry, %lo } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_val_mut_copy(ptr noundef %m_doc, ptr noundef %i_vals) local_unnamed_addr #7 { +define dso_local ptr @yyjson_val_mut_copy(ptr noundef captures(address_is_null) %m_doc, ptr noundef %i_vals) local_unnamed_addr #7 { entry: %tobool = icmp ne ptr %m_doc, null %tobool1 = icmp ne ptr %i_vals, null @@ -1413,7 +1413,7 @@ return: ; preds = %for.inc, %for.cond. } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_mut_doc_mut_copy(ptr noundef readonly %doc, ptr noundef readonly %alc) local_unnamed_addr #7 { +define dso_local ptr @yyjson_mut_doc_mut_copy(ptr noundef readonly captures(address_is_null) %doc, ptr noundef readonly captures(address_is_null) %alc) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %doc, null br i1 %tobool.not, label %return, label %if.end @@ -1524,7 +1524,7 @@ return: ; preds = %if.end3, %if.end3.i } ; Function Attrs: nounwind uwtable -define dso_local noundef ptr @yyjson_mut_val_mut_copy(ptr noundef %doc, ptr noundef readonly %val) local_unnamed_addr #7 { +define dso_local noundef ptr @yyjson_mut_val_mut_copy(ptr noundef %doc, ptr noundef readonly captures(address_is_null) %val) local_unnamed_addr #7 { entry: %tobool = icmp ne ptr %doc, null %tobool1 = icmp ne ptr %val, null @@ -1731,7 +1731,7 @@ return: ; preds = %while.body, %if.the } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_mut_doc_imut_copy(ptr noundef readonly %mdoc, ptr noundef %alc) local_unnamed_addr #7 { +define dso_local ptr @yyjson_mut_doc_imut_copy(ptr noundef readonly captures(address_is_null) %mdoc, ptr noundef captures(address_is_null) %alc) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %mdoc, null br i1 %tobool.not, label %return, label %if.end @@ -1747,7 +1747,7 @@ return: ; preds = %entry, %if.end } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_mut_val_imut_copy(ptr noundef readonly %mval, ptr noundef readonly %alc) local_unnamed_addr #7 { +define dso_local ptr @yyjson_mut_val_imut_copy(ptr noundef readonly captures(address_is_null) %mval, ptr noundef readonly captures(address_is_null) %alc) local_unnamed_addr #7 { entry: %val_num = alloca i64, align 8 %str_sum = alloca i64, align 8 @@ -2474,7 +2474,7 @@ return: ; preds = %while.body45, %yyjs } ; Function Attrs: nofree nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local ptr @unsafe_yyjson_ptr_getx(ptr noundef readonly %val, ptr noundef %ptr, i64 noundef %ptr_len, ptr noundef writeonly %err) local_unnamed_addr #12 { +define dso_local ptr @unsafe_yyjson_ptr_getx(ptr noundef readonly captures(ret: address, provenance) %val, ptr noundef %ptr, i64 noundef %ptr_len, ptr noundef writeonly captures(address_is_null) %err) local_unnamed_addr #12 { entry: %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %ptr_len br label %while.body @@ -2780,7 +2780,7 @@ return: ; preds = %if.end33, %return.s } ; Function Attrs: nofree nounwind memory(read, argmem: readwrite, inaccessiblemem: none) uwtable -define dso_local ptr @unsafe_yyjson_mut_ptr_getx(ptr noundef %val, ptr noundef %ptr, i64 noundef %ptr_len, ptr noundef writeonly %ctx, ptr noundef writeonly %err) local_unnamed_addr #12 { +define dso_local ptr @unsafe_yyjson_mut_ptr_getx(ptr noundef %val, ptr noundef %ptr, i64 noundef %ptr_len, ptr noundef writeonly captures(address_is_null) %ctx, ptr noundef writeonly captures(address_is_null) %err) local_unnamed_addr #12 { entry: %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %ptr_len %tobool20.not = icmp ne ptr %ctx, null @@ -3126,7 +3126,7 @@ return: ; preds = %if.end53, %return.s } ; Function Attrs: nounwind uwtable -define dso_local noundef zeroext i1 @unsafe_yyjson_mut_ptr_putx(ptr noundef %val, ptr noundef %ptr, i64 noundef %ptr_len, ptr noundef %new_val, ptr noundef %doc, i1 noundef zeroext %create_parent, i1 noundef zeroext %insert_new, ptr noundef writeonly %ctx, ptr noundef writeonly %err) local_unnamed_addr #7 { +define dso_local noundef zeroext i1 @unsafe_yyjson_mut_ptr_putx(ptr noundef %val, ptr noundef %ptr, i64 noundef %ptr_len, ptr noundef %new_val, ptr noundef %doc, i1 noundef zeroext %create_parent, i1 noundef zeroext %insert_new, ptr noundef writeonly captures(address_is_null) %ctx, ptr noundef writeonly captures(address_is_null) %err) local_unnamed_addr #7 { entry: %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %ptr_len br label %while.body @@ -4793,7 +4793,7 @@ return: ; preds = %if.end311, %if.end. } ; Function Attrs: nofree nounwind memory(readwrite, inaccessiblemem: none) uwtable -define dso_local ptr @unsafe_yyjson_mut_ptr_replacex(ptr noundef %val, ptr noundef %ptr, i64 noundef %len, ptr noundef %new_val, ptr noundef %ctx, ptr noundef %err) local_unnamed_addr #13 { +define dso_local ptr @unsafe_yyjson_mut_ptr_replacex(ptr noundef %val, ptr noundef %ptr, i64 noundef %len, ptr noundef %new_val, ptr noundef captures(address_is_null) %ctx, ptr noundef captures(address_is_null) %err) local_unnamed_addr #13 { entry: %cur_ctx = alloca %struct.yyjson_ptr_ctx, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %cur_ctx, i8 0, i64 24, i1 false) @@ -5060,7 +5060,7 @@ return: ; preds = %entry, %if.end10 } ; Function Attrs: nofree nounwind memory(readwrite, inaccessiblemem: none) uwtable -define dso_local ptr @unsafe_yyjson_mut_ptr_removex(ptr noundef %val, ptr noundef %ptr, i64 noundef %len, ptr noundef %ctx, ptr noundef %err) local_unnamed_addr #13 { +define dso_local ptr @unsafe_yyjson_mut_ptr_removex(ptr noundef %val, ptr noundef %ptr, i64 noundef %len, ptr noundef captures(address_is_null) %ctx, ptr noundef captures(address_is_null) %err) local_unnamed_addr #13 { entry: %cur_ctx = alloca %struct.yyjson_ptr_ctx, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %cur_ctx, i8 0, i64 24, i1 false) @@ -6199,7 +6199,7 @@ return: ; preds = %entry, %sw.bb20, %s } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_mut_patch(ptr noundef %doc, ptr noundef readonly %orig, ptr noundef readonly %patch, ptr noundef %err) local_unnamed_addr #7 { +define dso_local ptr @yyjson_mut_patch(ptr noundef %doc, ptr noundef readonly captures(address_is_null) %orig, ptr noundef readonly captures(address_is_null) %patch, ptr noundef %err) local_unnamed_addr #7 { entry: %err_tmp = alloca %struct.yyjson_patch_err, align 8 %tobool.not = icmp eq ptr %err, null @@ -7143,7 +7143,7 @@ return: ; preds = %yyjson_mut_arr_iter } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_merge_patch(ptr noundef %doc, ptr noundef %orig, ptr noundef %patch) local_unnamed_addr #7 { +define dso_local ptr @yyjson_merge_patch(ptr noundef captures(address_is_null) %doc, ptr noundef %orig, ptr noundef %patch) local_unnamed_addr #7 { entry: %local_orig = alloca %struct.yyjson_val, align 8 %tobool.i218.not = icmp eq ptr %patch, null @@ -7501,7 +7501,7 @@ return: ; preds = %if.then32, %yyjson_ } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_mut_merge_patch(ptr noundef %doc, ptr noundef readonly %orig, ptr noundef readonly %patch) local_unnamed_addr #7 { +define dso_local ptr @yyjson_mut_merge_patch(ptr noundef %doc, ptr noundef readonly captures(address_is_null) %orig, ptr noundef readonly captures(address_is_null) %patch) local_unnamed_addr #7 { entry: %local_orig.sroa.0 = alloca i64, align 8 %local_orig.sroa.3 = alloca i64, align 8 @@ -7899,7 +7899,7 @@ return: ; preds = %yyjson_mut_val_mut_ } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_read_opts(ptr noundef %dat, i64 noundef %len, i32 noundef %flg, ptr noundef readonly %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local ptr @yyjson_read_opts(ptr noundef %dat, i64 noundef %len, i32 noundef %flg, ptr noundef readonly captures(address_is_null) %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { entry: %exp.i.i = alloca i32, align 4 %big_full.i.i = alloca %struct.bigint, align 8 @@ -33741,7 +33741,7 @@ return: ; preds = %while.end28, %if.th } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_read_file(ptr noundef readonly %path, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local ptr @yyjson_read_file(ptr noundef readonly captures(address_is_null) %path, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { entry: %dummy_err = alloca %struct.yyjson_read_err, align 8 %tobool.not = icmp eq ptr %err, null @@ -33781,7 +33781,7 @@ return: ; preds = %if.end22, %do.body1 } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_read_fp(ptr noundef %file, i32 noundef %flg, ptr noundef readonly %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local ptr @yyjson_read_fp(ptr noundef captures(address_is_null) %file, i32 noundef %flg, ptr noundef readonly captures(address_is_null) %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { entry: %dummy_err = alloca %struct.yyjson_read_err, align 8 %alc = alloca %struct.yyjson_alc, align 8 @@ -33994,7 +33994,7 @@ declare noundef i64 @ftell(ptr noundef captures(none)) local_unnamed_addr #16 declare noundef i32 @fseek(ptr noundef captures(none), i64 noundef, i32 noundef) local_unnamed_addr #16 ; Function Attrs: nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define dso_local ptr @yyjson_read_number(ptr noundef %dat, ptr noundef writeonly %val, i32 noundef %flg, ptr noundef readnone captures(none) %alc, ptr noundef writeonly %err) local_unnamed_addr #3 { +define dso_local ptr @yyjson_read_number(ptr noundef %dat, ptr noundef writeonly %val, i32 noundef %flg, ptr noundef readnone captures(none) %alc, ptr noundef writeonly captures(address_is_null) %err) local_unnamed_addr #3 { entry: %exp.i = alloca i32, align 4 %big_full.i = alloca %struct.bigint, align 8 @@ -36605,7 +36605,7 @@ return: ; preds = %if.end.i.i, %if.els } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_val_write_opts(ptr noundef readonly %val, i32 noundef %flg, ptr noundef readonly %alc_ptr, ptr noundef writeonly %dat_len, ptr noundef writeonly %err) local_unnamed_addr #7 { +define dso_local ptr @yyjson_val_write_opts(ptr noundef readonly captures(address_is_null) %val, i32 noundef %flg, ptr noundef readonly captures(address_is_null) %alc_ptr, ptr noundef writeonly captures(address_is_null) %dat_len, ptr noundef writeonly captures(address_is_null) %err) local_unnamed_addr #7 { entry: %dummy_err = alloca %struct.yyjson_write_err, align 8 %tobool.not = icmp eq ptr %alc_ptr, null @@ -46954,7 +46954,7 @@ return: ; preds = %if.end590.i.cont, % } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_write_opts(ptr noundef readonly %doc, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %dat_len, ptr noundef %err) local_unnamed_addr #7 { +define dso_local ptr @yyjson_write_opts(ptr noundef readonly captures(address_is_null) %doc, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %dat_len, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %doc, null br i1 %tobool.not, label %cond.end, label %cond.true @@ -46970,7 +46970,7 @@ cond.end: ; preds = %entry, %cond.true } ; Function Attrs: nounwind uwtable -define dso_local noundef zeroext i1 @yyjson_val_write_file(ptr noundef readonly %path, ptr noundef %val, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local noundef zeroext i1 @yyjson_val_write_file(ptr noundef readonly captures(address_is_null) %path, ptr noundef captures(address_is_null) %val, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %dummy_err = alloca %struct.yyjson_write_err, align 8 %dat_len = alloca i64, align 8 @@ -47052,7 +47052,7 @@ return: ; preds = %if.end, %write_dat_ } ; Function Attrs: nounwind uwtable -define dso_local noundef zeroext i1 @yyjson_val_write_fp(ptr noundef %fp, ptr noundef %val, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local noundef zeroext i1 @yyjson_val_write_fp(ptr noundef captures(address_is_null) %fp, ptr noundef captures(address_is_null) %val, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %dummy_err = alloca %struct.yyjson_write_err, align 8 %dat_len = alloca i64, align 8 @@ -47103,7 +47103,7 @@ return: ; preds = %if.end, %write_dat_ } ; Function Attrs: nounwind uwtable -define dso_local noundef zeroext i1 @yyjson_write_file(ptr noundef %path, ptr noundef readonly %doc, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local noundef zeroext i1 @yyjson_write_file(ptr noundef captures(address_is_null) %path, ptr noundef readonly captures(address_is_null) %doc, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %doc, null br i1 %tobool.not, label %cond.end, label %cond.true @@ -47119,7 +47119,7 @@ cond.end: ; preds = %entry, %cond.true } ; Function Attrs: nounwind uwtable -define dso_local noundef zeroext i1 @yyjson_write_fp(ptr noundef %fp, ptr noundef readonly %doc, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local noundef zeroext i1 @yyjson_write_fp(ptr noundef captures(address_is_null) %fp, ptr noundef readonly captures(address_is_null) %doc, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %dummy_err.i = alloca %struct.yyjson_write_err, align 8 %dat_len.i = alloca i64, align 8 @@ -47183,14 +47183,14 @@ yyjson_val_write_fp.exit: ; preds = %if.then.i, %if.end. } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_mut_val_write_opts(ptr noundef %val, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %dat_len, ptr noundef %err) local_unnamed_addr #7 { +define dso_local ptr @yyjson_mut_val_write_opts(ptr noundef %val, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %dat_len, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %call = tail call fastcc ptr @yyjson_mut_write_opts_impl(ptr noundef %val, i64 noundef 0, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %dat_len, ptr noundef %err) ret ptr %call } ; Function Attrs: nounwind uwtable -define internal fastcc ptr @yyjson_mut_write_opts_impl(ptr noundef %val, i64 noundef %estimated_val_num, i32 noundef %flg, ptr noundef readonly %alc_ptr, ptr noundef writeonly %dat_len, ptr noundef writeonly %err) unnamed_addr #7 { +define internal fastcc ptr @yyjson_mut_write_opts_impl(ptr noundef %val, i64 noundef %estimated_val_num, i32 noundef %flg, ptr noundef readonly captures(address_is_null) %alc_ptr, ptr noundef writeonly captures(address_is_null) %dat_len, ptr noundef writeonly captures(address_is_null) %err) unnamed_addr #7 { entry: %dummy_err = alloca %struct.yyjson_write_err, align 8 %tobool.not = icmp eq ptr %alc_ptr, null @@ -57599,7 +57599,7 @@ return: ; preds = %if.end606.i.cont, % } ; Function Attrs: nounwind uwtable -define dso_local ptr @yyjson_mut_write_opts(ptr noundef readonly %doc, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %dat_len, ptr noundef %err) local_unnamed_addr #7 { +define dso_local ptr @yyjson_mut_write_opts(ptr noundef readonly captures(address_is_null) %doc, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %dat_len, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %doc, null br i1 %tobool.not, label %if.end, label %if.then @@ -57651,7 +57651,7 @@ if.end: ; preds = %if.end.i, %if.then, } ; Function Attrs: nounwind uwtable -define dso_local noundef zeroext i1 @yyjson_mut_val_write_file(ptr noundef readonly %path, ptr noundef %val, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local noundef zeroext i1 @yyjson_mut_val_write_file(ptr noundef readonly captures(address_is_null) %path, ptr noundef %val, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %dummy_err = alloca %struct.yyjson_write_err, align 8 %dat_len = alloca i64, align 8 @@ -57733,7 +57733,7 @@ return: ; preds = %if.end, %write_dat_ } ; Function Attrs: nounwind uwtable -define dso_local noundef zeroext i1 @yyjson_mut_val_write_fp(ptr noundef %fp, ptr noundef %val, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local noundef zeroext i1 @yyjson_mut_val_write_fp(ptr noundef captures(address_is_null) %fp, ptr noundef %val, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %dummy_err = alloca %struct.yyjson_write_err, align 8 %dat_len = alloca i64, align 8 @@ -57784,7 +57784,7 @@ return: ; preds = %if.end, %write_dat_ } ; Function Attrs: nounwind uwtable -define dso_local noundef zeroext i1 @yyjson_mut_write_file(ptr noundef %path, ptr noundef readonly %doc, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local noundef zeroext i1 @yyjson_mut_write_file(ptr noundef captures(address_is_null) %path, ptr noundef readonly captures(address_is_null) %doc, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %tobool.not = icmp eq ptr %doc, null br i1 %tobool.not, label %cond.end, label %cond.true @@ -57800,7 +57800,7 @@ cond.end: ; preds = %entry, %cond.true } ; Function Attrs: nounwind uwtable -define dso_local noundef zeroext i1 @yyjson_mut_write_fp(ptr noundef %fp, ptr noundef readonly %doc, i32 noundef %flg, ptr noundef %alc_ptr, ptr noundef %err) local_unnamed_addr #7 { +define dso_local noundef zeroext i1 @yyjson_mut_write_fp(ptr noundef captures(address_is_null) %fp, ptr noundef readonly captures(address_is_null) %doc, i32 noundef %flg, ptr noundef captures(address_is_null) %alc_ptr, ptr noundef captures(address_is_null) %err) local_unnamed_addr #7 { entry: %dummy_err.i = alloca %struct.yyjson_write_err, align 8 %dat_len.i = alloca i64, align 8 @@ -57891,7 +57891,7 @@ declare noalias noundef ptr @realloc(ptr allocptr noundef captures(none), i64 no declare void @free(ptr allocptr noundef captures(none)) local_unnamed_addr #19 ; Function Attrs: nofree nounwind memory(argmem: read) uwtable -define internal fastcc zeroext i1 @is_truncated_end(ptr noundef readnone %hdr, ptr noundef %cur, ptr noundef %end, i32 noundef range(i32 2, 12) %code, i32 noundef %flg) unnamed_addr #20 { +define internal fastcc zeroext i1 @is_truncated_end(ptr noundef readnone captures(address) %hdr, ptr noundef %cur, ptr noundef %end, i32 noundef range(i32 2, 12) %code, i32 noundef %flg) unnamed_addr #20 { entry: %end189 = ptrtoint ptr %end to i64 %cmp.not = icmp ult ptr %cur, %end @@ -58497,7 +58497,7 @@ do.end111: ; preds = %do.body103, %do.bod } ; Function Attrs: nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable -define internal fastcc void @bigint_set_buf(ptr noundef nonnull captures(none) initializes((0, 4), (8, 16)) %big, i64 noundef %sig, ptr noundef nonnull captures(none) %exp, ptr noundef %sig_cut, ptr noundef %sig_end, ptr noundef readnone %dot_pos) unnamed_addr #21 { +define internal fastcc void @bigint_set_buf(ptr noundef nonnull captures(none) initializes((0, 4), (8, 16)) %big, i64 noundef %sig, ptr noundef nonnull captures(none) %exp, ptr noundef %sig_cut, ptr noundef %sig_end, ptr noundef readnone captures(address) %dot_pos) unnamed_addr #21 { entry: %tobool.not = icmp eq ptr %sig_cut, null br i1 %tobool.not, label %if.then, label %if.else diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index c5409e09ef4..4ff4bdd4f94 100755 --- a/scripts/setup_pre_commit_patch.sh +++ b/scripts/setup_pre_commit_patch.sh @@ -2,7 +2,7 @@ set -euo pipefail shopt -s inherit_errexit -export GITHUB_PATCH_ID="/llvm-project/commit/" +export GITHUB_PATCH_ID=llvm/llvm-project/pull/125880 export COMPTIME_MODE=0 # Please rebase manually