; LLVM IR from thepowersgang/mrustc :: tools/minicargo (manifest)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.PackageVersion = type { i32, i32, i32, i8, %"class.std::__cxx11::basic_string" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.__gnu_cxx::__normal_iterator.85" = type { ptr }
%class.anon.108 = type { i8 }
%"class.__gnu_cxx::__normal_iterator.110" = type { ptr }
%struct.PackageTarget = type { i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i8, i8, i8, i8, i8, i8, i8, %"class.std::vector.90", %"class.std::vector.12" }
%"class.std::vector.90" = type { %"struct.std::_Vector_base.91" }
%"struct.std::_Vector_base.91" = type { %"struct.std::_Vector_base<PackageTarget::CrateType, std::allocator<PackageTarget::CrateType>>::_Vector_impl" }
%"struct.std::_Vector_base<PackageTarget::CrateType, std::allocator<PackageTarget::CrateType>>::_Vector_impl" = type { %"struct.std::_Vector_base<PackageTarget::CrateType, std::allocator<PackageTarget::CrateType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<PackageTarget::CrateType, std::allocator<PackageTarget::CrateType>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.12" = type { %"struct.std::_Vector_base.13" }
%"struct.std::_Vector_base.13" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.anon.111 = type { ptr }
%class.anon.112 = type { ptr }
%class.anon.113 = type { ptr }
%class.anon.114 = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%class.anon.115 = type { ptr }
%"class.__gnu_cxx::__normal_iterator.38" = type { ptr }
%class.PackageRef = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %struct.PackageVersionSpec, i8, i8, %"class.std::__cxx11::basic_string", i8, %"class.std::vector.12", i8, %"class.std::shared_ptr" }
%struct.PackageVersionSpec = type { %"class.std::vector.39" }
%"class.std::vector.39" = type { %"struct.std::_Vector_base.40" }
%"struct.std::_Vector_base.40" = type { %"struct.std::_Vector_base<PackageVersionSpec::Bound, std::allocator<PackageVersionSpec::Bound>>::_Vector_impl" }
%"struct.std::_Vector_base<PackageVersionSpec::Bound, std::allocator<PackageVersionSpec::Bound>>::_Vector_impl" = type { %"struct.std::_Vector_base<PackageVersionSpec::Bound, std::allocator<PackageVersionSpec::Bound>>::_Vector_impl_data" }
%"struct.std::_Vector_base<PackageVersionSpec::Bound, std::allocator<PackageVersionSpec::Bound>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%class.anon.116 = type { ptr }
%"struct.std::pair.117" = type <{ %"struct.std::_Rb_tree_iterator.119", i8, [7 x i8] }>
%"struct.std::_Rb_tree_iterator.119" = type { ptr }
%"struct.std::pair.121" = type { %"class.std::__cxx11::basic_string", %"class.std::vector.12" }
%"class.__gnu_cxx::__normal_iterator.125" = type { ptr }
%struct.TomlKeyValue = type { %"class.std::vector.12", %struct.TomlValue }
%struct.TomlValue = type { i32, i64, %"class.std::__cxx11::basic_string", %"class.std::vector.27" }
%"class.std::vector.27" = type { %"struct.std::_Vector_base.28" }
%"struct.std::_Vector_base.28" = type { %"struct.std::_Vector_base<TomlValue, std::allocator<TomlValue>>::_Vector_impl" }
%"struct.std::_Vector_base<TomlValue, std::allocator<TomlValue>>::_Vector_impl" = type { %"struct.std::_Vector_base<TomlValue, std::allocator<TomlValue>>::_Vector_impl_data" }
%"struct.std::_Vector_base<TomlValue, std::allocator<TomlValue>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.PackageManifest = type <{ %"class.helpers::path", %"class.std::__cxx11::basic_string", %struct.PackageVersion, %"class.std::__cxx11::basic_string", i32, [4 x i8], %"class.std::__cxx11::basic_string", %"struct.PackageManifest::Dependencies", %"class.std::map.44", %"class.std::vector.49", %class.BuildScriptOutput, %"class.std::map.64", %"class.std::vector.12", %"class.std::vector.12", i8, i8, [6 x i8] }>
%"class.helpers::path" = type { %"class.std::__cxx11::basic_string" }
%"struct.PackageManifest::Dependencies" = type { %"class.std::vector", %"class.std::vector", %"class.std::vector" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<PackageRef, std::allocator<PackageRef>>::_Vector_impl" }
%"struct.std::_Vector_base<PackageRef, std::allocator<PackageRef>>::_Vector_impl" = type { %"struct.std::_Vector_base<PackageRef, std::allocator<PackageRef>>::_Vector_impl_data" }
%"struct.std::_Vector_base<PackageRef, std::allocator<PackageRef>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.44" = type { %"class.std::_Rb_tree.45" }
%"class.std::_Rb_tree.45" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, PackageManifest::Dependencies>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, PackageManifest::Dependencies>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, PackageManifest::Dependencies>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, PackageManifest::Dependencies>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::vector.49" = type { %"struct.std::_Vector_base.50" }
%"struct.std::_Vector_base.50" = type { %"struct.std::_Vector_base<PackageTarget, std::allocator<PackageTarget>>::_Vector_impl" }
%"struct.std::_Vector_base<PackageTarget, std::allocator<PackageTarget>>::_Vector_impl" = type { %"struct.std::_Vector_base<PackageTarget, std::allocator<PackageTarget>>::_Vector_impl_data" }
%"struct.std::_Vector_base<PackageTarget, std::allocator<PackageTarget>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.BuildScriptOutput = type { %"class.std::vector.12", %"class.std::vector.54", %"class.std::vector.54", %"class.std::vector.12", %"class.std::vector.12", %"class.std::vector.59", %"class.std::vector.59" }
%"class.std::vector.54" = type { %"struct.std::_Vector_base.55" }
%"struct.std::_Vector_base.55" = type { %"struct.std::_Vector_base<std::pair<const char *, std::__cxx11::basic_string<char>>, std::allocator<std::pair<const char *, std::__cxx11::basic_string<char>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<const char *, std::__cxx11::basic_string<char>>, std::allocator<std::pair<const char *, std::__cxx11::basic_string<char>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<const char *, std::__cxx11::basic_string<char>>, std::allocator<std::pair<const char *, std::__cxx11::basic_string<char>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<const char *, std::__cxx11::basic_string<char>>, std::allocator<std::pair<const char *, std::__cxx11::basic_string<char>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.59" = type { %"struct.std::_Vector_base.60" }
%"struct.std::_Vector_base.60" = type { %"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::allocator<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::allocator<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::allocator<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::allocator<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.64" = type { %"class.std::_Rb_tree.65" }
%"class.std::_Rb_tree.65" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::vector<std::__cxx11::basic_string<char>>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::vector<std::__cxx11::basic_string<char>>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::vector<std::__cxx11::basic_string<char>>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::vector<std::__cxx11::basic_string<char>>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::pair.123" = type { %"class.std::__cxx11::basic_string", %"class.std::vector.12" }

@.str = external hidden unnamed_addr constant [6 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZTISt13runtime_error = external constant ptr
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [2 x i8], align 1
@__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue = external hidden unnamed_addr constant [100 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZTISt16invalid_argument = external constant ptr
@.str.50 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZTISt9exception = external constant ptr
@.str.84 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [27 x i8], align 1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72)) #3 align 2

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #4

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_113parse_editionER7EditionR12ErrorHandlerRK9TomlValue(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(72)) #3

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorI10PackageRefSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorI10PackageRefSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxeqIP10PackageRefSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt6vectorI10PackageRefSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr, ptr noundef nonnull align 8 dereferenceable(184)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN9__gnu_cxx17__normal_iteratorIPK10PackageRefSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10PackageRefC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN10PackageRefD2Ev(ptr noundef nonnull align 8 dereferenceable(184)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS1_SaIS1_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10PackageRef12fill_from_kvER12ErrorHandlerbRK12TomlKeyValuemPK17WorkspaceManifestRKN7helpers4pathE(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(8), i1 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(96), i64 noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue(ptr noundef nonnull align 8 dereferenceable(594) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(96) %3) #3 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca %struct.PackageVersion, align 8
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %20 = alloca %class.anon.108, align 1
  %21 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %22 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %23 = alloca %"class.__gnu_cxx::__normal_iterator.110", align 8
  %24 = alloca %struct.PackageTarget, align 8
  %25 = alloca i32, align 4
  %26 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %27 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %28 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %29 = alloca %class.anon.111, align 8
  %30 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %31 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %32 = alloca %"class.__gnu_cxx::__normal_iterator.110", align 8
  %33 = alloca %struct.PackageTarget, align 8
  %34 = alloca i32, align 4
  %35 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %36 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %38 = alloca %class.anon.112, align 8
  %39 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %40 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %41 = alloca %"class.__gnu_cxx::__normal_iterator.110", align 8
  %42 = alloca %struct.PackageTarget, align 8
  %43 = alloca i32, align 4
  %44 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %45 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %46 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %47 = alloca %class.anon.113, align 8
  %48 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %49 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %50 = alloca %"class.__gnu_cxx::__normal_iterator.110", align 8
  %51 = alloca %struct.PackageTarget, align 8
  %52 = alloca i32, align 4
  %53 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %54 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %55 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %56 = alloca %class.anon.114, align 8
  %57 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %58 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %59 = alloca %"class.__gnu_cxx::__normal_iterator.110", align 8
  %60 = alloca %struct.PackageTarget, align 8
  %61 = alloca ptr, align 8
  %62 = alloca ptr, align 8
  %63 = alloca ptr, align 8
  %64 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %65 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %66 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %67 = alloca %class.anon.115, align 8
  %68 = alloca i8, align 1
  %69 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %70 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %71 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 8
  %72 = alloca %class.PackageRef, align 8
  %73 = alloca ptr, align 8
  %74 = alloca ptr, align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::vector.12", align 8
  %77 = alloca ptr, align 8
  %78 = alloca ptr, align 8
  %79 = alloca ptr, align 8
  %80 = alloca ptr, align 8
  %81 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %82 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %83 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %84 = alloca %class.anon.116, align 8
  %85 = alloca i8, align 1
  %86 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %87 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %88 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 8
  %89 = alloca %class.PackageRef, align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca ptr, align 8
  %92 = alloca ptr, align 8
  %93 = alloca %"struct.std::pair.117", align 8
  %94 = alloca %"struct.std::pair.121", align 8
  %95 = alloca %"class.std::vector.12", align 8
  %96 = alloca { ptr, i8 }, align 8
  %97 = alloca ptr, align 8
  %98 = alloca %"class.__gnu_cxx::__normal_iterator.125", align 8
  %99 = alloca %"class.__gnu_cxx::__normal_iterator.125", align 8
  %100 = alloca ptr, align 8
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  store ptr %3, ptr %8, align 8, !tbaa !5
  %102 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #13
  store ptr %102, ptr %9, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #13
  %103 = load ptr, ptr %8, align 8, !tbaa !5
  %104 = getelementptr inbounds %struct.TomlKeyValue, ptr %103, i32 0, i32 0
  %105 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef 0) #13
  store ptr %105, ptr %10, align 8, !tbaa !5
  %106 = load ptr, ptr %10, align 8, !tbaa !5
  %107 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef @.str.19)
  br i1 %107, label %108, label %371

108:                                              ; preds = %4
  %109 = load ptr, ptr %8, align 8, !tbaa !5
  %110 = getelementptr inbounds %struct.TomlKeyValue, ptr %109, i32 0, i32 0
  %111 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %110) #13
  %112 = icmp ugt i64 %111, 1
  br i1 %112, label %113, label %114

113:                                              ; preds = %108
  br label %116

114:                                              ; preds = %108
  call void @__assert_fail(ptr noundef @.str.14, ptr noundef @.str.15, i32 noundef 449, ptr noundef @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #14
  unreachable

115:                                              ; No predecessors!
  br label %116

116:                                              ; preds = %115, %113
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #13
  %117 = load ptr, ptr %8, align 8, !tbaa !5
  %118 = getelementptr inbounds %struct.TomlKeyValue, ptr %117, i32 0, i32 0
  %119 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %118, i64 noundef 1) #13
  store ptr %119, ptr %11, align 8, !tbaa !5
  %120 = load ptr, ptr %11, align 8, !tbaa !5
  %121 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef @.str.46)
  br i1 %121, label %122, label %141

122:                                              ; preds = %116
  %123 = load ptr, ptr %9, align 8, !tbaa !5
  %124 = getelementptr inbounds %class.PackageManifest, ptr %123, i32 0, i32 1
  %125 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef @.str.30)
  br i1 %125, label %126, label %128

126:                                              ; preds = %122
  %127 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %127, ptr noundef @.str.47) #15
  unreachable

128:                                              ; preds = %122
  %129 = load ptr, ptr %8, align 8, !tbaa !5
  %130 = getelementptr inbounds %struct.TomlKeyValue, ptr %129, i32 0, i32 1
  %131 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72) %130)
  %132 = load ptr, ptr %9, align 8, !tbaa !5
  %133 = getelementptr inbounds %class.PackageManifest, ptr %132, i32 0, i32 1
  %134 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(32) %131)
  %135 = load ptr, ptr %9, align 8, !tbaa !5
  %136 = getelementptr inbounds %class.PackageManifest, ptr %135, i32 0, i32 1
  %137 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %136, ptr noundef @.str.30)
  br i1 %137, label %138, label %140

138:                                              ; preds = %128
  %139 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %139, ptr noundef @.str.48) #15
  unreachable

140:                                              ; preds = %128
  br label %369

141:                                              ; preds = %116
  %142 = load ptr, ptr %11, align 8, !tbaa !5
  %143 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef @.str.49)
  br i1 %143, label %144, label %180

144:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 48, ptr %12) #13
  %145 = load ptr, ptr %8, align 8, !tbaa !5
  %146 = getelementptr inbounds %struct.TomlKeyValue, ptr %145, i32 0, i32 1
  %147 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72) %146)
          to label %148 unwind label %156

148:                                              ; preds = %144
  invoke void @_ZN14PackageVersion11from_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%struct.PackageVersion) align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %149 unwind label %156

149:                                              ; preds = %148
  %150 = load ptr, ptr %9, align 8, !tbaa !5
  %151 = getelementptr inbounds %class.PackageManifest, ptr %150, i32 0, i32 2
  %152 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN14PackageVersionaSEOS_(ptr noundef nonnull align 8 dereferenceable(48) %151, ptr noundef nonnull align 8 dereferenceable(48) %12) #13
  call void @_ZN14PackageVersionD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #13
  call void @llvm.lifetime.end.p0(i64 48, ptr %12) #13
  %153 = load ptr, ptr %9, align 8, !tbaa !5
  %154 = getelementptr inbounds %class.PackageManifest, ptr %153, i32 0, i32 2
  %155 = getelementptr inbounds %struct.PackageVersion, ptr %154, i32 0, i32 3
  store i8 1, ptr %155, align 4, !tbaa !9
  br label %179

156:                                              ; preds = %148, %144
  %157 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt16invalid_argument
  %158 = extractvalue { ptr, i32 } %157, 0
  store ptr %158, ptr %13, align 8
  %159 = extractvalue { ptr, i32 } %157, 1
  store i32 %159, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 48, ptr %12) #13
  br label %160

160:                                              ; preds = %156
  %161 = load i32, ptr %14, align 4
  %162 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt16invalid_argument) #13
  %163 = icmp eq i32 %161, %162
  br i1 %163, label %164, label %370

164:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #13
  %165 = load ptr, ptr %13, align 8
  %166 = call ptr @__cxa_begin_catch(ptr %165) #13
  store ptr %166, ptr %15, align 8
  %167 = load ptr, ptr %6, align 8, !tbaa !5
  %168 = load ptr, ptr %15, align 8, !tbaa !5
  %169 = load ptr, ptr %168, align 8, !tbaa !52
  %170 = getelementptr inbounds ptr, ptr %169, i64 2
  %171 = load ptr, ptr %170, align 8
  %172 = call noundef ptr %171(ptr noundef nonnull align 8 dereferenceable(16) %168) #13
  invoke void @_ZN12ErrorHandler5errorIJPKcS2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %167, ptr noundef @.str.50, ptr noundef %172) #15
          to label %173 unwind label %174

173:                                              ; preds = %164
  unreachable

174:                                              ; preds = %164
  %175 = landingpad { ptr, i32 }
          cleanup
  %176 = extractvalue { ptr, i32 } %175, 0
  store ptr %176, ptr %13, align 8
  %177 = extractvalue { ptr, i32 } %175, 1
  store i32 %177, ptr %14, align 4
  invoke void @__cxa_end_catch()
          to label %178 unwind label %968

178:                                              ; preds = %174
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #13
  br label %370

179:                                              ; preds = %149
  br label %368

180:                                              ; preds = %141
  %181 = load ptr, ptr %11, align 8, !tbaa !5
  %182 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef @.str.51)
  br i1 %182, label %183, label %219

183:                                              ; preds = %180
  %184 = load ptr, ptr %9, align 8, !tbaa !5
  %185 = getelementptr inbounds %class.PackageManifest, ptr %184, i32 0, i32 6
  %186 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %185, ptr noundef @.str.30)
  br i1 %186, label %187, label %189

187:                                              ; preds = %183
  %188 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %188, ptr noundef @.str.52) #15
  unreachable

189:                                              ; preds = %183
  %190 = load ptr, ptr %8, align 8, !tbaa !5
  %191 = getelementptr inbounds %struct.TomlKeyValue, ptr %190, i32 0, i32 1
  %192 = getelementptr inbounds %struct.TomlValue, ptr %191, i32 0, i32 0
  %193 = load i32, ptr %192, align 8, !tbaa !54
  %194 = icmp eq i32 %193, 0
  br i1 %194, label %195, label %205

195:                                              ; preds = %189
  %196 = load ptr, ptr %8, align 8, !tbaa !5
  %197 = getelementptr inbounds %struct.TomlKeyValue, ptr %196, i32 0, i32 1
  %198 = call noundef zeroext i1 @_ZNK9TomlValue7as_boolEv(ptr noundef nonnull align 8 dereferenceable(72) %197)
  br i1 %198, label %199, label %201

199:                                              ; preds = %195
  %200 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZN12ErrorHandler4todoIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %200, ptr noundef @.str.53) #15
  unreachable

201:                                              ; preds = %195
  %202 = load ptr, ptr %9, align 8, !tbaa !5
  %203 = getelementptr inbounds %class.PackageManifest, ptr %202, i32 0, i32 6
  %204 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %203, ptr noundef @.str.43)
  br label %212

205:                                              ; preds = %189
  %206 = load ptr, ptr %8, align 8, !tbaa !5
  %207 = getelementptr inbounds %struct.TomlKeyValue, ptr %206, i32 0, i32 1
  %208 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72) %207)
  %209 = load ptr, ptr %9, align 8, !tbaa !5
  %210 = getelementptr inbounds %class.PackageManifest, ptr %209, i32 0, i32 6
  %211 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %210, ptr noundef nonnull align 8 dereferenceable(32) %208)
  br label %212

212:                                              ; preds = %205, %201
  %213 = load ptr, ptr %9, align 8, !tbaa !5
  %214 = getelementptr inbounds %class.PackageManifest, ptr %213, i32 0, i32 6
  %215 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %214, ptr noundef @.str.30)
  br i1 %215, label %216, label %218

216:                                              ; preds = %212
  %217 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %217, ptr noundef @.str.54) #15
  unreachable

218:                                              ; preds = %212
  br label %367

219:                                              ; preds = %180
  %220 = load ptr, ptr %11, align 8, !tbaa !5
  %221 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %220, ptr noundef @.str.55)
  br i1 %221, label %246, label %222

222:                                              ; preds = %219
  %223 = load ptr, ptr %11, align 8, !tbaa !5
  %224 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %223, ptr noundef @.str.56)
  br i1 %224, label %246, label %225

225:                                              ; preds = %222
  %226 = load ptr, ptr %11, align 8, !tbaa !5
  %227 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %226, ptr noundef @.str.57)
  br i1 %227, label %246, label %228

228:                                              ; preds = %225
  %229 = load ptr, ptr %11, align 8, !tbaa !5
  %230 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %229, ptr noundef @.str.58)
  br i1 %230, label %246, label %231

231:                                              ; preds = %228
  %232 = load ptr, ptr %11, align 8, !tbaa !5
  %233 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %232, ptr noundef @.str.59)
  br i1 %233, label %246, label %234

234:                                              ; preds = %231
  %235 = load ptr, ptr %11, align 8, !tbaa !5
  %236 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %235, ptr noundef @.str.60)
  br i1 %236, label %246, label %237

237:                                              ; preds = %234
  %238 = load ptr, ptr %11, align 8, !tbaa !5
  %239 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %238, ptr noundef @.str.61)
  br i1 %239, label %246, label %240

240:                                              ; preds = %237
  %241 = load ptr, ptr %11, align 8, !tbaa !5
  %242 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %241, ptr noundef @.str.62)
  br i1 %242, label %246, label %243

243:                                              ; preds = %240
  %244 = load ptr, ptr %11, align 8, !tbaa !5
  %245 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %244, ptr noundef @.str.23)
  br i1 %245, label %246, label %247

246:                                              ; preds = %243, %240, %237, %234, %231, %228, %225, %222, %219
  br label %366

247:                                              ; preds = %243
  %248 = load ptr, ptr %11, align 8, !tbaa !5
  %249 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %248, ptr noundef @.str.18)
  br i1 %249, label %253, label %250

250:                                              ; preds = %247
  %251 = load ptr, ptr %11, align 8, !tbaa !5
  %252 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %251, ptr noundef @.str.63)
  br i1 %252, label %253, label %254

253:                                              ; preds = %250, %247
  br label %365

254:                                              ; preds = %250
  %255 = load ptr, ptr %11, align 8, !tbaa !5
  %256 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %255, ptr noundef @.str.64)
  br i1 %256, label %257, label %258

257:                                              ; preds = %254
  br label %364

258:                                              ; preds = %254
  %259 = load ptr, ptr %11, align 8, !tbaa !5
  %260 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %259, ptr noundef @.str.22)
  br i1 %260, label %261, label %262

261:                                              ; preds = %258
  br label %363

262:                                              ; preds = %258
  %263 = load ptr, ptr %11, align 8, !tbaa !5
  %264 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %263, ptr noundef @.str.65)
  br i1 %264, label %265, label %283

265:                                              ; preds = %262
  %266 = load ptr, ptr %9, align 8, !tbaa !5
  %267 = getelementptr inbounds %class.PackageManifest, ptr %266, i32 0, i32 3
  %268 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %267, ptr noundef @.str.30)
  br i1 %268, label %269, label %276

269:                                              ; preds = %265
  %270 = call ptr @__cxa_allocate_exception(i64 16) #13
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %270, ptr noundef @.str.66)
          to label %271 unwind label %272

271:                                              ; preds = %269
  call void @__cxa_throw(ptr %270, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #15
  unreachable

272:                                              ; preds = %269
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %13, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %14, align 4
  call void @__cxa_free_exception(ptr %270) #13
  br label %370

276:                                              ; preds = %265
  %277 = load ptr, ptr %8, align 8, !tbaa !5
  %278 = getelementptr inbounds %struct.TomlKeyValue, ptr %277, i32 0, i32 1
  %279 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72) %278)
  %280 = load ptr, ptr %9, align 8, !tbaa !5
  %281 = getelementptr inbounds %class.PackageManifest, ptr %280, i32 0, i32 3
  %282 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %281, ptr noundef nonnull align 8 dereferenceable(32) %279)
  br label %362

283:                                              ; preds = %262
  %284 = load ptr, ptr %11, align 8, !tbaa !5
  %285 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %284, ptr noundef @.str.67)
  br i1 %285, label %286, label %287

286:                                              ; preds = %283
  br label %361

287:                                              ; preds = %283
  %288 = load ptr, ptr %11, align 8, !tbaa !5
  %289 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %288, ptr noundef @.str.68)
  br i1 %289, label %290, label %291

290:                                              ; preds = %287
  br label %360

291:                                              ; preds = %287
  %292 = load ptr, ptr %11, align 8, !tbaa !5
  %293 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %292, ptr noundef @.str.69)
  br i1 %293, label %294, label %295

294:                                              ; preds = %291
  br label %359

295:                                              ; preds = %291
  %296 = load ptr, ptr %11, align 8, !tbaa !5
  %297 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %296, ptr noundef @.str.13)
  br i1 %297, label %298, label %299

298:                                              ; preds = %295
  br label %358

299:                                              ; preds = %295
  %300 = load ptr, ptr %11, align 8, !tbaa !5
  %301 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %300, ptr noundef @.str.21)
  br i1 %301, label %302, label %349

302:                                              ; preds = %299
  %303 = load ptr, ptr %8, align 8, !tbaa !5
  %304 = getelementptr inbounds %struct.TomlKeyValue, ptr %303, i32 0, i32 0
  %305 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %304) #13
  %306 = icmp eq i64 %305, 3
  br i1 %306, label %307, label %334

307:                                              ; preds = %302
  %308 = load ptr, ptr %8, align 8, !tbaa !5
  %309 = getelementptr inbounds %struct.TomlKeyValue, ptr %308, i32 0, i32 0
  %310 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %309, i64 noundef 2) #13
  %311 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %310, ptr noundef @.str.13)
  br i1 %311, label %312, label %334

312:                                              ; preds = %307
  %313 = load ptr, ptr %7, align 8, !tbaa !5
  %314 = icmp ne ptr %313, null
  br i1 %314, label %317, label %315

315:                                              ; preds = %312
  %316 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %316, ptr noundef @.str.70) #15
  unreachable

317:                                              ; preds = %312
  %318 = load ptr, ptr %8, align 8, !tbaa !5
  %319 = getelementptr inbounds %struct.TomlKeyValue, ptr %318, i32 0, i32 1
  %320 = call noundef zeroext i1 @_ZNK9TomlValue7as_boolEv(ptr noundef nonnull align 8 dereferenceable(72) %319)
  br i1 %320, label %321, label %332

321:                                              ; preds = %317
  %322 = load ptr, ptr %7, align 8, !tbaa !5
  %323 = call noundef i32 @_ZNK17WorkspaceManifest7editionEv(ptr noundef nonnull align 8 dereferenceable(128) %322)
  %324 = icmp eq i32 %323, 0
  br i1 %324, label %325, label %327

325:                                              ; preds = %321
  %326 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %326, ptr noundef @.str.71) #15
  unreachable

327:                                              ; preds = %321
  %328 = load ptr, ptr %7, align 8, !tbaa !5
  %329 = call noundef i32 @_ZNK17WorkspaceManifest7editionEv(ptr noundef nonnull align 8 dereferenceable(128) %328)
  %330 = load ptr, ptr %9, align 8, !tbaa !5
  %331 = getelementptr inbounds %class.PackageManifest, ptr %330, i32 0, i32 4
  store i32 %329, ptr %331, align 8, !tbaa !62
  br label %332

332:                                              ; preds = %327, %317
  br label %333

333:                                              ; preds = %332
  br label %348

334:                                              ; preds = %307, %302
  %335 = load ptr, ptr %8, align 8, !tbaa !5
  %336 = getelementptr inbounds %struct.TomlKeyValue, ptr %335, i32 0, i32 0
  %337 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %336) #13
  %338 = icmp ne i64 %337, 2
  br i1 %338, label %339, label %341

339:                                              ; preds = %334
  %340 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %340, ptr noundef @.str.72) #15
  unreachable

341:                                              ; preds = %334
  %342 = load ptr, ptr %9, align 8, !tbaa !5
  %343 = getelementptr inbounds %class.PackageManifest, ptr %342, i32 0, i32 4
  %344 = load ptr, ptr %6, align 8, !tbaa !5
  %345 = load ptr, ptr %8, align 8, !tbaa !5
  %346 = getelementptr inbounds %struct.TomlKeyValue, ptr %345, i32 0, i32 1
  call void @_ZN12_GLOBAL__N_113parse_editionER7EditionR12ErrorHandlerRK9TomlValue(ptr noundef nonnull align 4 dereferenceable(4) %343, ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef nonnull align 8 dereferenceable(72) %346)
  br label %347

347:                                              ; preds = %341
  br label %348

348:                                              ; preds = %347, %333
  br label %357

349:                                              ; preds = %299
  %350 = load ptr, ptr %6, align 8, !tbaa !5
  %351 = load ptr, ptr %11, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %351)
  invoke void @_ZN12ErrorHandler7warningIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %350, ptr noundef @.str.73, ptr noundef %16, ptr noundef @.str.74)
          to label %352 unwind label %353

352:                                              ; preds = %349
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #13
  br label %357

353:                                              ; preds = %349
  %354 = landingpad { ptr, i32 }
          cleanup
  %355 = extractvalue { ptr, i32 } %354, 0
  store ptr %355, ptr %13, align 8
  %356 = extractvalue { ptr, i32 } %354, 1
  store i32 %356, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #13
  br label %370

357:                                              ; preds = %352, %348
  br label %358

358:                                              ; preds = %357, %298
  br label %359

359:                                              ; preds = %358, %294
  br label %360

360:                                              ; preds = %359, %290
  br label %361

361:                                              ; preds = %360, %286
  br label %362

362:                                              ; preds = %361, %276
  br label %363

363:                                              ; preds = %362, %261
  br label %364

364:                                              ; preds = %363, %257
  br label %365

365:                                              ; preds = %364, %253
  br label %366

366:                                              ; preds = %365, %246
  br label %367

367:                                              ; preds = %366, %218
  br label %368

368:                                              ; preds = %367, %179
  br label %369

369:                                              ; preds = %368, %140
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #13
  br label %961

370:                                              ; preds = %353, %272, %178, %160
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #13
  br label %962

371:                                              ; preds = %4
  %372 = load ptr, ptr %10, align 8, !tbaa !5
  %373 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %372, ptr noundef @.str.75)
  br i1 %373, label %374, label %410

374:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #13
  %375 = load ptr, ptr %9, align 8, !tbaa !5
  %376 = getelementptr inbounds %class.PackageManifest, ptr %375, i32 0, i32 9
  %377 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %376) #13
  %378 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %18, i32 0, i32 0
  store ptr %377, ptr %378, align 8
  %379 = load ptr, ptr %9, align 8, !tbaa !5
  %380 = getelementptr inbounds %class.PackageManifest, ptr %379, i32 0, i32 9
  %381 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %380) #13
  %382 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %19, i32 0, i32 0
  store ptr %381, ptr %382, align 8
  %383 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %18, i32 0, i32 0
  %384 = load ptr, ptr %383, align 8
  %385 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %19, i32 0, i32 0
  %386 = load ptr, ptr %385, align 8
  %387 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_0ET_SI_SI_T0_"(ptr %384, ptr %386)
  %388 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %17, i32 0, i32 0
  store ptr %387, ptr %388, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #13
  %389 = load ptr, ptr %9, align 8, !tbaa !5
  %390 = getelementptr inbounds %class.PackageManifest, ptr %389, i32 0, i32 9
  %391 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %390) #13
  %392 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %21, i32 0, i32 0
  store ptr %391, ptr %392, align 8
  %393 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %21) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #13
  br i1 %393, label %394, label %406

394:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #13
  %395 = load ptr, ptr %9, align 8, !tbaa !5
  %396 = getelementptr inbounds %class.PackageManifest, ptr %395, i32 0, i32 9
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %17) #13
  call void @llvm.lifetime.start.p0(i64 136, ptr %24) #13
  call void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %24, i32 noundef 0)
  %397 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.110", ptr %23, i32 0, i32 0
  %398 = load ptr, ptr %397, align 8
  %399 = invoke ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %396, ptr %398, ptr noundef nonnull align 8 dereferenceable(136) %24)
          to label %400 unwind label %402

400:                                              ; preds = %394
  %401 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %22, i32 0, i32 0
  store ptr %399, ptr %401, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %22, i64 8, i1 false), !tbaa.struct !63
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %24) #13
  call void @llvm.lifetime.end.p0(i64 136, ptr %24) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #13
  br label %406

402:                                              ; preds = %394
  %403 = landingpad { ptr, i32 }
          cleanup
  %404 = extractvalue { ptr, i32 } %403, 0
  store ptr %404, ptr %13, align 8
  %405 = extractvalue { ptr, i32 } %403, 1
  store i32 %405, ptr %14, align 4
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %24) #13
  call void @llvm.lifetime.end.p0(i64 136, ptr %24) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #13
  br label %962

406:                                              ; preds = %400, %374
  %407 = load ptr, ptr %6, align 8, !tbaa !5
  %408 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #13
  %409 = load ptr, ptr %8, align 8, !tbaa !5
  call void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8) %407, ptr noundef nonnull align 8 dereferenceable(136) %408, ptr noundef nonnull align 8 dereferenceable(96) %409, i32 noundef 1)
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #13
  br label %960

410:                                              ; preds = %371
  %411 = load ptr, ptr %10, align 8, !tbaa !5
  %412 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %411, ptr noundef @.str.39)
  br i1 %412, label %413, label %464

413:                                              ; preds = %410
  %414 = load ptr, ptr %8, align 8, !tbaa !5
  %415 = getelementptr inbounds %struct.TomlKeyValue, ptr %414, i32 0, i32 0
  %416 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %415) #13
  %417 = icmp ugt i64 %416, 1
  br i1 %417, label %418, label %419

418:                                              ; preds = %413
  br label %421

419:                                              ; preds = %413
  call void @__assert_fail(ptr noundef @.str.14, ptr noundef @.str.15, i32 noundef 587, ptr noundef @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #14
  unreachable

420:                                              ; No predecessors!
  br label %421

421:                                              ; preds = %420, %418
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #13
  %422 = load ptr, ptr %8, align 8, !tbaa !5
  %423 = getelementptr inbounds %struct.TomlKeyValue, ptr %422, i32 0, i32 0
  %424 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %423, i64 noundef 1) #13
  %425 = call noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %424, ptr noundef null, i32 noundef 10)
  store i32 %425, ptr %25, align 4, !tbaa !64
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #13
  %426 = load ptr, ptr %9, align 8, !tbaa !5
  %427 = getelementptr inbounds %class.PackageManifest, ptr %426, i32 0, i32 9
  %428 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %427) #13
  %429 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %27, i32 0, i32 0
  store ptr %428, ptr %429, align 8
  %430 = load ptr, ptr %9, align 8, !tbaa !5
  %431 = getelementptr inbounds %class.PackageManifest, ptr %430, i32 0, i32 9
  %432 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %431) #13
  %433 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %28, i32 0, i32 0
  store ptr %432, ptr %433, align 8
  %434 = getelementptr inbounds %class.anon.111, ptr %29, i32 0, i32 0
  store ptr %25, ptr %434, align 8, !tbaa !5
  %435 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %27, i32 0, i32 0
  %436 = load ptr, ptr %435, align 8
  %437 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %28, i32 0, i32 0
  %438 = load ptr, ptr %437, align 8
  %439 = getelementptr inbounds %class.anon.111, ptr %29, i32 0, i32 0
  %440 = load ptr, ptr %439, align 8
  %441 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_1ET_SI_SI_T0_"(ptr %436, ptr %438, ptr %440)
  %442 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %26, i32 0, i32 0
  store ptr %441, ptr %442, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #13
  %443 = load ptr, ptr %9, align 8, !tbaa !5
  %444 = getelementptr inbounds %class.PackageManifest, ptr %443, i32 0, i32 9
  %445 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %444) #13
  %446 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %30, i32 0, i32 0
  store ptr %445, ptr %446, align 8
  %447 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 8 dereferenceable(8) %30) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #13
  br i1 %447, label %448, label %460

448:                                              ; preds = %421
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #13
  %449 = load ptr, ptr %9, align 8, !tbaa !5
  %450 = getelementptr inbounds %class.PackageManifest, ptr %449, i32 0, i32 9
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %26) #13
  call void @llvm.lifetime.start.p0(i64 136, ptr %33) #13
  call void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %33, i32 noundef 1)
  %451 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.110", ptr %32, i32 0, i32 0
  %452 = load ptr, ptr %451, align 8
  %453 = invoke ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %450, ptr %452, ptr noundef nonnull align 8 dereferenceable(136) %33)
          to label %454 unwind label %456

454:                                              ; preds = %448
  %455 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %31, i32 0, i32 0
  store ptr %453, ptr %455, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %26, ptr align 8 %31, i64 8, i1 false), !tbaa.struct !63
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %33) #13
  call void @llvm.lifetime.end.p0(i64 136, ptr %33) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #13
  br label %460

456:                                              ; preds = %448
  %457 = landingpad { ptr, i32 }
          cleanup
  %458 = extractvalue { ptr, i32 } %457, 0
  store ptr %458, ptr %13, align 8
  %459 = extractvalue { ptr, i32 } %457, 1
  store i32 %459, ptr %14, align 4
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %33) #13
  call void @llvm.lifetime.end.p0(i64 136, ptr %33) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #13
  br label %962

460:                                              ; preds = %454, %421
  %461 = load ptr, ptr %6, align 8, !tbaa !5
  %462 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %26) #13
  %463 = load ptr, ptr %8, align 8, !tbaa !5
  call void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8) %461, ptr noundef nonnull align 8 dereferenceable(136) %462, ptr noundef nonnull align 8 dereferenceable(96) %463, i32 noundef 2)
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #13
  br label %959

464:                                              ; preds = %410
  %465 = load ptr, ptr %10, align 8, !tbaa !5
  %466 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %465, ptr noundef @.str.76)
  br i1 %466, label %467, label %518

467:                                              ; preds = %464
  %468 = load ptr, ptr %8, align 8, !tbaa !5
  %469 = getelementptr inbounds %struct.TomlKeyValue, ptr %468, i32 0, i32 0
  %470 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %469) #13
  %471 = icmp ugt i64 %470, 1
  br i1 %471, label %472, label %473

472:                                              ; preds = %467
  br label %475

473:                                              ; preds = %467
  call void @__assert_fail(ptr noundef @.str.14, ptr noundef @.str.15, i32 noundef 598, ptr noundef @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #14
  unreachable

474:                                              ; No predecessors!
  br label %475

475:                                              ; preds = %474, %472
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #13
  %476 = load ptr, ptr %8, align 8, !tbaa !5
  %477 = getelementptr inbounds %struct.TomlKeyValue, ptr %476, i32 0, i32 0
  %478 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %477, i64 noundef 1) #13
  %479 = call noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %478, ptr noundef null, i32 noundef 10)
  store i32 %479, ptr %34, align 4, !tbaa !64
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #13
  %480 = load ptr, ptr %9, align 8, !tbaa !5
  %481 = getelementptr inbounds %class.PackageManifest, ptr %480, i32 0, i32 9
  %482 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %481) #13
  %483 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %36, i32 0, i32 0
  store ptr %482, ptr %483, align 8
  %484 = load ptr, ptr %9, align 8, !tbaa !5
  %485 = getelementptr inbounds %class.PackageManifest, ptr %484, i32 0, i32 9
  %486 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %485) #13
  %487 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %37, i32 0, i32 0
  store ptr %486, ptr %487, align 8
  %488 = getelementptr inbounds %class.anon.112, ptr %38, i32 0, i32 0
  store ptr %34, ptr %488, align 8, !tbaa !5
  %489 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %36, i32 0, i32 0
  %490 = load ptr, ptr %489, align 8
  %491 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %37, i32 0, i32 0
  %492 = load ptr, ptr %491, align 8
  %493 = getelementptr inbounds %class.anon.112, ptr %38, i32 0, i32 0
  %494 = load ptr, ptr %493, align 8
  %495 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_2ET_SI_SI_T0_"(ptr %490, ptr %492, ptr %494)
  %496 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %35, i32 0, i32 0
  store ptr %495, ptr %496, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #13
  %497 = load ptr, ptr %9, align 8, !tbaa !5
  %498 = getelementptr inbounds %class.PackageManifest, ptr %497, i32 0, i32 9
  %499 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %498) #13
  %500 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %39, i32 0, i32 0
  store ptr %499, ptr %500, align 8
  %501 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(8) %39) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #13
  br i1 %501, label %502, label %514

502:                                              ; preds = %475
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #13
  %503 = load ptr, ptr %9, align 8, !tbaa !5
  %504 = getelementptr inbounds %class.PackageManifest, ptr %503, i32 0, i32 9
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %35) #13
  call void @llvm.lifetime.start.p0(i64 136, ptr %42) #13
  call void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %42, i32 noundef 2)
  %505 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.110", ptr %41, i32 0, i32 0
  %506 = load ptr, ptr %505, align 8
  %507 = invoke ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %504, ptr %506, ptr noundef nonnull align 8 dereferenceable(136) %42)
          to label %508 unwind label %510

508:                                              ; preds = %502
  %509 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %40, i32 0, i32 0
  store ptr %507, ptr %509, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %35, ptr align 8 %40, i64 8, i1 false), !tbaa.struct !63
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %42) #13
  call void @llvm.lifetime.end.p0(i64 136, ptr %42) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #13
  br label %514

510:                                              ; preds = %502
  %511 = landingpad { ptr, i32 }
          cleanup
  %512 = extractvalue { ptr, i32 } %511, 0
  store ptr %512, ptr %13, align 8
  %513 = extractvalue { ptr, i32 } %511, 1
  store i32 %513, ptr %14, align 4
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %42) #13
  call void @llvm.lifetime.end.p0(i64 136, ptr %42) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #13
  br label %962

514:                                              ; preds = %508, %475
  %515 = load ptr, ptr %6, align 8, !tbaa !5
  %516 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #13
  %517 = load ptr, ptr %8, align 8, !tbaa !5
  call void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8) %515, ptr noundef nonnull align 8 dereferenceable(136) %516, ptr noundef nonnull align 8 dereferenceable(96) %517, i32 noundef 2)
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #13
  br label %958

518:                                              ; preds = %464
  %519 = load ptr, ptr %10, align 8, !tbaa !5
  %520 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %519, ptr noundef @.str.77)
  br i1 %520, label %521, label %572

521:                                              ; preds = %518
  %522 = load ptr, ptr %8, align 8, !tbaa !5
  %523 = getelementptr inbounds %struct.TomlKeyValue, ptr %522, i32 0, i32 0
  %524 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %523) #13
  %525 = icmp ugt i64 %524, 1
  br i1 %525, label %526, label %527

526:                                              ; preds = %521
  br label %529

527:                                              ; preds = %521
  call void @__assert_fail(ptr noundef @.str.14, ptr noundef @.str.15, i32 noundef 609, ptr noundef @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #14
  unreachable

528:                                              ; No predecessors!
  br label %529

529:                                              ; preds = %528, %526
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #13
  %530 = load ptr, ptr %8, align 8, !tbaa !5
  %531 = getelementptr inbounds %struct.TomlKeyValue, ptr %530, i32 0, i32 0
  %532 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %531, i64 noundef 1) #13
  %533 = call noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %532, ptr noundef null, i32 noundef 10)
  store i32 %533, ptr %43, align 4, !tbaa !64
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #13
  %534 = load ptr, ptr %9, align 8, !tbaa !5
  %535 = getelementptr inbounds %class.PackageManifest, ptr %534, i32 0, i32 9
  %536 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %535) #13
  %537 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %45, i32 0, i32 0
  store ptr %536, ptr %537, align 8
  %538 = load ptr, ptr %9, align 8, !tbaa !5
  %539 = getelementptr inbounds %class.PackageManifest, ptr %538, i32 0, i32 9
  %540 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %539) #13
  %541 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %46, i32 0, i32 0
  store ptr %540, ptr %541, align 8
  %542 = getelementptr inbounds %class.anon.113, ptr %47, i32 0, i32 0
  store ptr %43, ptr %542, align 8, !tbaa !5
  %543 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %45, i32 0, i32 0
  %544 = load ptr, ptr %543, align 8
  %545 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %46, i32 0, i32 0
  %546 = load ptr, ptr %545, align 8
  %547 = getelementptr inbounds %class.anon.113, ptr %47, i32 0, i32 0
  %548 = load ptr, ptr %547, align 8
  %549 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_3ET_SI_SI_T0_"(ptr %544, ptr %546, ptr %548)
  %550 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %44, i32 0, i32 0
  store ptr %549, ptr %550, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #13
  %551 = load ptr, ptr %9, align 8, !tbaa !5
  %552 = getelementptr inbounds %class.PackageManifest, ptr %551, i32 0, i32 9
  %553 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %552) #13
  %554 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %48, i32 0, i32 0
  store ptr %553, ptr %554, align 8
  %555 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %48) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #13
  br i1 %555, label %556, label %568

556:                                              ; preds = %529
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #13
  %557 = load ptr, ptr %9, align 8, !tbaa !5
  %558 = getelementptr inbounds %class.PackageManifest, ptr %557, i32 0, i32 9
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %50, ptr noundef nonnull align 8 dereferenceable(8) %44) #13
  call void @llvm.lifetime.start.p0(i64 136, ptr %51) #13
  call void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %51, i32 noundef 3)
  %559 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.110", ptr %50, i32 0, i32 0
  %560 = load ptr, ptr %559, align 8
  %561 = invoke ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %558, ptr %560, ptr noundef nonnull align 8 dereferenceable(136) %51)
          to label %562 unwind label %564

562:                                              ; preds = %556
  %563 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %49, i32 0, i32 0
  store ptr %561, ptr %563, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %44, ptr align 8 %49, i64 8, i1 false), !tbaa.struct !63
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %51) #13
  call void @llvm.lifetime.end.p0(i64 136, ptr %51) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #13
  br label %568

564:                                              ; preds = %556
  %565 = landingpad { ptr, i32 }
          cleanup
  %566 = extractvalue { ptr, i32 } %565, 0
  store ptr %566, ptr %13, align 8
  %567 = extractvalue { ptr, i32 } %565, 1
  store i32 %567, ptr %14, align 4
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %51) #13
  call void @llvm.lifetime.end.p0(i64 136, ptr %51) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #13
  br label %962

568:                                              ; preds = %562, %529
  %569 = load ptr, ptr %6, align 8, !tbaa !5
  %570 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %44) #13
  %571 = load ptr, ptr %8, align 8, !tbaa !5
  call void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8) %569, ptr noundef nonnull align 8 dereferenceable(136) %570, ptr noundef nonnull align 8 dereferenceable(96) %571, i32 noundef 2)
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #13
  br label %957

572:                                              ; preds = %518
  %573 = load ptr, ptr %10, align 8, !tbaa !5
  %574 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %573, ptr noundef @.str.78)
  br i1 %574, label %575, label %626

575:                                              ; preds = %572
  %576 = load ptr, ptr %8, align 8, !tbaa !5
  %577 = getelementptr inbounds %struct.TomlKeyValue, ptr %576, i32 0, i32 0
  %578 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %577) #13
  %579 = icmp ugt i64 %578, 1
  br i1 %579, label %580, label %581

580:                                              ; preds = %575
  br label %583

581:                                              ; preds = %575
  call void @__assert_fail(ptr noundef @.str.14, ptr noundef @.str.15, i32 noundef 620, ptr noundef @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #14
  unreachable

582:                                              ; No predecessors!
  br label %583

583:                                              ; preds = %582, %580
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #13
  %584 = load ptr, ptr %8, align 8, !tbaa !5
  %585 = getelementptr inbounds %struct.TomlKeyValue, ptr %584, i32 0, i32 0
  %586 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %585, i64 noundef 1) #13
  %587 = call noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %586, ptr noundef null, i32 noundef 10)
  store i32 %587, ptr %52, align 4, !tbaa !64
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #13
  %588 = load ptr, ptr %9, align 8, !tbaa !5
  %589 = getelementptr inbounds %class.PackageManifest, ptr %588, i32 0, i32 9
  %590 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %589) #13
  %591 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %54, i32 0, i32 0
  store ptr %590, ptr %591, align 8
  %592 = load ptr, ptr %9, align 8, !tbaa !5
  %593 = getelementptr inbounds %class.PackageManifest, ptr %592, i32 0, i32 9
  %594 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %593) #13
  %595 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %55, i32 0, i32 0
  store ptr %594, ptr %595, align 8
  %596 = getelementptr inbounds %class.anon.114, ptr %56, i32 0, i32 0
  store ptr %52, ptr %596, align 8, !tbaa !5
  %597 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %54, i32 0, i32 0
  %598 = load ptr, ptr %597, align 8
  %599 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %55, i32 0, i32 0
  %600 = load ptr, ptr %599, align 8
  %601 = getelementptr inbounds %class.anon.114, ptr %56, i32 0, i32 0
  %602 = load ptr, ptr %601, align 8
  %603 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_4ET_SI_SI_T0_"(ptr %598, ptr %600, ptr %602)
  %604 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %53, i32 0, i32 0
  store ptr %603, ptr %604, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #13
  %605 = load ptr, ptr %9, align 8, !tbaa !5
  %606 = getelementptr inbounds %class.PackageManifest, ptr %605, i32 0, i32 9
  %607 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %606) #13
  %608 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %57, i32 0, i32 0
  store ptr %607, ptr %608, align 8
  %609 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull align 8 dereferenceable(8) %57) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #13
  br i1 %609, label %610, label %622

610:                                              ; preds = %583
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #13
  %611 = load ptr, ptr %9, align 8, !tbaa !5
  %612 = getelementptr inbounds %class.PackageManifest, ptr %611, i32 0, i32 9
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef nonnull align 8 dereferenceable(8) %53) #13
  call void @llvm.lifetime.start.p0(i64 136, ptr %60) #13
  call void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %60, i32 noundef 4)
  %613 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.110", ptr %59, i32 0, i32 0
  %614 = load ptr, ptr %613, align 8
  %615 = invoke ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %612, ptr %614, ptr noundef nonnull align 8 dereferenceable(136) %60)
          to label %616 unwind label %618

616:                                              ; preds = %610
  %617 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %58, i32 0, i32 0
  store ptr %615, ptr %617, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %53, ptr align 8 %58, i64 8, i1 false), !tbaa.struct !63
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %60) #13
  call void @llvm.lifetime.end.p0(i64 136, ptr %60) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #13
  br label %622

618:                                              ; preds = %610
  %619 = landingpad { ptr, i32 }
          cleanup
  %620 = extractvalue { ptr, i32 } %619, 0
  store ptr %620, ptr %13, align 8
  %621 = extractvalue { ptr, i32 } %619, 1
  store i32 %621, ptr %14, align 4
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %60) #13
  call void @llvm.lifetime.end.p0(i64 136, ptr %60) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #13
  br label %962

622:                                              ; preds = %616, %583
  %623 = load ptr, ptr %6, align 8, !tbaa !5
  %624 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %53) #13
  %625 = load ptr, ptr %8, align 8, !tbaa !5
  call void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8) %623, ptr noundef nonnull align 8 dereferenceable(136) %624, ptr noundef nonnull align 8 dereferenceable(96) %625, i32 noundef 2)
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #13
  br label %956

626:                                              ; preds = %572
  %627 = load ptr, ptr %10, align 8, !tbaa !5
  %628 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %627, ptr noundef @.str.26)
  br i1 %628, label %635, label %629

629:                                              ; preds = %626
  %630 = load ptr, ptr %10, align 8, !tbaa !5
  %631 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %630, ptr noundef @.str.27)
  br i1 %631, label %635, label %632

632:                                              ; preds = %629
  %633 = load ptr, ptr %10, align 8, !tbaa !5
  %634 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %633, ptr noundef @.str.79)
  br i1 %634, label %635, label %710

635:                                              ; preds = %632, %629, %626
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #13
  %636 = load ptr, ptr %9, align 8, !tbaa !5
  %637 = getelementptr inbounds %class.PackageManifest, ptr %636, i32 0, i32 7
  store ptr %637, ptr %61, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #13
  %638 = load ptr, ptr %10, align 8, !tbaa !5
  %639 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %638, ptr noundef @.str.26)
  br i1 %639, label %640, label %643

640:                                              ; preds = %635
  %641 = load ptr, ptr %61, align 8, !tbaa !5
  %642 = getelementptr inbounds %"struct.PackageManifest::Dependencies", ptr %641, i32 0, i32 0
  br label %654

643:                                              ; preds = %635
  %644 = load ptr, ptr %10, align 8, !tbaa !5
  %645 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %644, ptr noundef @.str.27)
  br i1 %645, label %646, label %649

646:                                              ; preds = %643
  %647 = load ptr, ptr %61, align 8, !tbaa !5
  %648 = getelementptr inbounds %"struct.PackageManifest::Dependencies", ptr %647, i32 0, i32 1
  br label %652

649:                                              ; preds = %643
  %650 = load ptr, ptr %61, align 8, !tbaa !5
  %651 = getelementptr inbounds %"struct.PackageManifest::Dependencies", ptr %650, i32 0, i32 2
  br label %652

652:                                              ; preds = %649, %646
  %653 = phi ptr [ %648, %646 ], [ %651, %649 ]
  br label %654

654:                                              ; preds = %652, %640
  %655 = phi ptr [ %642, %640 ], [ %653, %652 ]
  store ptr %655, ptr %62, align 8, !tbaa !5
  %656 = load ptr, ptr %8, align 8, !tbaa !5
  %657 = getelementptr inbounds %struct.TomlKeyValue, ptr %656, i32 0, i32 0
  %658 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %657) #13
  %659 = icmp ugt i64 %658, 1
  br i1 %659, label %660, label %661

660:                                              ; preds = %654
  br label %663

661:                                              ; preds = %654
  call void @__assert_fail(ptr noundef @.str.14, ptr noundef @.str.15, i32 noundef 638, ptr noundef @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #14
  unreachable

662:                                              ; No predecessors!
  br label %663

663:                                              ; preds = %662, %660
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #13
  %664 = load ptr, ptr %8, align 8, !tbaa !5
  %665 = getelementptr inbounds %struct.TomlKeyValue, ptr %664, i32 0, i32 0
  %666 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %665, i64 noundef 1) #13
  store ptr %666, ptr %63, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #13
  %667 = load ptr, ptr %62, align 8, !tbaa !5
  %668 = call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %667) #13
  %669 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %65, i32 0, i32 0
  store ptr %668, ptr %669, align 8
  %670 = load ptr, ptr %62, align 8, !tbaa !5
  %671 = call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %670) #13
  %672 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %66, i32 0, i32 0
  store ptr %671, ptr %672, align 8
  %673 = getelementptr inbounds %class.anon.115, ptr %67, i32 0, i32 0
  %674 = load ptr, ptr %63, align 8, !tbaa !5
  store ptr %674, ptr %673, align 8, !tbaa !5
  %675 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %65, i32 0, i32 0
  %676 = load ptr, ptr %675, align 8
  %677 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %66, i32 0, i32 0
  %678 = load ptr, ptr %677, align 8
  %679 = getelementptr inbounds %class.anon.115, ptr %67, i32 0, i32 0
  %680 = load ptr, ptr %679, align 8
  %681 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_5ET_SI_SI_T0_"(ptr %676, ptr %678, ptr %680)
  %682 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %64, i32 0, i32 0
  store ptr %681, ptr %682, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #13
  %683 = load ptr, ptr %62, align 8, !tbaa !5
  %684 = call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %683) #13
  %685 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %69, i32 0, i32 0
  store ptr %684, ptr %685, align 8
  %686 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP10PackageRefSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 8 dereferenceable(8) %69) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #13
  %687 = zext i1 %686 to i8
  store i8 %687, ptr %68, align 1, !tbaa !65
  %688 = load i8, ptr %68, align 1, !tbaa !65, !range !66, !noundef !67
  %689 = trunc i8 %688 to i1
  br i1 %689, label %690, label %702

690:                                              ; preds = %663
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #13
  %691 = load ptr, ptr %62, align 8, !tbaa !5
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK10PackageRefSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %71, ptr noundef nonnull align 8 dereferenceable(8) %64) #13
  call void @llvm.lifetime.start.p0(i64 184, ptr %72) #13
  %692 = load ptr, ptr %63, align 8, !tbaa !5
  call void @_ZN10PackageRefC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(184) %72, ptr noundef nonnull align 8 dereferenceable(32) %692)
  %693 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.38", ptr %71, i32 0, i32 0
  %694 = load ptr, ptr %693, align 8
  %695 = invoke ptr @_ZNSt6vectorI10PackageRefSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %691, ptr %694, ptr noundef nonnull align 8 dereferenceable(184) %72)
          to label %696 unwind label %698

696:                                              ; preds = %690
  %697 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %70, i32 0, i32 0
  store ptr %695, ptr %697, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %64, ptr align 8 %70, i64 8, i1 false), !tbaa.struct !63
  call void @_ZN10PackageRefD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %72) #13
  call void @llvm.lifetime.end.p0(i64 184, ptr %72) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #13
  br label %702

698:                                              ; preds = %690
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %13, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %14, align 4
  call void @_ZN10PackageRefD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %72) #13
  call void @llvm.lifetime.end.p0(i64 184, ptr %72) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #13
  br label %962

702:                                              ; preds = %696, %663
  %703 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS1_SaIS1_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %64) #13
  %704 = load ptr, ptr %6, align 8, !tbaa !5
  %705 = load i8, ptr %68, align 1, !tbaa !65, !range !66, !noundef !67
  %706 = trunc i8 %705 to i1
  %707 = load ptr, ptr %8, align 8, !tbaa !5
  %708 = load ptr, ptr %7, align 8, !tbaa !5
  %709 = getelementptr inbounds %class.PackageManifest, ptr %102, i32 0, i32 0
  call void @_ZN10PackageRef12fill_from_kvER12ErrorHandlerbRK12TomlKeyValuemPK17WorkspaceManifestRKN7helpers4pathE(ptr noundef nonnull align 8 dereferenceable(184) %703, ptr noundef nonnull align 8 dereferenceable(8) %704, i1 noundef zeroext %706, ptr noundef nonnull align 8 dereferenceable(96) %707, i64 noundef 2, ptr noundef %708, ptr noundef nonnull align 8 dereferenceable(32) %709)
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #13
  br label %955

710:                                              ; preds = %632
  %711 = load ptr, ptr %10, align 8, !tbaa !5
  %712 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %711, ptr noundef @.str)
  br i1 %712, label %713, label %715

713:                                              ; preds = %710
  %714 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZN12ErrorHandler4todoIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %714, ptr noundef @.str.80) #15
  unreachable

715:                                              ; preds = %710
  %716 = load ptr, ptr %10, align 8, !tbaa !5
  %717 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %716, ptr noundef @.str.12)
  br i1 %717, label %718, label %719

718:                                              ; preds = %715
  br label %953

719:                                              ; preds = %715
  %720 = load ptr, ptr %10, align 8, !tbaa !5
  %721 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %720, ptr noundef @.str.81)
  br i1 %721, label %722, label %870

722:                                              ; preds = %719
  %723 = load ptr, ptr %8, align 8, !tbaa !5
  %724 = getelementptr inbounds %struct.TomlKeyValue, ptr %723, i32 0, i32 0
  %725 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %724) #13
  %726 = icmp ult i64 %725, 3
  br i1 %726, label %727, label %729

727:                                              ; preds = %722
  %728 = load ptr, ptr %6, align 8, !tbaa !5
  call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %728, ptr noundef @.str.82) #15
  unreachable

729:                                              ; preds = %722
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #13
  %730 = load ptr, ptr %8, align 8, !tbaa !5
  %731 = getelementptr inbounds %struct.TomlKeyValue, ptr %730, i32 0, i32 0
  %732 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %731, i64 noundef 1) #13
  store ptr %732, ptr %73, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #13
  %733 = load ptr, ptr %8, align 8, !tbaa !5
  %734 = getelementptr inbounds %struct.TomlKeyValue, ptr %733, i32 0, i32 0
  %735 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %734, i64 noundef 2) #13
  store ptr %735, ptr %74, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #13
  %736 = load ptr, ptr %73, align 8, !tbaa !5
  call void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull align 8 dereferenceable(32) %736, i64 noundef 0, i64 noundef 4)
  %737 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef @.str.83)
          to label %738 unwind label %744

738:                                              ; preds = %729
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #13
  br i1 %737, label %739, label %772

739:                                              ; preds = %738
  %740 = load ptr, ptr %73, align 8, !tbaa !5
  %741 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %740) #13
  call void @llvm.lifetime.start.p0(i64 24, ptr %76) #13
  call void @llvm.memset.p0.i64(ptr align 8 %76, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #13
  %742 = invoke noundef zeroext i1 @_Z9Cfg_CheckPKcRKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE(ptr noundef %741, ptr noundef nonnull align 8 dereferenceable(24) %76)
          to label %743 unwind label %748

743:                                              ; preds = %739
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #13
  br label %771

744:                                              ; preds = %729
  %745 = landingpad { ptr, i32 }
          cleanup
  %746 = extractvalue { ptr, i32 } %745, 0
  store ptr %746, ptr %13, align 8
  %747 = extractvalue { ptr, i32 } %745, 1
  store i32 %747, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #13
  br label %869

748:                                              ; preds = %739
  %749 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %750 = extractvalue { ptr, i32 } %749, 0
  store ptr %750, ptr %13, align 8
  %751 = extractvalue { ptr, i32 } %749, 1
  store i32 %751, ptr %14, align 4
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr %76) #13
  br label %752

752:                                              ; preds = %748
  %753 = load i32, ptr %14, align 4
  %754 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt9exception) #13
  %755 = icmp eq i32 %753, %754
  br i1 %755, label %756, label %869

756:                                              ; preds = %752
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #13
  %757 = load ptr, ptr %13, align 8
  %758 = call ptr @__cxa_begin_catch(ptr %757) #13
  store ptr %758, ptr %77, align 8
  %759 = load ptr, ptr %6, align 8, !tbaa !5
  %760 = load ptr, ptr %77, align 8, !tbaa !5
  %761 = load ptr, ptr %760, align 8, !tbaa !52
  %762 = getelementptr inbounds ptr, ptr %761, i64 2
  %763 = load ptr, ptr %762, align 8
  %764 = call noundef ptr %763(ptr noundef nonnull align 8 dereferenceable(8) %760) #13
  invoke void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %759, ptr noundef %764) #15
          to label %765 unwind label %766

765:                                              ; preds = %756
  unreachable

766:                                              ; preds = %756
  %767 = landingpad { ptr, i32 }
          cleanup
  %768 = extractvalue { ptr, i32 } %767, 0
  store ptr %768, ptr %13, align 8
  %769 = extractvalue { ptr, i32 } %767, 1
  store i32 %769, ptr %14, align 4
  invoke void @__cxa_end_catch()
          to label %770 unwind label %968

770:                                              ; preds = %766
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #13
  br label %869

771:                                              ; preds = %743
  br label %773

772:                                              ; preds = %738
  br label %773

773:                                              ; preds = %772, %771
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #13
  %774 = load ptr, ptr %9, align 8, !tbaa !5
  %775 = getelementptr inbounds %class.PackageManifest, ptr %774, i32 0, i32 8
  %776 = load ptr, ptr %73, align 8, !tbaa !5
  %777 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %775, ptr noundef nonnull align 8 dereferenceable(32) %776)
  store ptr %777, ptr %78, align 8, !tbaa !5
  %778 = load ptr, ptr %74, align 8, !tbaa !5
  %779 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %778, ptr noundef @.str.26)
  br i1 %779, label %786, label %780

780:                                              ; preds = %773
  %781 = load ptr, ptr %74, align 8, !tbaa !5
  %782 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %781, ptr noundef @.str.79)
  br i1 %782, label %786, label %783

783:                                              ; preds = %780
  %784 = load ptr, ptr %74, align 8, !tbaa !5
  %785 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %784, ptr noundef @.str.27)
  br i1 %785, label %786, label %859

786:                                              ; preds = %783, %780, %773
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #13
  %787 = load ptr, ptr %74, align 8, !tbaa !5
  %788 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %787, ptr noundef @.str.26)
  br i1 %788, label %789, label %792

789:                                              ; preds = %786
  %790 = load ptr, ptr %78, align 8, !tbaa !5
  %791 = getelementptr inbounds %"struct.PackageManifest::Dependencies", ptr %790, i32 0, i32 0
  br label %803

792:                                              ; preds = %786
  %793 = load ptr, ptr %74, align 8, !tbaa !5
  %794 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %793, ptr noundef @.str.27)
  br i1 %794, label %795, label %798

795:                                              ; preds = %792
  %796 = load ptr, ptr %78, align 8, !tbaa !5
  %797 = getelementptr inbounds %"struct.PackageManifest::Dependencies", ptr %796, i32 0, i32 1
  br label %801

798:                                              ; preds = %792
  %799 = load ptr, ptr %78, align 8, !tbaa !5
  %800 = getelementptr inbounds %"struct.PackageManifest::Dependencies", ptr %799, i32 0, i32 2
  br label %801

801:                                              ; preds = %798, %795
  %802 = phi ptr [ %797, %795 ], [ %800, %798 ]
  br label %803

803:                                              ; preds = %801, %789
  %804 = phi ptr [ %791, %789 ], [ %802, %801 ]
  store ptr %804, ptr %79, align 8, !tbaa !5
  %805 = load ptr, ptr %8, align 8, !tbaa !5
  %806 = getelementptr inbounds %struct.TomlKeyValue, ptr %805, i32 0, i32 0
  %807 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %806) #13
  %808 = icmp ugt i64 %807, 3
  br i1 %808, label %809, label %810

809:                                              ; preds = %803
  br label %812

810:                                              ; preds = %803
  call void @__assert_fail(ptr noundef @.str.84, ptr noundef @.str.15, i32 noundef 699, ptr noundef @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #14
  unreachable

811:                                              ; No predecessors!
  br label %812

812:                                              ; preds = %811, %809
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #13
  %813 = load ptr, ptr %8, align 8, !tbaa !5
  %814 = getelementptr inbounds %struct.TomlKeyValue, ptr %813, i32 0, i32 0
  %815 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %814, i64 noundef 3) #13
  store ptr %815, ptr %80, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #13
  %816 = load ptr, ptr %79, align 8, !tbaa !5
  %817 = call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %816) #13
  %818 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %82, i32 0, i32 0
  store ptr %817, ptr %818, align 8
  %819 = load ptr, ptr %79, align 8, !tbaa !5
  %820 = call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %819) #13
  %821 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %83, i32 0, i32 0
  store ptr %820, ptr %821, align 8
  %822 = getelementptr inbounds %class.anon.116, ptr %84, i32 0, i32 0
  %823 = load ptr, ptr %80, align 8, !tbaa !5
  store ptr %823, ptr %822, align 8, !tbaa !5
  %824 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %82, i32 0, i32 0
  %825 = load ptr, ptr %824, align 8
  %826 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %83, i32 0, i32 0
  %827 = load ptr, ptr %826, align 8
  %828 = getelementptr inbounds %class.anon.116, ptr %84, i32 0, i32 0
  %829 = load ptr, ptr %828, align 8
  %830 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_6ET_SI_SI_T0_"(ptr %825, ptr %827, ptr %829)
  %831 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %81, i32 0, i32 0
  store ptr %830, ptr %831, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %85) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #13
  %832 = load ptr, ptr %79, align 8, !tbaa !5
  %833 = call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %832) #13
  %834 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %86, i32 0, i32 0
  store ptr %833, ptr %834, align 8
  %835 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP10PackageRefSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull align 8 dereferenceable(8) %86) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #13
  %836 = zext i1 %835 to i8
  store i8 %836, ptr %85, align 1, !tbaa !65
  %837 = load i8, ptr %85, align 1, !tbaa !65, !range !66, !noundef !67
  %838 = trunc i8 %837 to i1
  br i1 %838, label %839, label %851

839:                                              ; preds = %812
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #13
  %840 = load ptr, ptr %79, align 8, !tbaa !5
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK10PackageRefSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %88, ptr noundef nonnull align 8 dereferenceable(8) %81) #13
  call void @llvm.lifetime.start.p0(i64 184, ptr %89) #13
  %841 = load ptr, ptr %80, align 8, !tbaa !5
  call void @_ZN10PackageRefC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(184) %89, ptr noundef nonnull align 8 dereferenceable(32) %841)
  %842 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.38", ptr %88, i32 0, i32 0
  %843 = load ptr, ptr %842, align 8
  %844 = invoke ptr @_ZNSt6vectorI10PackageRefSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %840, ptr %843, ptr noundef nonnull align 8 dereferenceable(184) %89)
          to label %845 unwind label %847

845:                                              ; preds = %839
  %846 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %87, i32 0, i32 0
  store ptr %844, ptr %846, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %81, ptr align 8 %87, i64 8, i1 false), !tbaa.struct !63
  call void @_ZN10PackageRefD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %89) #13
  call void @llvm.lifetime.end.p0(i64 184, ptr %89) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #13
  br label %851

847:                                              ; preds = %839
  %848 = landingpad { ptr, i32 }
          cleanup
  %849 = extractvalue { ptr, i32 } %848, 0
  store ptr %849, ptr %13, align 8
  %850 = extractvalue { ptr, i32 } %848, 1
  store i32 %850, ptr %14, align 4
  call void @_ZN10PackageRefD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %89) #13
  call void @llvm.lifetime.end.p0(i64 184, ptr %89) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr %85) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #13
  br label %868

851:                                              ; preds = %845, %812
  %852 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS1_SaIS1_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %81) #13
  %853 = load ptr, ptr %6, align 8, !tbaa !5
  %854 = load i8, ptr %85, align 1, !tbaa !65, !range !66, !noundef !67
  %855 = trunc i8 %854 to i1
  %856 = load ptr, ptr %8, align 8, !tbaa !5
  %857 = load ptr, ptr %7, align 8, !tbaa !5
  %858 = getelementptr inbounds %class.PackageManifest, ptr %102, i32 0, i32 0
  call void @_ZN10PackageRef12fill_from_kvER12ErrorHandlerbRK12TomlKeyValuemPK17WorkspaceManifestRKN7helpers4pathE(ptr noundef nonnull align 8 dereferenceable(184) %852, ptr noundef nonnull align 8 dereferenceable(8) %853, i1 noundef zeroext %855, ptr noundef nonnull align 8 dereferenceable(96) %856, i64 noundef 4, ptr noundef %857, ptr noundef nonnull align 8 dereferenceable(32) %858)
  call void @llvm.lifetime.end.p0(i64 1, ptr %85) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #13
  br label %867

859:                                              ; preds = %783
  %860 = load ptr, ptr %6, align 8, !tbaa !5
  %861 = load ptr, ptr %74, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(32) %861)
  invoke void @_ZN12ErrorHandler4todoIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %860, ptr noundef @.str.85, ptr noundef %90, ptr noundef @.str.86) #15
          to label %862 unwind label %863

862:                                              ; preds = %859
  unreachable

863:                                              ; preds = %859
  %864 = landingpad { ptr, i32 }
          cleanup
  %865 = extractvalue { ptr, i32 } %864, 0
  store ptr %865, ptr %13, align 8
  %866 = extractvalue { ptr, i32 } %864, 1
  store i32 %866, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #13
  br label %868

867:                                              ; preds = %851
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #13
  br label %952

868:                                              ; preds = %863, %847
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #13
  br label %869

869:                                              ; preds = %868, %770, %752, %744
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #13
  br label %962

870:                                              ; preds = %719
  %871 = load ptr, ptr %10, align 8, !tbaa !5
  %872 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %871, ptr noundef @.str.87)
  br i1 %872, label %873, label %928

873:                                              ; preds = %870
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #13
  %874 = load ptr, ptr %8, align 8, !tbaa !5
  %875 = getelementptr inbounds %struct.TomlKeyValue, ptr %874, i32 0, i32 0
  %876 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %875, i64 noundef 1) #13
  store ptr %876, ptr %91, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #13
  %877 = load ptr, ptr %91, align 8, !tbaa !5
  %878 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %877, ptr noundef @.str.88)
  br i1 %878, label %879, label %882

879:                                              ; preds = %873
  %880 = load ptr, ptr %9, align 8, !tbaa !5
  %881 = getelementptr inbounds %class.PackageManifest, ptr %880, i32 0, i32 12
  store ptr %881, ptr %92, align 8, !tbaa !5
  br label %901

882:                                              ; preds = %873
  call void @llvm.lifetime.start.p0(i64 16, ptr %93) #13
  %883 = load ptr, ptr %9, align 8, !tbaa !5
  %884 = getelementptr inbounds %class.PackageManifest, ptr %883, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 56, ptr %94) #13
  %885 = load ptr, ptr %91, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %95) #13
  call void @llvm.memset.p0.i64(ptr align 8 %95, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #13
  invoke void @_ZSt9make_pairIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENSC_INSD_IT0_E4typeEE6__typeEEOSE_OSJ_(ptr dead_on_unwind writable sret(%"struct.std::pair.121") align 8 %94, ptr noundef nonnull align 8 dereferenceable(32) %885, ptr noundef nonnull align 8 dereferenceable(24) %95)
          to label %886 unwind label %892

886:                                              ; preds = %882
  %887 = invoke { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISB_IS5_S8_EEENSt9enable_ifIXsr16is_constructibleISD_T_EE5valueESB_ISt17_Rb_tree_iteratorISD_EbEE4typeEOSJ_(ptr noundef nonnull align 8 dereferenceable(48) %884, ptr noundef nonnull align 8 dereferenceable(56) %94)
          to label %888 unwind label %896

888:                                              ; preds = %886
  store { ptr, i8 } %887, ptr %96, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %93, ptr align 8 %96, i64 9, i1 false)
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %94) #13
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #13
  call void @llvm.lifetime.end.p0(i64 56, ptr %94) #13
  %889 = getelementptr inbounds %"struct.std::pair.117", ptr %93, i32 0, i32 0
  %890 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %889) #13
  %891 = getelementptr inbounds %"struct.std::pair.123", ptr %890, i32 0, i32 1
  store ptr %891, ptr %92, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %93) #13
  br label %901

892:                                              ; preds = %882
  %893 = landingpad { ptr, i32 }
          cleanup
  %894 = extractvalue { ptr, i32 } %893, 0
  store ptr %894, ptr %13, align 8
  %895 = extractvalue { ptr, i32 } %893, 1
  store i32 %895, ptr %14, align 4
  br label %900

896:                                              ; preds = %886
  %897 = landingpad { ptr, i32 }
          cleanup
  %898 = extractvalue { ptr, i32 } %897, 0
  store ptr %898, ptr %13, align 8
  %899 = extractvalue { ptr, i32 } %897, 1
  store i32 %899, ptr %14, align 4
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %94) #13
  br label %900

900:                                              ; preds = %896, %892
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #13
  call void @llvm.lifetime.end.p0(i64 56, ptr %94) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr %93) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #13
  br label %962

901:                                              ; preds = %888, %879
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #13
  %902 = load ptr, ptr %8, align 8, !tbaa !5
  %903 = getelementptr inbounds %struct.TomlKeyValue, ptr %902, i32 0, i32 1
  %904 = getelementptr inbounds %struct.TomlValue, ptr %903, i32 0, i32 3
  store ptr %904, ptr %97, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #13
  %905 = load ptr, ptr %97, align 8, !tbaa !5
  %906 = call ptr @_ZNKSt6vectorI9TomlValueSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %905) #13
  %907 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.125", ptr %98, i32 0, i32 0
  store ptr %906, ptr %907, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #13
  %908 = load ptr, ptr %97, align 8, !tbaa !5
  %909 = call ptr @_ZNKSt6vectorI9TomlValueSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %908) #13
  %910 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.125", ptr %99, i32 0, i32 0
  store ptr %909, ptr %910, align 8
  br label %911

911:                                              ; preds = %925, %901
  %912 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPK9TomlValueSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %98, ptr noundef nonnull align 8 dereferenceable(8) %99) #13
  br i1 %912, label %914, label %913

913:                                              ; preds = %911
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #13
  br label %927

914:                                              ; preds = %911
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #13
  %915 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPK9TomlValueSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %98) #13
  store ptr %915, ptr %100, align 8, !tbaa !5
  %916 = load ptr, ptr %92, align 8, !tbaa !5
  %917 = load ptr, ptr %100, align 8, !tbaa !5
  %918 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72) %917)
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %916, ptr noundef nonnull align 8 dereferenceable(32) %918)
  %919 = load ptr, ptr %92, align 8, !tbaa !5
  %920 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %919) #13
  %921 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc(ptr noundef nonnull align 8 dereferenceable(32) %920, i64 noundef 0, i64 noundef 4, ptr noundef @.str.89)
  %922 = icmp eq i32 %921, 0
  br i1 %922, label %923, label %924

923:                                              ; preds = %914
  br label %924

924:                                              ; preds = %923, %914
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #13
  br label %925

925:                                              ; preds = %924
  %926 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPK9TomlValueSt6vectorIS1_SaIS1_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %98) #13
  br label %911

927:                                              ; preds = %913
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #13
  br label %951

928:                                              ; preds = %870
  %929 = load ptr, ptr %10, align 8, !tbaa !5
  %930 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %929, ptr noundef @.str.13)
  br i1 %930, label %931, label %932

931:                                              ; preds = %928
  br label %950

932:                                              ; preds = %928
  %933 = load ptr, ptr %10, align 8, !tbaa !5
  %934 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %933, ptr noundef @.str.90)
  br i1 %934, label %935, label %936

935:                                              ; preds = %932
  br label %949

936:                                              ; preds = %932
  %937 = load ptr, ptr %10, align 8, !tbaa !5
  %938 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %937, ptr noundef @.str.91)
  br i1 %938, label %939, label %940

939:                                              ; preds = %936
  br label %948

940:                                              ; preds = %936
  %941 = load ptr, ptr %6, align 8, !tbaa !5
  %942 = load ptr, ptr %10, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(32) %942)
  invoke void @_ZN12ErrorHandler7warningIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %941, ptr noundef @.str.92, ptr noundef %101, ptr noundef @.str.25)
          to label %943 unwind label %944

943:                                              ; preds = %940
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #13
  br label %948

944:                                              ; preds = %940
  %945 = landingpad { ptr, i32 }
          cleanup
  %946 = extractvalue { ptr, i32 } %945, 0
  store ptr %946, ptr %13, align 8
  %947 = extractvalue { ptr, i32 } %945, 1
  store i32 %947, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #13
  br label %962

948:                                              ; preds = %943, %939
  br label %949

949:                                              ; preds = %948, %935
  br label %950

950:                                              ; preds = %949, %931
  br label %951

951:                                              ; preds = %950, %927
  br label %952

952:                                              ; preds = %951, %867
  br label %953

953:                                              ; preds = %952, %718
  br label %954

954:                                              ; preds = %953
  br label %955

955:                                              ; preds = %954, %702
  br label %956

956:                                              ; preds = %955, %622
  br label %957

957:                                              ; preds = %956, %568
  br label %958

958:                                              ; preds = %957, %514
  br label %959

959:                                              ; preds = %958, %460
  br label %960

960:                                              ; preds = %959, %406
  br label %961

961:                                              ; preds = %960, %369
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #13
  ret void

962:                                              ; preds = %944, %900, %869, %698, %618, %564, %510, %456, %402, %370
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #13
  br label %963

963:                                              ; preds = %962
  %964 = load ptr, ptr %13, align 8
  %965 = load i32, ptr %14, align 4
  %966 = insertvalue { ptr, i32 } poison, ptr %964, 0
  %967 = insertvalue { ptr, i32 } %966, i32 %965, 1
  resume { ptr, i32 } %967

968:                                              ; preds = %766, %174
  %969 = landingpad { ptr, i32 }
          catch ptr null
  %970 = extractvalue { ptr, i32 } %969, 0
  call void @__clang_call_terminate(ptr %970) #14
  unreachable
}

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: nounwind
declare void @_ZNSt13runtime_errorD1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #6

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136), i32 noundef) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #7

; Function Attrs: mustprogress noreturn uwtable
declare dso_local void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #8 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN14PackageVersion11from_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind noalias writable sret(%struct.PackageVersion) align 8, ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(48) ptr @_ZN14PackageVersionaSEOS_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(48)) #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN14PackageVersionD2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 align 2

; Function Attrs: nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #9

declare ptr @__cxa_begin_catch(ptr)

; Function Attrs: mustprogress noreturn uwtable
declare dso_local void @_ZN12ErrorHandler5errorIJPKcS2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef) #8 align 2

declare void @__cxa_end_catch()

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) #10

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK9TomlValue7as_boolEv(ptr noundef nonnull align 8 dereferenceable(72)) #3 align 2

; Function Attrs: mustprogress noreturn uwtable
declare dso_local void @_ZN12ErrorHandler4todoIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #8 align 2

declare void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) unnamed_addr #11

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK17WorkspaceManifest7editionEv(ptr noundef nonnull align 8 dereferenceable(128)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12ErrorHandler7warningIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef, ptr noundef) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_0ET_SI_SI_T0_"(ptr, ptr) #7

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr, ptr noundef nonnull align 8 dereferenceable(136)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(136), ptr noundef nonnull align 8 dereferenceable(96), i32 noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i32 noundef) #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_1ET_SI_SI_T0_"(ptr, ptr, ptr) #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_2ET_SI_SI_T0_"(ptr, ptr, ptr) #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_3ET_SI_SI_T0_"(ptr, ptr, ptr) #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_4ET_SI_SI_T0_"(ptr, ptr, ptr) #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_5ET_SI_SI_T0_"(ptr, ptr, ptr) #7

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef) #3 align 2

declare noundef zeroext i1 @_Z9Cfg_CheckPKcRKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE(ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) #11

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #12

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_6ET_SI_SI_T0_"(ptr, ptr, ptr) #7

; Function Attrs: mustprogress noreturn uwtable
declare dso_local void @_ZN12ErrorHandler4todoIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef, ptr noundef) #8 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISB_IS5_S8_EEENSt9enable_ifIXsr16is_constructibleISD_T_EE5valueESB_ISt17_Rb_tree_iteratorISD_EbEE4typeEOSJ_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(56)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZSt9make_pairIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENSC_INSD_IT0_E4typeEE6__typeEEOSE_OSJ_(ptr dead_on_unwind noalias writable sret(%"struct.std::pair.121") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorI9TomlValueSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorI9TomlValueSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPK9TomlValueSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(72) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPK9TomlValueSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

declare noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef, ptr noundef) #11

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPK9TomlValueSt6vectorIS1_SaIS1_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress noreturn uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind memory(none) }
attributes #10 = { noinline noreturn nounwind uwtable "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #12 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #13 = { nounwind }
attributes #14 = { noreturn nounwind }
attributes #15 = { noreturn }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !17, i64 76}
!10 = !{!"_ZTS15PackageManifest", !11, i64 0, !12, i64 32, !15, i64 64, !12, i64 112, !18, i64 144, !12, i64 152, !19, i64 184, !24, i64 256, !32, i64 304, !36, i64 328, !49, i64 496, !37, i64 544, !37, i64 568, !17, i64 592, !17, i64 593}
!11 = !{!"_ZTSN7helpers4pathE", !12, i64 0}
!12 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !13, i64 0, !14, i64 8, !7, i64 16}
!13 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!14 = !{!"long", !7, i64 0}
!15 = !{!"_ZTS14PackageVersion", !16, i64 0, !16, i64 4, !16, i64 8, !17, i64 12, !12, i64 16}
!16 = !{!"int", !7, i64 0}
!17 = !{!"bool", !7, i64 0}
!18 = !{!"_ZTS7Edition", !7, i64 0}
!19 = !{!"_ZTSN15PackageManifest12DependenciesE", !20, i64 0, !20, i64 24, !20, i64 48}
!20 = !{!"_ZTSSt6vectorI10PackageRefSaIS0_EE", !21, i64 0}
!21 = !{!"_ZTSSt12_Vector_baseI10PackageRefSaIS0_EE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseI10PackageRefSaIS0_EE12_Vector_implE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseI10PackageRefSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!24 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesESt4lessIS5_ESaISt4pairIKS5_S7_EEE", !25, i64 0}
!25 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N15PackageManifest12DependenciesEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !26, i64 0}
!26 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N15PackageManifest12DependenciesEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !27, i64 0, !29, i64 8}
!27 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !28, i64 0}
!28 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!29 = !{!"_ZTSSt15_Rb_tree_header", !30, i64 0, !14, i64 32}
!30 = !{!"_ZTSSt18_Rb_tree_node_base", !31, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!31 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!32 = !{!"_ZTSSt6vectorI13PackageTargetSaIS0_EE", !33, i64 0}
!33 = !{!"_ZTSSt12_Vector_baseI13PackageTargetSaIS0_EE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseI13PackageTargetSaIS0_EE12_Vector_implE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseI13PackageTargetSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!36 = !{!"_ZTS17BuildScriptOutput", !37, i64 0, !41, i64 24, !41, i64 48, !37, i64 72, !37, i64 96, !45, i64 120, !45, i64 144}
!37 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !38, i64 0}
!38 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!41 = !{!"_ZTSSt6vectorISt4pairIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS9_EE", !42, i64 0}
!42 = !{!"_ZTSSt12_Vector_baseISt4pairIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS9_EE", !43, i64 0}
!43 = !{!"_ZTSNSt12_Vector_baseISt4pairIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS9_EE12_Vector_implE", !44, i64 0}
!44 = !{!"_ZTSNSt12_Vector_baseISt4pairIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS9_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!45 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE", !46, i64 0}
!46 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE", !47, i64 0}
!47 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_Vector_implE", !48, i64 0}
!48 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!49 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !50, i64 0}
!50 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS5_SaIS5_EEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !51, i64 0}
!51 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS5_SaIS5_EEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !27, i64 0, !29, i64 8}
!52 = !{!53, !53, i64 0}
!53 = !{!"vtable pointer", !8, i64 0}
!54 = !{!55, !57, i64 24}
!55 = !{!"_ZTS12TomlKeyValue", !37, i64 0, !56, i64 24}
!56 = !{!"_ZTS9TomlValue", !57, i64 0, !14, i64 8, !12, i64 16, !58, i64 48}
!57 = !{!"_ZTSN9TomlValue4TypeE", !7, i64 0}
!58 = !{!"_ZTSSt6vectorI9TomlValueSaIS0_EE", !59, i64 0}
!59 = !{!"_ZTSSt12_Vector_baseI9TomlValueSaIS0_EE", !60, i64 0}
!60 = !{!"_ZTSNSt12_Vector_baseI9TomlValueSaIS0_EE12_Vector_implE", !61, i64 0}
!61 = !{!"_ZTSNSt12_Vector_baseI9TomlValueSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!62 = !{!10, !18, i64 144}
!63 = !{i64 0, i64 8, !5}
!64 = !{!16, !16, i64 0}
!65 = !{!17, !17, i64 0}
!66 = !{i8 0, i8 2}
!67 = !{}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.PackageVersion = type { i32, i32, i32, i8, %"class.std::__cxx11::basic_string" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.__gnu_cxx::__normal_iterator.85" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.110" = type { ptr }
%struct.PackageTarget = type { i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i8, i8, i8, i8, i8, i8, i8, %"class.std::vector.90", %"class.std::vector.12" }
%"class.std::vector.90" = type { %"struct.std::_Vector_base.91" }
%"struct.std::_Vector_base.91" = type { %"struct.std::_Vector_base<PackageTarget::CrateType, std::allocator<PackageTarget::CrateType>>::_Vector_impl" }
%"struct.std::_Vector_base<PackageTarget::CrateType, std::allocator<PackageTarget::CrateType>>::_Vector_impl" = type { %"struct.std::_Vector_base<PackageTarget::CrateType, std::allocator<PackageTarget::CrateType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<PackageTarget::CrateType, std::allocator<PackageTarget::CrateType>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.12" = type { %"struct.std::_Vector_base.13" }
%"struct.std::_Vector_base.13" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.38" = type { ptr }
%class.PackageRef = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %struct.PackageVersionSpec, i8, i8, %"class.std::__cxx11::basic_string", i8, %"class.std::vector.12", i8, %"class.std::shared_ptr" }
%struct.PackageVersionSpec = type { %"class.std::vector.39" }
%"class.std::vector.39" = type { %"struct.std::_Vector_base.40" }
%"struct.std::_Vector_base.40" = type { %"struct.std::_Vector_base<PackageVersionSpec::Bound, std::allocator<PackageVersionSpec::Bound>>::_Vector_impl" }
%"struct.std::_Vector_base<PackageVersionSpec::Bound, std::allocator<PackageVersionSpec::Bound>>::_Vector_impl" = type { %"struct.std::_Vector_base<PackageVersionSpec::Bound, std::allocator<PackageVersionSpec::Bound>>::_Vector_impl_data" }
%"struct.std::_Vector_base<PackageVersionSpec::Bound, std::allocator<PackageVersionSpec::Bound>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"struct.std::pair.117" = type <{ %"struct.std::_Rb_tree_iterator.119", i8, [7 x i8] }>
%"struct.std::_Rb_tree_iterator.119" = type { ptr }
%"struct.std::pair.121" = type { %"class.std::__cxx11::basic_string", %"class.std::vector.12" }
%"class.__gnu_cxx::__normal_iterator.125" = type { ptr }

@.str = external hidden unnamed_addr constant [6 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZTISt13runtime_error = external constant ptr
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [2 x i8], align 1
@__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue = external hidden unnamed_addr constant [100 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZTISt16invalid_argument = external constant ptr
@.str.50 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZTISt9exception = external constant ptr
@.str.84 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [27 x i8], align 1

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #3 align 2

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_113parse_editionER7EditionR12ErrorHandlerRK9TomlValue(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorI10PackageRefSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorI10PackageRefSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxeqIP10PackageRefSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt6vectorI10PackageRefSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr, ptr noundef nonnull align 8 dereferenceable(184)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN9__gnu_cxx17__normal_iteratorIPK10PackageRefSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10PackageRefC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN10PackageRefD2Ev(ptr noundef nonnull align 8 dereferenceable(184)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS1_SaIS1_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10PackageRef12fill_from_kvER12ErrorHandlerbRK12TomlKeyValuemPK17WorkspaceManifestRKN7helpers4pathE(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(8), i1 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(96), i64 noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue(ptr noundef nonnull align 8 dereferenceable(594) %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(96) %3) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca %struct.PackageVersion, align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %8 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %9 = alloca %"class.__gnu_cxx::__normal_iterator.110", align 8
  %10 = alloca %struct.PackageTarget, align 8
  %11 = alloca i32, align 4
  %12 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %13 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %14 = alloca %"class.__gnu_cxx::__normal_iterator.110", align 8
  %15 = alloca %struct.PackageTarget, align 8
  %16 = alloca i32, align 4
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator.110", align 8
  %20 = alloca %struct.PackageTarget, align 8
  %21 = alloca i32, align 4
  %22 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %23 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %24 = alloca %"class.__gnu_cxx::__normal_iterator.110", align 8
  %25 = alloca %struct.PackageTarget, align 8
  %26 = alloca i32, align 4
  %27 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %28 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %29 = alloca %"class.__gnu_cxx::__normal_iterator.110", align 8
  %30 = alloca %struct.PackageTarget, align 8
  %31 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %32 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %33 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 8
  %34 = alloca %class.PackageRef, align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::vector.12", align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %38 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %39 = alloca %"class.__gnu_cxx::__normal_iterator.38", align 8
  %40 = alloca %class.PackageRef, align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"struct.std::pair.117", align 8
  %43 = alloca %"struct.std::pair.121", align 8
  %44 = alloca %"class.std::vector.12", align 8
  %45 = alloca %"class.__gnu_cxx::__normal_iterator.125", align 8
  %46 = alloca %"class.__gnu_cxx::__normal_iterator.125", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 0) #12
  %49 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.19)
  br i1 %49, label %50, label %191

50:                                               ; preds = %4
  %51 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #12
  %52 = icmp ugt i64 %51, 1
  br i1 %52, label %54, label %53

53:                                               ; preds = %50
  tail call void @__assert_fail(ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15, i32 noundef 449, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #13
  unreachable

54:                                               ; preds = %50
  %55 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 1) #12
  %56 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.46)
  br i1 %56, label %57, label %67

57:                                               ; preds = %54
  %58 = getelementptr inbounds i8, ptr %0, i64 32
  %59 = tail call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.30)
  br i1 %59, label %60, label %61

60:                                               ; preds = %57
  tail call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.47) #14
  unreachable

61:                                               ; preds = %57
  %62 = getelementptr inbounds i8, ptr %3, i64 24
  %63 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72) %62)
  %64 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %63)
  %65 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.30)
  br i1 %65, label %66, label %441

66:                                               ; preds = %61
  tail call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.48) #14
  unreachable

67:                                               ; preds = %54
  %68 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.49)
  br i1 %68, label %69, label %92

69:                                               ; preds = %67
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %5) #12
  %70 = getelementptr inbounds i8, ptr %3, i64 24
  %71 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72) %70)
          to label %72 unwind label %77

72:                                               ; preds = %69
  invoke void @_ZN14PackageVersion11from_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%struct.PackageVersion) align 8 %5, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %73 unwind label %77

73:                                               ; preds = %72
  %74 = getelementptr inbounds i8, ptr %0, i64 64
  %75 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN14PackageVersionaSEOS_(ptr noundef nonnull align 8 dereferenceable(48) %74, ptr noundef nonnull align 8 dereferenceable(48) %5) #12
  call void @_ZN14PackageVersionD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %5) #12
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5) #12
  %76 = getelementptr inbounds i8, ptr %0, i64 76
  store i8 1, ptr %76, align 4, !tbaa !5
  br label %441

77:                                               ; preds = %72, %69
  %78 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt16invalid_argument
  %79 = extractvalue { ptr, i32 } %78, 1
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %5) #12
  %80 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt16invalid_argument) #12
  %81 = icmp eq i32 %79, %80
  br i1 %81, label %82, label %442

82:                                               ; preds = %77
  %83 = extractvalue { ptr, i32 } %78, 0
  %84 = call ptr @__cxa_begin_catch(ptr %83) #12
  %85 = load ptr, ptr %84, align 8, !tbaa !51
  %86 = getelementptr inbounds i8, ptr %85, i64 16
  %87 = load ptr, ptr %86, align 8
  %88 = call noundef ptr %87(ptr noundef nonnull align 8 dereferenceable(16) %84) #12
  invoke void @_ZN12ErrorHandler5errorIJPKcS2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.50, ptr noundef %88) #14
          to label %89 unwind label %90

89:                                               ; preds = %82
  unreachable

90:                                               ; preds = %82
  %91 = landingpad { ptr, i32 }
          cleanup
  invoke void @__cxa_end_catch()
          to label %442 unwind label %443

92:                                               ; preds = %67
  %93 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.51)
  br i1 %93, label %94, label %113

94:                                               ; preds = %92
  %95 = getelementptr inbounds i8, ptr %0, i64 152
  %96 = tail call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull @.str.30)
  br i1 %96, label %97, label %98

97:                                               ; preds = %94
  tail call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.52) #14
  unreachable

98:                                               ; preds = %94
  %99 = getelementptr inbounds i8, ptr %3, i64 24
  %100 = load i32, ptr %99, align 8, !tbaa !53
  %101 = icmp eq i32 %100, 0
  br i1 %101, label %102, label %107

102:                                              ; preds = %98
  %103 = tail call noundef zeroext i1 @_ZNK9TomlValue7as_boolEv(ptr noundef nonnull align 8 dereferenceable(72) %99)
  br i1 %103, label %104, label %105

104:                                              ; preds = %102
  tail call void @_ZN12ErrorHandler4todoIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.53) #14
  unreachable

105:                                              ; preds = %102
  %106 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull @.str.43)
  br label %110

107:                                              ; preds = %98
  %108 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72) %99)
  %109 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull align 8 dereferenceable(32) %108)
  br label %110

110:                                              ; preds = %107, %105
  %111 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull @.str.30)
  br i1 %111, label %112, label %441

112:                                              ; preds = %110
  tail call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.54) #14
  unreachable

113:                                              ; preds = %92
  %114 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.55)
  br i1 %114, label %441, label %115

115:                                              ; preds = %113
  %116 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.56)
  br i1 %116, label %441, label %117

117:                                              ; preds = %115
  %118 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.57)
  br i1 %118, label %441, label %119

119:                                              ; preds = %117
  %120 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.58)
  br i1 %120, label %441, label %121

121:                                              ; preds = %119
  %122 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.59)
  br i1 %122, label %441, label %123

123:                                              ; preds = %121
  %124 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.60)
  br i1 %124, label %441, label %125

125:                                              ; preds = %123
  %126 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.61)
  br i1 %126, label %441, label %127

127:                                              ; preds = %125
  %128 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.62)
  br i1 %128, label %441, label %129

129:                                              ; preds = %127
  %130 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.23)
  br i1 %130, label %441, label %131

131:                                              ; preds = %129
  %132 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.18)
  br i1 %132, label %441, label %133

133:                                              ; preds = %131
  %134 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.63)
  br i1 %134, label %441, label %135

135:                                              ; preds = %133
  %136 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.64)
  br i1 %136, label %441, label %137

137:                                              ; preds = %135
  %138 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.22)
  br i1 %138, label %441, label %139

139:                                              ; preds = %137
  %140 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.65)
  br i1 %140, label %141, label %153

141:                                              ; preds = %139
  %142 = getelementptr inbounds i8, ptr %0, i64 112
  %143 = tail call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull @.str.30)
  br i1 %143, label %144, label %149

144:                                              ; preds = %141
  %145 = tail call ptr @__cxa_allocate_exception(i64 16) #12
  invoke void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %145, ptr noundef nonnull @.str.66)
          to label %146 unwind label %147

146:                                              ; preds = %144
  tail call void @__cxa_throw(ptr nonnull %145, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #14
  unreachable

147:                                              ; preds = %144
  %148 = landingpad { ptr, i32 }
          cleanup
  tail call void @__cxa_free_exception(ptr %145) #12
  br label %442

149:                                              ; preds = %141
  %150 = getelementptr inbounds i8, ptr %3, i64 24
  %151 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72) %150)
  %152 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull align 8 dereferenceable(32) %151)
  br label %441

153:                                              ; preds = %139
  %154 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.67)
  br i1 %154, label %441, label %155

155:                                              ; preds = %153
  %156 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.68)
  br i1 %156, label %441, label %157

157:                                              ; preds = %155
  %158 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.69)
  br i1 %158, label %441, label %159

159:                                              ; preds = %157
  %160 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.13)
  br i1 %160, label %441, label %161

161:                                              ; preds = %159
  %162 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.21)
  br i1 %162, label %163, label %187

163:                                              ; preds = %161
  %164 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #12
  %165 = icmp eq i64 %164, 3
  br i1 %165, label %166, label %181

166:                                              ; preds = %163
  %167 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 2) #12
  %168 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %167, ptr noundef nonnull @.str.13)
  br i1 %168, label %169, label %181

169:                                              ; preds = %166
  %.not231 = icmp eq ptr %2, null
  br i1 %.not231, label %170, label %171

170:                                              ; preds = %169
  tail call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.70) #14
  unreachable

171:                                              ; preds = %169
  %172 = getelementptr inbounds i8, ptr %3, i64 24
  %173 = tail call noundef zeroext i1 @_ZNK9TomlValue7as_boolEv(ptr noundef nonnull align 8 dereferenceable(72) %172)
  br i1 %173, label %174, label %441

174:                                              ; preds = %171
  %175 = tail call noundef i32 @_ZNK17WorkspaceManifest7editionEv(ptr noundef nonnull align 8 dereferenceable(128) %2)
  %176 = icmp eq i32 %175, 0
  br i1 %176, label %177, label %178

177:                                              ; preds = %174
  tail call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.71) #14
  unreachable

178:                                              ; preds = %174
  %179 = tail call noundef i32 @_ZNK17WorkspaceManifest7editionEv(ptr noundef nonnull align 8 dereferenceable(128) %2)
  %180 = getelementptr inbounds i8, ptr %0, i64 144
  store i32 %179, ptr %180, align 8, !tbaa !61
  br label %441

181:                                              ; preds = %166, %163
  %182 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #12
  %.not = icmp eq i64 %182, 2
  br i1 %.not, label %184, label %183

183:                                              ; preds = %181
  tail call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.72) #14
  unreachable

184:                                              ; preds = %181
  %185 = getelementptr inbounds i8, ptr %0, i64 144
  %186 = getelementptr inbounds i8, ptr %3, i64 24
  tail call void @_ZN12_GLOBAL__N_113parse_editionER7EditionR12ErrorHandlerRK9TomlValue(ptr noundef nonnull align 4 dereferenceable(4) %185, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(72) %186)
  br label %441

187:                                              ; preds = %161
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) %55)
  invoke void @_ZN12ErrorHandler7warningIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.73, ptr noundef nonnull %6, ptr noundef nonnull @.str.74)
          to label %188 unwind label %189

188:                                              ; preds = %187
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #12
  br label %441

189:                                              ; preds = %187
  %190 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #12
  br label %442

191:                                              ; preds = %4
  %192 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.75)
  br i1 %192, label %193, label %208

193:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #12
  %194 = getelementptr inbounds i8, ptr %0, i64 304
  %195 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %194) #12
  %196 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %194) #12
  %197 = tail call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_0ET_SI_SI_T0_"(ptr %195, ptr %196)
  store ptr %197, ptr %7, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #12
  %198 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %194) #12
  store ptr %198, ptr %8, align 8
  %199 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %8) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #12
  br i1 %199, label %200, label %206

200:                                              ; preds = %193
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %7) #12
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %10) #12
  call void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %10, i32 noundef 0)
  %201 = load ptr, ptr %9, align 8
  %202 = invoke ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %194, ptr %201, ptr noundef nonnull align 8 dereferenceable(136) %10)
          to label %203 unwind label %204

203:                                              ; preds = %200
  store ptr %202, ptr %7, align 8, !tbaa !62
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %10) #12
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %10) #12
  br label %206

204:                                              ; preds = %200
  %205 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %10) #12
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #12
  br label %442

206:                                              ; preds = %203, %193
  %207 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %7) #12
  call void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(136) %207, ptr noundef nonnull align 8 dereferenceable(96) %3, i32 noundef 1)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #12
  br label %441

208:                                              ; preds = %191
  %209 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.39)
  br i1 %209, label %210, label %231

210:                                              ; preds = %208
  %211 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #12
  %212 = icmp ugt i64 %211, 1
  br i1 %212, label %214, label %213

213:                                              ; preds = %210
  tail call void @__assert_fail(ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15, i32 noundef 587, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #13
  unreachable

214:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #12
  %215 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 1) #12
  %216 = tail call noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %215, ptr noundef null, i32 noundef 10)
  store i32 %216, ptr %11, align 4, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #12
  %217 = getelementptr inbounds i8, ptr %0, i64 304
  %218 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %217) #12
  %219 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %217) #12
  %220 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_1ET_SI_SI_T0_"(ptr %218, ptr %219, ptr nonnull %11)
  store ptr %220, ptr %12, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #12
  %221 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %217) #12
  store ptr %221, ptr %13, align 8
  %222 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %13) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #12
  br i1 %222, label %223, label %229

223:                                              ; preds = %214
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %12) #12
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %15) #12
  call void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %15, i32 noundef 1)
  %224 = load ptr, ptr %14, align 8
  %225 = invoke ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %217, ptr %224, ptr noundef nonnull align 8 dereferenceable(136) %15)
          to label %226 unwind label %227

226:                                              ; preds = %223
  store ptr %225, ptr %12, align 8, !tbaa !62
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %15) #12
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %15) #12
  br label %229

227:                                              ; preds = %223
  %228 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %15) #12
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #12
  br label %442

229:                                              ; preds = %226, %214
  %230 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %12) #12
  call void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(136) %230, ptr noundef nonnull align 8 dereferenceable(96) %3, i32 noundef 2)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #12
  br label %441

231:                                              ; preds = %208
  %232 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.76)
  br i1 %232, label %233, label %254

233:                                              ; preds = %231
  %234 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #12
  %235 = icmp ugt i64 %234, 1
  br i1 %235, label %237, label %236

236:                                              ; preds = %233
  tail call void @__assert_fail(ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15, i32 noundef 598, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #13
  unreachable

237:                                              ; preds = %233
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #12
  %238 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 1) #12
  %239 = tail call noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %238, ptr noundef null, i32 noundef 10)
  store i32 %239, ptr %16, align 4, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  %240 = getelementptr inbounds i8, ptr %0, i64 304
  %241 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %240) #12
  %242 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %240) #12
  %243 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_2ET_SI_SI_T0_"(ptr %241, ptr %242, ptr nonnull %16)
  store ptr %243, ptr %17, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #12
  %244 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %240) #12
  store ptr %244, ptr %18, align 8
  %245 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #12
  br i1 %245, label %246, label %252

246:                                              ; preds = %237
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %17) #12
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %20) #12
  call void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %20, i32 noundef 2)
  %247 = load ptr, ptr %19, align 8
  %248 = invoke ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %240, ptr %247, ptr noundef nonnull align 8 dereferenceable(136) %20)
          to label %249 unwind label %250

249:                                              ; preds = %246
  store ptr %248, ptr %17, align 8, !tbaa !62
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %20) #12
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %20) #12
  br label %252

250:                                              ; preds = %246
  %251 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %20) #12
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #12
  br label %442

252:                                              ; preds = %249, %237
  %253 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #12
  call void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(136) %253, ptr noundef nonnull align 8 dereferenceable(96) %3, i32 noundef 2)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #12
  br label %441

254:                                              ; preds = %231
  %255 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.77)
  br i1 %255, label %256, label %277

256:                                              ; preds = %254
  %257 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #12
  %258 = icmp ugt i64 %257, 1
  br i1 %258, label %260, label %259

259:                                              ; preds = %256
  tail call void @__assert_fail(ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15, i32 noundef 609, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #13
  unreachable

260:                                              ; preds = %256
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #12
  %261 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 1) #12
  %262 = tail call noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %261, ptr noundef null, i32 noundef 10)
  store i32 %262, ptr %21, align 4, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #12
  %263 = getelementptr inbounds i8, ptr %0, i64 304
  %264 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %263) #12
  %265 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %263) #12
  %266 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_3ET_SI_SI_T0_"(ptr %264, ptr %265, ptr nonnull %21)
  store ptr %266, ptr %22, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #12
  %267 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %263) #12
  store ptr %267, ptr %23, align 8
  %268 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #12
  br i1 %268, label %269, label %275

269:                                              ; preds = %260
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %22) #12
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %25) #12
  call void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %25, i32 noundef 3)
  %270 = load ptr, ptr %24, align 8
  %271 = invoke ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %263, ptr %270, ptr noundef nonnull align 8 dereferenceable(136) %25)
          to label %272 unwind label %273

272:                                              ; preds = %269
  store ptr %271, ptr %22, align 8, !tbaa !62
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %25) #12
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %25) #12
  br label %275

273:                                              ; preds = %269
  %274 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %25) #12
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #12
  br label %442

275:                                              ; preds = %272, %260
  %276 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #12
  call void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(136) %276, ptr noundef nonnull align 8 dereferenceable(96) %3, i32 noundef 2)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #12
  br label %441

277:                                              ; preds = %254
  %278 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.78)
  br i1 %278, label %279, label %300

279:                                              ; preds = %277
  %280 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #12
  %281 = icmp ugt i64 %280, 1
  br i1 %281, label %283, label %282

282:                                              ; preds = %279
  tail call void @__assert_fail(ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15, i32 noundef 620, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #13
  unreachable

283:                                              ; preds = %279
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #12
  %284 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 1) #12
  %285 = tail call noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %284, ptr noundef null, i32 noundef 10)
  store i32 %285, ptr %26, align 4, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #12
  %286 = getelementptr inbounds i8, ptr %0, i64 304
  %287 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %286) #12
  %288 = tail call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %286) #12
  %289 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_4ET_SI_SI_T0_"(ptr %287, ptr %288, ptr nonnull %26)
  store ptr %289, ptr %27, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #12
  %290 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %286) #12
  store ptr %290, ptr %28, align 8
  %291 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %28) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #12
  br i1 %291, label %292, label %298

292:                                              ; preds = %283
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %27) #12
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %30) #12
  call void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %30, i32 noundef 4)
  %293 = load ptr, ptr %29, align 8
  %294 = invoke ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %286, ptr %293, ptr noundef nonnull align 8 dereferenceable(136) %30)
          to label %295 unwind label %296

295:                                              ; preds = %292
  store ptr %294, ptr %27, align 8, !tbaa !62
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %30) #12
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %30) #12
  br label %298

296:                                              ; preds = %292
  %297 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %30) #12
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #12
  br label %442

298:                                              ; preds = %295, %283
  %299 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %27) #12
  call void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 8 dereferenceable(136) %299, ptr noundef nonnull align 8 dereferenceable(96) %3, i32 noundef 2)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #12
  br label %441

300:                                              ; preds = %277
  %301 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.26)
  br i1 %301, label %306, label %302

302:                                              ; preds = %300
  %303 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.27)
  br i1 %303, label %306, label %304

304:                                              ; preds = %302
  %305 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.79)
  br i1 %305, label %306, label %330

306:                                              ; preds = %304, %302, %300
  %307 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.26)
  br i1 %307, label %310, label %308

308:                                              ; preds = %306
  %309 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.27)
  %.v230 = select i1 %309, i64 208, i64 232
  br label %310

310:                                              ; preds = %306, %308
  %.v230.sink = phi i64 [ %.v230, %308 ], [ 184, %306 ]
  %311 = getelementptr inbounds i8, ptr %0, i64 %.v230.sink
  %312 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #12
  %313 = icmp ugt i64 %312, 1
  br i1 %313, label %315, label %314

314:                                              ; preds = %310
  tail call void @__assert_fail(ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15, i32 noundef 638, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #13
  unreachable

315:                                              ; preds = %310
  %316 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 1) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #12
  %317 = tail call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %311) #12
  %318 = tail call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %311) #12
  %319 = tail call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_5ET_SI_SI_T0_"(ptr %317, ptr %318, ptr nonnull %316)
  store ptr %319, ptr %31, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #12
  %320 = tail call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %311) #12
  store ptr %320, ptr %32, align 8
  %321 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP10PackageRefSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #12
  br i1 %321, label %322, label %328

322:                                              ; preds = %315
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK10PackageRefSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %31) #12
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %34) #12
  call void @_ZN10PackageRefC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(184) %34, ptr noundef nonnull align 8 dereferenceable(32) %316)
  %323 = load ptr, ptr %33, align 8
  %324 = invoke ptr @_ZNSt6vectorI10PackageRefSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %311, ptr %323, ptr noundef nonnull align 8 dereferenceable(184) %34)
          to label %325 unwind label %326

325:                                              ; preds = %322
  store ptr %324, ptr %31, align 8, !tbaa !62
  call void @_ZN10PackageRefD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %34) #12
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %34) #12
  br label %328

326:                                              ; preds = %322
  %327 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10PackageRefD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %34) #12
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #12
  br label %442

328:                                              ; preds = %325, %315
  %329 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS1_SaIS1_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #12
  call void @_ZN10PackageRef12fill_from_kvER12ErrorHandlerbRK12TomlKeyValuemPK17WorkspaceManifestRKN7helpers4pathE(ptr noundef nonnull align 8 dereferenceable(184) %329, ptr noundef nonnull align 8 dereferenceable(8) %1, i1 noundef zeroext %321, ptr noundef nonnull align 8 dereferenceable(96) %3, i64 noundef 2, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(32) %0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #12
  br label %441

330:                                              ; preds = %304
  %331 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str)
  br i1 %331, label %332, label %333

332:                                              ; preds = %330
  tail call void @_ZN12ErrorHandler4todoIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.80) #14
  unreachable

333:                                              ; preds = %330
  %334 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.12)
  br i1 %334, label %441, label %335

335:                                              ; preds = %333
  %336 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.81)
  br i1 %336, label %337, label %401

337:                                              ; preds = %335
  %338 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #12
  %339 = icmp ult i64 %338, 3
  br i1 %339, label %340, label %341

340:                                              ; preds = %337
  tail call void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.82) #14
  unreachable

341:                                              ; preds = %337
  %342 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 1) #12
  %343 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 2) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #12
  call void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %342, i64 noundef 0, i64 noundef 4)
  %344 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.83)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #12
  br i1 %344, label %345, label %364

345:                                              ; preds = %341
  %346 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %342) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %36) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %36, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #12
  %347 = invoke noundef zeroext i1 @_Z9Cfg_CheckPKcRKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE(ptr noundef %346, ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %348 unwind label %349

348:                                              ; preds = %345
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #12
  br label %364

349:                                              ; preds = %345
  %350 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt9exception
  %351 = extractvalue { ptr, i32 } %350, 1
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %36) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %36) #12
  %352 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt9exception) #12
  %353 = icmp eq i32 %351, %352
  br i1 %353, label %354, label %442

354:                                              ; preds = %349
  %355 = extractvalue { ptr, i32 } %350, 0
  %356 = call ptr @__cxa_begin_catch(ptr %355) #12
  %357 = load ptr, ptr %356, align 8, !tbaa !51
  %358 = getelementptr inbounds i8, ptr %357, i64 16
  %359 = load ptr, ptr %358, align 8
  %360 = call noundef ptr %359(ptr noundef nonnull align 8 dereferenceable(8) %356) #12
  invoke void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %360) #14
          to label %361 unwind label %362

361:                                              ; preds = %354
  unreachable

362:                                              ; preds = %354
  %363 = landingpad { ptr, i32 }
          cleanup
  invoke void @__cxa_end_catch()
          to label %442 unwind label %443

364:                                              ; preds = %341, %348
  %365 = getelementptr inbounds i8, ptr %0, i64 256
  %366 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %365, ptr noundef nonnull align 8 dereferenceable(32) %342)
  %367 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %343, ptr noundef nonnull @.str.26)
  br i1 %367, label %372, label %368

368:                                              ; preds = %364
  %369 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %343, ptr noundef nonnull @.str.79)
  br i1 %369, label %372, label %370

370:                                              ; preds = %368
  %371 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %343, ptr noundef nonnull @.str.27)
  br i1 %371, label %372, label %397

372:                                              ; preds = %370, %368, %364
  %373 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %343, ptr noundef nonnull @.str.26)
  br i1 %373, label %377, label %374

374:                                              ; preds = %372
  %375 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %343, ptr noundef nonnull @.str.27)
  %.v = select i1 %375, i64 24, i64 48
  %376 = getelementptr inbounds i8, ptr %366, i64 %.v
  br label %377

377:                                              ; preds = %372, %374
  %378 = phi ptr [ %376, %374 ], [ %366, %372 ]
  %379 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #12
  %380 = icmp ugt i64 %379, 3
  br i1 %380, label %382, label %381

381:                                              ; preds = %377
  call void @__assert_fail(ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.15, i32 noundef 699, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue) #13
  unreachable

382:                                              ; preds = %377
  %383 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 3) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #12
  %384 = call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %378) #12
  %385 = call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %378) #12
  %386 = call ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_6ET_SI_SI_T0_"(ptr %384, ptr %385, ptr nonnull %383)
  store ptr %386, ptr %37, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #12
  %387 = call ptr @_ZNSt6vectorI10PackageRefSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %378) #12
  store ptr %387, ptr %38, align 8
  %388 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIP10PackageRefSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %38) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #12
  br i1 %388, label %389, label %395

389:                                              ; preds = %382
  call void @_ZN9__gnu_cxx17__normal_iteratorIPK10PackageRefSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %37) #12
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %40) #12
  call void @_ZN10PackageRefC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(184) %40, ptr noundef nonnull align 8 dereferenceable(32) %383)
  %390 = load ptr, ptr %39, align 8
  %391 = invoke ptr @_ZNSt6vectorI10PackageRefSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %378, ptr %390, ptr noundef nonnull align 8 dereferenceable(184) %40)
          to label %392 unwind label %393

392:                                              ; preds = %389
  store ptr %391, ptr %37, align 8, !tbaa !62
  call void @_ZN10PackageRefD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %40) #12
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %40) #12
  br label %395

393:                                              ; preds = %389
  %394 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10PackageRefD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %40) #12
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #12
  br label %442

395:                                              ; preds = %392, %382
  %396 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS1_SaIS1_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #12
  call void @_ZN10PackageRef12fill_from_kvER12ErrorHandlerbRK12TomlKeyValuemPK17WorkspaceManifestRKN7helpers4pathE(ptr noundef nonnull align 8 dereferenceable(184) %396, ptr noundef nonnull align 8 dereferenceable(8) %1, i1 noundef zeroext %388, ptr noundef nonnull align 8 dereferenceable(96) %3, i64 noundef 4, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(32) %0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #12
  br label %441

397:                                              ; preds = %370
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %343)
  invoke void @_ZN12ErrorHandler4todoIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.85, ptr noundef nonnull %41, ptr noundef nonnull @.str.86) #14
          to label %398 unwind label %399

398:                                              ; preds = %397
  unreachable

399:                                              ; preds = %397
  %400 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #12
  br label %442

401:                                              ; preds = %335
  %402 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.87)
  br i1 %402, label %403, label %431

403:                                              ; preds = %401
  %404 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef 1) #12
  %405 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %404, ptr noundef nonnull @.str.88)
  br i1 %405, label %406, label %408

406:                                              ; preds = %403
  %407 = getelementptr inbounds i8, ptr %0, i64 544
  br label %420

408:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #12
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %43) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %44, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #12
  invoke void @_ZSt9make_pairIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENSC_INSD_IT0_E4typeEE6__typeEEOSE_OSJ_(ptr dead_on_unwind nonnull writable sret(%"struct.std::pair.121") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %404, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %409 unwind label %415

409:                                              ; preds = %408
  %410 = getelementptr inbounds i8, ptr %0, i64 496
  %411 = invoke { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISB_IS5_S8_EEENSt9enable_ifIXsr16is_constructibleISD_T_EE5valueESB_ISt17_Rb_tree_iteratorISD_EbEE4typeEOSJ_(ptr noundef nonnull align 8 dereferenceable(48) %410, ptr noundef nonnull align 8 dereferenceable(56) %43)
          to label %412 unwind label %417

412:                                              ; preds = %409
  %.fca.0.extract = extractvalue { ptr, i8 } %411, 0
  %.fca.1.extract = extractvalue { ptr, i8 } %411, 1
  store ptr %.fca.0.extract, ptr %42, align 8
  %.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %42, i64 8
  store i8 %.fca.1.extract, ptr %.sroa.2.0..sroa_idx, align 8
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %43) #12
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %43) #12
  %413 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #12
  %414 = getelementptr inbounds i8, ptr %413, i64 32
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #12
  br label %420

415:                                              ; preds = %408
  %416 = landingpad { ptr, i32 }
          cleanup
  br label %419

417:                                              ; preds = %409
  %418 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %43) #12
  br label %419

419:                                              ; preds = %417, %415
  %.pn = phi { ptr, i32 } [ %418, %417 ], [ %416, %415 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #12
  br label %442

420:                                              ; preds = %412, %406
  %.0223 = phi ptr [ %407, %406 ], [ %414, %412 ]
  %421 = getelementptr inbounds i8, ptr %3, i64 72
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  %422 = call ptr @_ZNKSt6vectorI9TomlValueSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %421) #12
  store ptr %422, ptr %45, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #12
  %423 = call ptr @_ZNKSt6vectorI9TomlValueSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %421) #12
  store ptr %423, ptr %46, align 8
  %424 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPK9TomlValueSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(8) %46) #12
  br i1 %424, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %.lr.ph, %420
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  br label %441

.lr.ph:                                           ; preds = %420, %.lr.ph
  %425 = call noundef nonnull align 8 dereferenceable(72) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPK9TomlValueSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %45) #12
  %426 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9TomlValue9as_stringB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(72) %425)
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %.0223, ptr noundef nonnull align 8 dereferenceable(32) %426)
  %427 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %.0223) #12
  %428 = call noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc(ptr noundef nonnull align 8 dereferenceable(32) %427, i64 noundef 0, i64 noundef 4, ptr noundef nonnull @.str.89)
  %429 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPK9TomlValueSt6vectorIS1_SaIS1_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %45) #12
  %430 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPK9TomlValueSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(8) %46) #12
  br i1 %430, label %.lr.ph, label %._crit_edge

431:                                              ; preds = %401
  %432 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.13)
  br i1 %432, label %441, label %433

433:                                              ; preds = %431
  %434 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.90)
  br i1 %434, label %441, label %435

435:                                              ; preds = %433
  %436 = tail call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.91)
  br i1 %436, label %441, label %437

437:                                              ; preds = %435
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(32) %48)
  invoke void @_ZN12ErrorHandler7warningIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull @.str.92, ptr noundef nonnull %47, ptr noundef nonnull @.str.25)
          to label %438 unwind label %439

438:                                              ; preds = %437
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #12
  br label %441

439:                                              ; preds = %437
  %440 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #12
  br label %442

441:                                              ; preds = %61, %110, %133, %131, %137, %153, %157, %188, %178, %171, %184, %159, %155, %149, %135, %113, %115, %117, %119, %121, %123, %125, %127, %129, %73, %206, %252, %298, %395, %431, %438, %435, %433, %._crit_edge, %333, %328, %275, %229
  ret void

442:                                              ; preds = %393, %399, %362, %90, %349, %77, %147, %189, %439, %419, %326, %296, %273, %250, %227, %204
  %.merged = phi { ptr, i32 } [ %205, %204 ], [ %228, %227 ], [ %251, %250 ], [ %274, %273 ], [ %297, %296 ], [ %327, %326 ], [ %.pn, %419 ], [ %440, %439 ], [ %78, %77 ], [ %148, %147 ], [ %190, %189 ], [ %350, %349 ], [ %91, %90 ], [ %363, %362 ], [ %394, %393 ], [ %400, %399 ]
  resume { ptr, i32 } %.merged

443:                                              ; preds = %362, %90
  %444 = landingpad { ptr, i32 }
          catch ptr null
  %445 = extractvalue { ptr, i32 } %444, 0
  call void @__clang_call_terminate(ptr %445) #13
  unreachable
}

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: nounwind
declare void @_ZNSt13runtime_errorD1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #5

declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr

declare void @__cxa_free_exception(ptr) local_unnamed_addr

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136), i32 noundef) unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #6

; Function Attrs: mustprogress noreturn uwtable
declare dso_local void @_ZN12ErrorHandler5errorIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN14PackageVersion11from_stringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind noalias writable sret(%struct.PackageVersion) align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(48) ptr @_ZN14PackageVersionaSEOS_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN14PackageVersionD2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 align 2

; Function Attrs: nofree nosync nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #8

declare ptr @__cxa_begin_catch(ptr) local_unnamed_addr

; Function Attrs: mustprogress noreturn uwtable
declare dso_local void @_ZN12ErrorHandler5errorIJPKcS2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef) local_unnamed_addr #7 align 2

declare void @__cxa_end_catch() local_unnamed_addr

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) local_unnamed_addr #9

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK9TomlValue7as_boolEv(ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress noreturn uwtable
declare dso_local void @_ZN12ErrorHandler4todoIJPKcEEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #7 align 2

declare void @_ZNSt13runtime_errorC1EPKc(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) unnamed_addr #10

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK17WorkspaceManifest7editionEv(ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12ErrorHandler7warningIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_0ET_SI_SI_T0_"(ptr, ptr) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxeqIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr, ptr noundef nonnull align 8 dereferenceable(136)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN9__gnu_cxx17__normal_iteratorIPK13PackageTargetSt6vectorIS1_SaIS1_EEEC2IPS1_vEERKNS0_IT_S6_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_119target_edit_from_kvER12ErrorHandlerR13PackageTargetRK12TomlKeyValuej(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(136), ptr noundef nonnull align 8 dereferenceable(96), i32 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i32 noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_1ET_SI_SI_T0_"(ptr, ptr, ptr) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_2ET_SI_SI_T0_"(ptr, ptr, ptr) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_3ET_SI_SI_T0_"(ptr, ptr, ptr) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_4ET_SI_SI_T0_"(ptr, ptr, ptr) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_5ET_SI_SI_T0_"(ptr, ptr, ptr) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef) local_unnamed_addr #3 align 2

declare noundef zeroext i1 @_Z9Cfg_CheckPKcRKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE(ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #10

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #11

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(72) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP10PackageRefSt6vectorIS2_SaIS2_EEEEZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValueE3$_6ET_SI_SI_T0_"(ptr, ptr, ptr) local_unnamed_addr #6

; Function Attrs: mustprogress noreturn uwtable
declare dso_local void @_ZN12ErrorHandler4todoIJPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES2_EEEvDpT_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISB_IS5_S8_EEENSt9enable_ifIXsr16is_constructibleISD_T_EE5valueESB_ISt17_Rb_tree_iteratorISD_EbEE4typeEOSJ_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZSt9make_pairIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENSC_INSD_IT0_E4typeEE6__typeEEOSE_OSJ_(ptr dead_on_unwind noalias writable sret(%"struct.std::pair.121") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorI9TomlValueSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNKSt6vectorI9TomlValueSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPK9TomlValueSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(72) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPK9TomlValueSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

declare noundef i32 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef, ptr noundef) local_unnamed_addr #10

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPK9TomlValueSt6vectorIS1_SaIS1_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 align 2

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { mustprogress noreturn uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nofree nosync nounwind memory(none) }
attributes #9 = { noinline noreturn nounwind uwtable "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #12 = { nounwind }
attributes #13 = { noreturn nounwind }
attributes #14 = { noreturn }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !16, i64 76}
!6 = !{!"_ZTS15PackageManifest", !7, i64 0, !8, i64 32, !14, i64 64, !8, i64 112, !17, i64 144, !8, i64 152, !18, i64 184, !23, i64 256, !31, i64 304, !35, i64 328, !48, i64 496, !36, i64 544, !36, i64 568, !16, i64 592, !16, i64 593}
!7 = !{!"_ZTSN7helpers4pathE", !8, i64 0}
!8 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !9, i64 0, !13, i64 8, !11, i64 16}
!9 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !10, i64 0}
!10 = !{!"any pointer", !11, i64 0}
!11 = !{!"omnipotent char", !12, i64 0}
!12 = !{!"Simple C++ TBAA"}
!13 = !{!"long", !11, i64 0}
!14 = !{!"_ZTS14PackageVersion", !15, i64 0, !15, i64 4, !15, i64 8, !16, i64 12, !8, i64 16}
!15 = !{!"int", !11, i64 0}
!16 = !{!"bool", !11, i64 0}
!17 = !{!"_ZTS7Edition", !11, i64 0}
!18 = !{!"_ZTSN15PackageManifest12DependenciesE", !19, i64 0, !19, i64 24, !19, i64 48}
!19 = !{!"_ZTSSt6vectorI10PackageRefSaIS0_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseI10PackageRefSaIS0_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseI10PackageRefSaIS0_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseI10PackageRefSaIS0_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!23 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesESt4lessIS5_ESaISt4pairIKS5_S7_EEE", !24, i64 0}
!24 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N15PackageManifest12DependenciesEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !25, i64 0}
!25 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N15PackageManifest12DependenciesEESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !26, i64 0, !28, i64 8}
!26 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !27, i64 0}
!27 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!28 = !{!"_ZTSSt15_Rb_tree_header", !29, i64 0, !13, i64 32}
!29 = !{!"_ZTSSt18_Rb_tree_node_base", !30, i64 0, !10, i64 8, !10, i64 16, !10, i64 24}
!30 = !{!"_ZTSSt14_Rb_tree_color", !11, i64 0}
!31 = !{!"_ZTSSt6vectorI13PackageTargetSaIS0_EE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseI13PackageTargetSaIS0_EE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseI13PackageTargetSaIS0_EE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseI13PackageTargetSaIS0_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!35 = !{!"_ZTS17BuildScriptOutput", !36, i64 0, !40, i64 24, !40, i64 48, !36, i64 72, !36, i64 96, !44, i64 120, !44, i64 144}
!36 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !37, i64 0}
!37 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!40 = !{!"_ZTSSt6vectorISt4pairIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS9_EE", !41, i64 0}
!41 = !{!"_ZTSSt12_Vector_baseISt4pairIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS9_EE", !42, i64 0}
!42 = !{!"_ZTSNSt12_Vector_baseISt4pairIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS9_EE12_Vector_implE", !43, i64 0}
!43 = !{!"_ZTSNSt12_Vector_baseISt4pairIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS9_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!44 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE", !45, i64 0}
!45 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE", !46, i64 0}
!46 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_Vector_implE", !47, i64 0}
!47 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!48 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !49, i64 0}
!49 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS5_SaIS5_EEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !50, i64 0}
!50 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIS5_SaIS5_EEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !26, i64 0, !28, i64 8}
!51 = !{!52, !52, i64 0}
!52 = !{!"vtable pointer", !12, i64 0}
!53 = !{!54, !56, i64 24}
!54 = !{!"_ZTS12TomlKeyValue", !36, i64 0, !55, i64 24}
!55 = !{!"_ZTS9TomlValue", !56, i64 0, !13, i64 8, !8, i64 16, !57, i64 48}
!56 = !{!"_ZTSN9TomlValue4TypeE", !11, i64 0}
!57 = !{!"_ZTSSt6vectorI9TomlValueSaIS0_EE", !58, i64 0}
!58 = !{!"_ZTSSt12_Vector_baseI9TomlValueSaIS0_EE", !59, i64 0}
!59 = !{!"_ZTSNSt12_Vector_baseI9TomlValueSaIS0_EE12_Vector_implE", !60, i64 0}
!60 = !{!"_ZTSNSt12_Vector_baseI9TomlValueSaIS0_EE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!61 = !{!6, !17, i64 144}
!62 = !{!10, !10, i64 0}
!63 = !{!15, !15, i64 0}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass