; 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"

%class.ManifestOverrides = type { %"class.std::map" }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, ManifestOverrides::Override>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, ManifestOverrides::Override>>, 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>, ManifestOverrides::Override>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, ManifestOverrides::Override>>, 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::__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.helpers::path" = type { %"class.std::__cxx11::basic_string" }
%class.TomlFileIter = type { ptr, %struct.TomlKeyValue }
%struct.TomlKeyValue = type { %"class.std::vector.12", %struct.TomlValue }
%"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 }
%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] }>
%struct.PackageVersion = type { i32, i32, i32, i8, %"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" }
%"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" }
%class.TomlFile = type { %class.TomlLexer, %"class.std::vector.12", %"class.std::vector.17", i32, %"class.std::unordered_map" }
%class.TomlLexer = type <{ %"class.std::basic_ifstream", %"class.std::__cxx11::basic_string", i32, [4 x i8] }>
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.11 }
%union.anon.11 = type { i32 }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::vector.17" = type { %"struct.std::_Vector_base.18" }
%"struct.std::_Vector_base.18" = type { %"struct.std::_Vector_base<std::vector<std::__cxx11::basic_string<char>>, std::allocator<std::vector<std::__cxx11::basic_string<char>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<std::__cxx11::basic_string<char>>, std::allocator<std::vector<std::__cxx11::basic_string<char>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<std::__cxx11::basic_string<char>>, std::allocator<std::vector<std::__cxx11::basic_string<char>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<std::__cxx11::basic_string<char>>, std::allocator<std::vector<std::__cxx11::basic_string<char>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%struct.ErrorHandlerLex = type { %struct.ErrorHandler, ptr }
%struct.ErrorHandler = type { ptr }
%"class.std::function" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%class.anon.69 = type { ptr }
%class.anon.75 = type { ptr }
%class.anon.76 = type { ptr }
%"class.__gnu_cxx::__normal_iterator.77" = type { ptr }
%class.anon.78 = type { ptr }
%class.anon.80 = type { ptr }
%class.anon.81 = type { ptr }
%"struct.std::_Rb_tree_iterator.82" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.85" = type { ptr }
%class.anon.86 = type { i8 }
%class.anon.88 = type { i8 }
%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.anon.95 = type { i8 }
%class.anon.97 = type { i8 }
%"class.__gnu_cxx::__normal_iterator.99" = type { ptr }
%class.anon.100 = type { i8 }
%"class.std::function.102" = type { %"class.std::_Function_base", ptr }
%class.anon.105 = type { ptr }
%class.anon.106 = type { i8 }
%"struct.std::pair.83" = type { %"class.std::__cxx11::basic_string", %"struct.PackageManifest::Dependencies" }

@_ZL11s_overrides = external hidden global %class.ManifestOverrides, align 8
@.str.15 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [24 x i8], align 1
@__PRETTY_FUNCTION__._ZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifest = external hidden unnamed_addr constant [105 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [32 x i8], align 1
@_ZTISt13runtime_error = external constant ptr
@.str.33 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [9 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

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

declare i32 @__gxx_personality_v0(...)

declare void @_ZN8TomlFileC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(672), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 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: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(556) ptr @_ZNK8TomlFile5lexerEv(ptr noundef nonnull align 8 dereferenceable(672)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN15ErrorHandlerLexC2ERK9TomlLexer(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(556)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7helpers4path6parentEv(ptr dead_on_unwind noalias writable sret(%"class.helpers::path") align 8, ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

declare void @_ZN8TomlFile5beginEv(ptr dead_on_unwind writable sret(%class.TomlFileIter) align 8, ptr noundef nonnull align 8 dereferenceable(672)) #2

declare void @_ZN8TomlFile3endEv(ptr dead_on_unwind writable sret(%class.TomlFileIter) align 8, ptr noundef nonnull align 8 dereferenceable(672)) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK12TomlFileIterneERKS_(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(104)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK12TomlFileIterdeEv(ptr dead_on_unwind noalias writable sret(%struct.TomlKeyValue) align 8, ptr noundef nonnull align 8 dereferenceable(104)) #1 align 2

; 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) #4

declare void @_Z11Debug_PrintSt8functionIFvRSoEE(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)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7helpers4pathdvERKS0_(ptr dead_on_unwind noalias writable sret(%"class.helpers::path") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

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

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

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

; 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 #1 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifest(ptr dead_on_unwind noalias writable sret(%class.PackageManifest) align 8 %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %2) #1 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i1, align 1
  %8 = alloca %"class.helpers::path", align 8
  %9 = alloca %"class.helpers::path", align 8
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca %class.TomlFile, align 8
  %13 = alloca %struct.ErrorHandlerLex, align 8
  %14 = alloca ptr, align 8
  %15 = alloca %"class.std::function", align 8
  %16 = alloca %class.anon.69, align 8
  %17 = alloca ptr, align 8
  %18 = alloca %class.TomlFileIter, align 8
  %19 = alloca %class.TomlFileIter, align 8
  %20 = alloca i32, align 4
  %21 = alloca %struct.TomlKeyValue, align 8
  %22 = alloca %"class.std::function", align 8
  %23 = alloca %class.anon.75, align 8
  %24 = alloca %"class.std::function", align 8
  %25 = alloca %class.anon.76, align 8
  %26 = alloca ptr, align 8
  %27 = alloca %"class.__gnu_cxx::__normal_iterator.77", align 8
  %28 = alloca %"class.__gnu_cxx::__normal_iterator.77", align 8
  %29 = alloca %struct.TomlKeyValue, align 8
  %30 = alloca %"class.std::function", align 8
  %31 = alloca %class.anon.78, align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca i1, align 1
  %34 = alloca %class.anon.80, align 8
  %35 = alloca %class.anon.81, align 8
  %36 = alloca ptr, align 8
  %37 = alloca %"struct.std::_Rb_tree_iterator.82", align 8
  %38 = alloca %"struct.std::_Rb_tree_iterator.82", align 8
  %39 = alloca ptr, align 8
  %40 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %41 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %42 = alloca %class.anon.86, align 1
  %43 = alloca %"class.std::basic_ifstream", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.helpers::path", align 8
  %46 = alloca %"class.helpers::path", align 8
  %47 = alloca %"class.std::function", align 8
  %48 = alloca %class.anon.88, align 1
  %49 = alloca %struct.PackageTarget, align 8
  %50 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %51 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %52 = alloca %class.anon.95, align 1
  %53 = alloca %"class.std::basic_ifstream", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.helpers::path", align 8
  %56 = alloca %"class.helpers::path", align 8
  %57 = alloca %"class.std::function", align 8
  %58 = alloca %class.anon.97, align 1
  %59 = alloca %struct.PackageTarget, align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca i1, align 1
  %62 = alloca ptr, align 8
  %63 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %64 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %65 = alloca ptr, align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.helpers::path", align 8
  %68 = alloca %"class.helpers::path", align 8
  %69 = alloca %"class.helpers::path", align 8
  %70 = alloca %"class.helpers::path", align 8
  %71 = alloca %"class.std::basic_ifstream", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.helpers::path", align 8
  %74 = alloca %"class.helpers::path", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.helpers::path", align 8
  %77 = alloca %"class.helpers::path", align 8
  %78 = alloca %"class.helpers::path", align 8
  %79 = alloca %"class.helpers::path", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.helpers::path", align 8
  %82 = alloca %"class.helpers::path", align 8
  %83 = alloca %"class.helpers::path", align 8
  %84 = alloca %"class.helpers::path", align 8
  %85 = alloca %"class.std::basic_ifstream", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.helpers::path", align 8
  %88 = alloca %"class.helpers::path", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.helpers::path", align 8
  %91 = alloca %"class.helpers::path", align 8
  %92 = alloca %"class.helpers::path", align 8
  %93 = alloca %"class.helpers::path", align 8
  %94 = alloca ptr, align 8
  %95 = alloca %"class.__gnu_cxx::__normal_iterator.99", align 8
  %96 = alloca %"class.__gnu_cxx::__normal_iterator.99", align 8
  %97 = alloca i8, align 1
  %98 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %99 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %100 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %101 = alloca %class.anon.100, align 1
  %102 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %struct.PackageTarget, align 8
  %106 = alloca %"class.std::function.102", align 8
  %107 = alloca %class.anon.105, align 8
  %108 = alloca %"class.std::basic_ifstream", align 8
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.helpers::path", align 8
  %111 = alloca %"class.std::function", align 8
  %112 = alloca %class.anon.106, align 1
  store ptr %0, ptr %4, align 8
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  store i1 false, ptr %7, align 1
  call void @_ZN15PackageManifestC1Ev(ptr noundef nonnull align 8 dereferenceable(594) %0)
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #8
  %113 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN7helpers4pathC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %113)
          to label %114 unwind label %134

114:                                              ; preds = %3
  invoke void @_ZNK7helpers4path6parentEv(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %8, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %115 unwind label %138

115:                                              ; preds = %114
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #8
  %116 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 0
  %117 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN7helpers4pathaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %118 unwind label %143

118:                                              ; preds = %115
  call void @llvm.lifetime.start.p0(i64 672, ptr %12) #8
  %119 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN8TomlFileC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(672) %12, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %120 unwind label %147

120:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #8
  %121 = invoke noundef nonnull align 8 dereferenceable(556) ptr @_ZNK8TomlFile5lexerEv(ptr noundef nonnull align 8 dereferenceable(672) %12)
          to label %122 unwind label %151

122:                                              ; preds = %120
  invoke void @_ZN15ErrorHandlerLexC2ERK9TomlLexer(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef nonnull align 8 dereferenceable(556) %121)
          to label %123 unwind label %151

123:                                              ; preds = %122
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #8
  %124 = invoke noundef ptr @_ZNK17ManifestOverrides6lookupERKN7helpers4pathE(ptr noundef nonnull align 8 dereferenceable(48) @_ZL11s_overrides, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %125 unwind label %155

125:                                              ; preds = %123
  store ptr %124, ptr %14, align 8, !tbaa !5
  %126 = load ptr, ptr %14, align 8, !tbaa !5
  %127 = icmp ne ptr %126, null
  br i1 %127, label %128, label %163

128:                                              ; preds = %125
  br label %129

129:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #8
  %130 = getelementptr inbounds %class.anon.69, ptr %16, i32 0, i32 0
  store ptr %8, ptr %130, align 8, !tbaa !5
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef %15)
          to label %131 unwind label %159

131:                                              ; preds = %129
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  br label %132

132:                                              ; preds = %131
  br label %133

133:                                              ; preds = %132
  br label %163

134:                                              ; preds = %3
  %135 = landingpad { ptr, i32 }
          cleanup
  %136 = extractvalue { ptr, i32 } %135, 0
  store ptr %136, ptr %10, align 8
  %137 = extractvalue { ptr, i32 } %135, 1
  store i32 %137, ptr %11, align 4
  br label %142

138:                                              ; preds = %114
  %139 = landingpad { ptr, i32 }
          cleanup
  %140 = extractvalue { ptr, i32 } %139, 0
  store ptr %140, ptr %10, align 8
  %141 = extractvalue { ptr, i32 } %139, 1
  store i32 %141, ptr %11, align 4
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #8
  br label %142

142:                                              ; preds = %138, %134
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #8
  br label %972

143:                                              ; preds = %115
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %10, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %11, align 4
  br label %971

147:                                              ; preds = %118
  %148 = landingpad { ptr, i32 }
          cleanup
  %149 = extractvalue { ptr, i32 } %148, 0
  store ptr %149, ptr %10, align 8
  %150 = extractvalue { ptr, i32 } %148, 1
  store i32 %150, ptr %11, align 4
  br label %970

151:                                              ; preds = %122, %120
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %10, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %11, align 4
  br label %969

155:                                              ; preds = %936, %918, %909, %905, %422, %352, %295, %123
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %10, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %11, align 4
  br label %968

159:                                              ; preds = %129
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %10, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %11, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  br label %968

163:                                              ; preds = %133, %125
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #8
  store ptr %12, ptr %17, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 104, ptr %18) #8
  %164 = load ptr, ptr %17, align 8, !tbaa !5
  invoke void @_ZN8TomlFile5beginEv(ptr dead_on_unwind writable sret(%class.TomlFileIter) align 8 %18, ptr noundef nonnull align 8 dereferenceable(672) %164)
          to label %165 unwind label %172

165:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 104, ptr %19) #8
  %166 = load ptr, ptr %17, align 8, !tbaa !5
  invoke void @_ZN8TomlFile3endEv(ptr dead_on_unwind writable sret(%class.TomlFileIter) align 8 %19, ptr noundef nonnull align 8 dereferenceable(672) %166)
          to label %167 unwind label %176

167:                                              ; preds = %165
  br label %168

168:                                              ; preds = %230, %167
  %169 = invoke noundef zeroext i1 @_ZNK12TomlFileIterneERKS_(ptr noundef nonnull align 8 dereferenceable(104) %18, ptr noundef nonnull align 8 dereferenceable(104) %19)
          to label %170 unwind label %180

170:                                              ; preds = %168
  br i1 %169, label %184, label %171

171:                                              ; preds = %170
  store i32 4, ptr %20, align 4
  call void @_ZN12TomlFileIterD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %19) #8
  call void @llvm.lifetime.end.p0(i64 104, ptr %19) #8
  call void @_ZN12TomlFileIterD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %18) #8
  call void @llvm.lifetime.end.p0(i64 104, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  br label %240

172:                                              ; preds = %163
  %173 = landingpad { ptr, i32 }
          cleanup
  %174 = extractvalue { ptr, i32 } %173, 0
  store ptr %174, ptr %10, align 8
  %175 = extractvalue { ptr, i32 } %173, 1
  store i32 %175, ptr %11, align 4
  br label %239

176:                                              ; preds = %165
  %177 = landingpad { ptr, i32 }
          cleanup
  %178 = extractvalue { ptr, i32 } %177, 0
  store ptr %178, ptr %10, align 8
  %179 = extractvalue { ptr, i32 } %177, 1
  store i32 %179, ptr %11, align 4
  br label %238

180:                                              ; preds = %229, %168
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %10, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %11, align 4
  br label %237

184:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 96, ptr %21) #8
  invoke void @_ZNK12TomlFileIterdeEv(ptr dead_on_unwind writable sret(%struct.TomlKeyValue) align 8 %21, ptr noundef nonnull align 8 dereferenceable(104) %18)
          to label %185 unwind label %191

185:                                              ; preds = %184
  %186 = getelementptr inbounds %struct.TomlKeyValue, ptr %21, i32 0, i32 0
  %187 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %186) #8
  %188 = icmp ugt i64 %187, 0
  br i1 %188, label %189, label %190

189:                                              ; preds = %185
  br label %196

190:                                              ; preds = %185
  call void @__assert_fail(ptr noundef @.str.29, ptr noundef @.str.15, i32 noundef 263, ptr noundef @__PRETTY_FUNCTION__._ZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifest) #9
  unreachable

191:                                              ; preds = %184
  %192 = landingpad { ptr, i32 }
          cleanup
  %193 = extractvalue { ptr, i32 } %192, 0
  store ptr %193, ptr %10, align 8
  %194 = extractvalue { ptr, i32 } %192, 1
  store i32 %194, ptr %11, align 4
  br label %236

195:                                              ; No predecessors!
  br label %196

196:                                              ; preds = %195, %189
  %197 = load ptr, ptr %14, align 8, !tbaa !5
  %198 = icmp ne ptr %197, null
  br i1 %198, label %199, label %218

199:                                              ; preds = %196
  %200 = load ptr, ptr %14, align 8, !tbaa !5
  %201 = getelementptr inbounds %struct.TomlKeyValue, ptr %21, i32 0, i32 0
  %202 = invoke noundef zeroext i1 @_ZNK17ManifestOverrides8Override15is_filtered_outERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(48) %200, ptr noundef nonnull align 8 dereferenceable(24) %201)
          to label %203 unwind label %210

203:                                              ; preds = %199
  br i1 %202, label %204, label %218

204:                                              ; preds = %203
  br label %205

205:                                              ; preds = %204
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #8
  %206 = getelementptr inbounds %class.anon.75, ptr %23, i32 0, i32 0
  store ptr %21, ptr %206, align 8, !tbaa !5
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef %22)
          to label %207 unwind label %214

207:                                              ; preds = %205
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  br label %208

208:                                              ; preds = %207
  br label %209

209:                                              ; preds = %208
  store i32 5, ptr %20, align 4
  br label %226

210:                                              ; preds = %223, %199
  %211 = landingpad { ptr, i32 }
          cleanup
  %212 = extractvalue { ptr, i32 } %211, 0
  store ptr %212, ptr %10, align 8
  %213 = extractvalue { ptr, i32 } %211, 1
  store i32 %213, ptr %11, align 4
  br label %235

214:                                              ; preds = %205
  %215 = landingpad { ptr, i32 }
          cleanup
  %216 = extractvalue { ptr, i32 } %215, 0
  store ptr %216, ptr %10, align 8
  %217 = extractvalue { ptr, i32 } %215, 1
  store i32 %217, ptr %11, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  br label %235

218:                                              ; preds = %203, %196
  br label %219

219:                                              ; preds = %218
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  %220 = getelementptr inbounds %class.anon.76, ptr %25, i32 0, i32 0
  store ptr %21, ptr %220, align 8, !tbaa !5
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef %24)
          to label %221 unwind label %231

221:                                              ; preds = %219
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %222

222:                                              ; preds = %221
  br label %223

223:                                              ; preds = %222
  %224 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue(ptr noundef nonnull align 8 dereferenceable(594) %0, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef %224, ptr noundef nonnull align 8 dereferenceable(96) %21)
          to label %225 unwind label %210

225:                                              ; preds = %223
  store i32 0, ptr %20, align 4
  br label %226

226:                                              ; preds = %225, %209
  call void @_ZN12TomlKeyValueD2Ev(ptr noundef nonnull align 8 dereferenceable(96) %21) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr %21) #8
  %227 = load i32, ptr %20, align 4
  switch i32 %227, label %980 [
    i32 0, label %228
    i32 5, label %229
  ]

228:                                              ; preds = %226
  br label %229

229:                                              ; preds = %228, %226
  invoke void @_ZN12TomlFileIterppEv(ptr noundef nonnull align 8 dereferenceable(104) %18)
          to label %230 unwind label %180

230:                                              ; preds = %229
  br label %168

231:                                              ; preds = %219
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %10, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %11, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %235

235:                                              ; preds = %231, %214, %210
  call void @_ZN12TomlKeyValueD2Ev(ptr noundef nonnull align 8 dereferenceable(96) %21) #8
  br label %236

236:                                              ; preds = %235, %191
  call void @llvm.lifetime.end.p0(i64 96, ptr %21) #8
  br label %237

237:                                              ; preds = %236, %180
  call void @_ZN12TomlFileIterD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %19) #8
  br label %238

238:                                              ; preds = %237, %176
  call void @llvm.lifetime.end.p0(i64 104, ptr %19) #8
  call void @_ZN12TomlFileIterD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %18) #8
  br label %239

239:                                              ; preds = %238, %172
  call void @llvm.lifetime.end.p0(i64 104, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  br label %968

240:                                              ; preds = %171
  %241 = load ptr, ptr %14, align 8, !tbaa !5
  %242 = icmp ne ptr %241, null
  br i1 %242, label %243, label %295

243:                                              ; preds = %240
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #8
  %244 = load ptr, ptr %14, align 8, !tbaa !5
  %245 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK17ManifestOverrides8Override9overridesEv(ptr noundef nonnull align 8 dereferenceable(48) %244)
          to label %246 unwind label %256

246:                                              ; preds = %243
  store ptr %245, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  %247 = load ptr, ptr %26, align 8, !tbaa !5
  %248 = call ptr @_ZNKSt6vectorI12TomlKeyValueSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %247) #8
  %249 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.77", ptr %27, i32 0, i32 0
  store ptr %248, ptr %249, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  %250 = load ptr, ptr %26, align 8, !tbaa !5
  %251 = call ptr @_ZNKSt6vectorI12TomlKeyValueSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %250) #8
  %252 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.77", ptr %28, i32 0, i32 0
  store ptr %251, ptr %252, align 8
  br label %253

253:                                              ; preds = %281, %246
  %254 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPK12TomlKeyValueSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  br i1 %254, label %260, label %255

255:                                              ; preds = %253
  store i32 10, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %294

256:                                              ; preds = %243
  %257 = landingpad { ptr, i32 }
          cleanup
  %258 = extractvalue { ptr, i32 } %257, 0
  store ptr %258, ptr %10, align 8
  %259 = extractvalue { ptr, i32 } %257, 1
  store i32 %259, ptr %11, align 4
  br label %293

260:                                              ; preds = %253
  call void @llvm.lifetime.start.p0(i64 96, ptr %29) #8
  %261 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPK12TomlKeyValueSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %27) #8
  invoke void @_ZN12TomlKeyValueC2ERKS_(ptr noundef nonnull align 8 dereferenceable(96) %29, ptr noundef nonnull align 8 dereferenceable(96) %261)
          to label %262 unwind label %268

262:                                              ; preds = %260
  %263 = getelementptr inbounds %struct.TomlKeyValue, ptr %29, i32 0, i32 0
  %264 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %263) #8
  %265 = icmp ugt i64 %264, 0
  br i1 %265, label %266, label %267

266:                                              ; preds = %262
  br label %273

267:                                              ; preds = %262
  call void @__assert_fail(ptr noundef @.str.29, ptr noundef @.str.15, i32 noundef 277, ptr noundef @__PRETTY_FUNCTION__._ZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifest) #9
  unreachable

268:                                              ; preds = %260
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %10, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %11, align 4
  br label %292

272:                                              ; No predecessors!
  br label %273

273:                                              ; preds = %272, %266
  br label %274

274:                                              ; preds = %273
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  %275 = getelementptr inbounds %class.anon.78, ptr %31, i32 0, i32 0
  store ptr %29, ptr %275, align 8, !tbaa !5
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(8) %31) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef %30)
          to label %276 unwind label %283

276:                                              ; preds = %274
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  br label %277

277:                                              ; preds = %276
  br label %278

278:                                              ; preds = %277
  %279 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void @_ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue(ptr noundef nonnull align 8 dereferenceable(594) %0, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef %279, ptr noundef nonnull align 8 dereferenceable(96) %29)
          to label %280 unwind label %287

280:                                              ; preds = %278
  call void @_ZN12TomlKeyValueD2Ev(ptr noundef nonnull align 8 dereferenceable(96) %29) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr %29) #8
  br label %281

281:                                              ; preds = %280
  %282 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPK12TomlKeyValueSt6vectorIS1_SaIS1_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %27) #8
  br label %253

283:                                              ; preds = %274
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %10, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %11, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  br label %291

287:                                              ; preds = %278
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %10, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %11, align 4
  br label %291

291:                                              ; preds = %287, %283
  call void @_ZN12TomlKeyValueD2Ev(ptr noundef nonnull align 8 dereferenceable(96) %29) #8
  br label %292

292:                                              ; preds = %291, %268
  call void @llvm.lifetime.end.p0(i64 96, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  br label %293

293:                                              ; preds = %292, %256
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %968

294:                                              ; preds = %255
  br label %295

295:                                              ; preds = %294, %240
  %296 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 1
  %297 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %296, ptr noundef @.str.30)
          to label %298 unwind label %155

298:                                              ; preds = %295
  br i1 %297, label %299, label %316

299:                                              ; preds = %298
  store i1 true, ptr %33, align 1
  %300 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #8
  %301 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_Z6formatIJA15_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA32_cEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 1 dereferenceable(15) @.str.31, ptr noundef nonnull align 8 dereferenceable(32) %301, ptr noundef nonnull align 1 dereferenceable(32) @.str.32)
          to label %302 unwind label %304

302:                                              ; preds = %299
  invoke void @_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %300, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %303 unwind label %308

303:                                              ; preds = %302
  store i1 false, ptr %33, align 1
  invoke void @__cxa_throw(ptr %300, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
          to label %980 unwind label %308

304:                                              ; preds = %299
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %10, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %11, align 4
  br label %312

308:                                              ; preds = %303, %302
  %309 = landingpad { ptr, i32 }
          cleanup
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %10, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  br label %312

312:                                              ; preds = %308, %304
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #8
  %313 = load i1, ptr %33, align 1
  br i1 %313, label %314, label %315

314:                                              ; preds = %312
  call void @__cxa_free_exception(ptr %300) #8
  br label %315

315:                                              ; preds = %314, %312
  br label %968

316:                                              ; preds = %298
  %317 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 15
  %318 = load i8, ptr %317, align 1, !tbaa !9, !range !52, !noundef !53
  %319 = trunc i8 %318 to i1
  br i1 %319, label %320, label %352

320:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #8
  %321 = getelementptr inbounds %class.anon.80, ptr %34, i32 0, i32 0
  store ptr %0, ptr %321, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #8
  %322 = getelementptr inbounds %class.anon.81, ptr %35, i32 0, i32 0
  store ptr %34, ptr %322, align 8, !tbaa !5
  %323 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 7
  invoke void @"_ZZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestENK3$_9clERKNS_12DependenciesE"(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(72) %323)
          to label %324 unwind label %335

324:                                              ; preds = %320
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  %325 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 8
  store ptr %325, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  %326 = load ptr, ptr %36, align 8, !tbaa !5
  %327 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %326) #8
  %328 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.82", ptr %37, i32 0, i32 0
  store ptr %327, ptr %328, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  %329 = load ptr, ptr %36, align 8, !tbaa !5
  %330 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %329) #8
  %331 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.82", ptr %38, i32 0, i32 0
  store ptr %330, ptr %331, align 8
  br label %332

332:                                              ; preds = %344, %324
  %333 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %38) #8
  br i1 %333, label %339, label %334

334:                                              ; preds = %332
  store i32 14, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  br label %350

335:                                              ; preds = %320
  %336 = landingpad { ptr, i32 }
          cleanup
  %337 = extractvalue { ptr, i32 } %336, 0
  store ptr %337, ptr %10, align 8
  %338 = extractvalue { ptr, i32 } %336, 1
  store i32 %338, ptr %11, align 4
  br label %351

339:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #8
  %340 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  store ptr %340, ptr %39, align 8, !tbaa !5
  %341 = load ptr, ptr %39, align 8, !tbaa !5
  %342 = getelementptr inbounds %"struct.std::pair.83", ptr %341, i32 0, i32 1
  invoke void @"_ZZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestENK3$_9clERKNS_12DependenciesE"(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(72) %342)
          to label %343 unwind label %346

343:                                              ; preds = %339
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  br label %344

344:                                              ; preds = %343
  %345 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  br label %332

346:                                              ; preds = %339
  %347 = landingpad { ptr, i32 }
          cleanup
  %348 = extractvalue { ptr, i32 } %347, 0
  store ptr %348, ptr %10, align 8
  %349 = extractvalue { ptr, i32 } %347, 1
  store i32 %349, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  br label %351

350:                                              ; preds = %334
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  br label %352

351:                                              ; preds = %346, %335
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  br label %968

352:                                              ; preds = %350, %316
  %353 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %354 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %353) #8
  %355 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %40, i32 0, i32 0
  store ptr %354, ptr %355, align 8
  %356 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %357 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %356) #8
  %358 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %41, i32 0, i32 0
  store ptr %357, ptr %358, align 8
  %359 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %40, i32 0, i32 0
  %360 = load ptr, ptr %359, align 8
  %361 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %41, i32 0, i32 0
  %362 = load ptr, ptr %361, align 8
  %363 = invoke noundef zeroext i1 @"_ZSt6any_ofIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_10EbT_SL_T0_"(ptr %360, ptr %362)
          to label %364 unwind label %155

364:                                              ; preds = %352
  br i1 %363, label %422, label %365

365:                                              ; preds = %364
  call void @llvm.lifetime.start.p0(i64 520, ptr %43) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %46, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef @.str.33)
          to label %366 unwind label %384

366:                                              ; preds = %365
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.34)
          to label %367 unwind label %388

367:                                              ; preds = %366
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %368 unwind label %392

368:                                              ; preds = %367
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %43, ptr noundef nonnull align 8 dereferenceable(32) %44, i32 noundef 8)
          to label %369 unwind label %396

369:                                              ; preds = %368
  %370 = load ptr, ptr %43, align 8, !tbaa !54
  %371 = getelementptr i8, ptr %370, i64 -24
  %372 = load i64, ptr %371, align 8
  %373 = getelementptr inbounds i8, ptr %43, i64 %372
  %374 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %373)
          to label %375 unwind label %400

375:                                              ; preds = %369
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %43) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %43) #8
  br i1 %374, label %376, label %421

376:                                              ; preds = %375
  br label %377

377:                                              ; preds = %376
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #8
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 1 dereferenceable(1) %48) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef %47)
          to label %378 unwind label %408

378:                                              ; preds = %377
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #8
  br label %379

379:                                              ; preds = %378
  br label %380

380:                                              ; preds = %379
  %381 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  call void @llvm.lifetime.start.p0(i64 136, ptr %49) #8
  invoke void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %49, i32 noundef 0)
          to label %382 unwind label %412

382:                                              ; preds = %380
  invoke void @_ZNSt6vectorI13PackageTargetSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %381, ptr noundef nonnull align 8 dereferenceable(136) %49)
          to label %383 unwind label %416

383:                                              ; preds = %382
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %49) #8
  call void @llvm.lifetime.end.p0(i64 136, ptr %49) #8
  br label %421

384:                                              ; preds = %365
  %385 = landingpad { ptr, i32 }
          cleanup
  %386 = extractvalue { ptr, i32 } %385, 0
  store ptr %386, ptr %10, align 8
  %387 = extractvalue { ptr, i32 } %385, 1
  store i32 %387, ptr %11, align 4
  br label %407

388:                                              ; preds = %366
  %389 = landingpad { ptr, i32 }
          cleanup
  %390 = extractvalue { ptr, i32 } %389, 0
  store ptr %390, ptr %10, align 8
  %391 = extractvalue { ptr, i32 } %389, 1
  store i32 %391, ptr %11, align 4
  br label %406

392:                                              ; preds = %367
  %393 = landingpad { ptr, i32 }
          cleanup
  %394 = extractvalue { ptr, i32 } %393, 0
  store ptr %394, ptr %10, align 8
  %395 = extractvalue { ptr, i32 } %393, 1
  store i32 %395, ptr %11, align 4
  br label %405

396:                                              ; preds = %368
  %397 = landingpad { ptr, i32 }
          cleanup
  %398 = extractvalue { ptr, i32 } %397, 0
  store ptr %398, ptr %10, align 8
  %399 = extractvalue { ptr, i32 } %397, 1
  store i32 %399, ptr %11, align 4
  br label %404

400:                                              ; preds = %369
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %10, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %11, align 4
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %43) #8
  br label %404

404:                                              ; preds = %400, %396
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %405

405:                                              ; preds = %404, %392
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  br label %406

406:                                              ; preds = %405, %388
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  br label %407

407:                                              ; preds = %406, %384
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %43) #8
  br label %968

408:                                              ; preds = %377
  %409 = landingpad { ptr, i32 }
          cleanup
  %410 = extractvalue { ptr, i32 } %409, 0
  store ptr %410, ptr %10, align 8
  %411 = extractvalue { ptr, i32 } %409, 1
  store i32 %411, ptr %11, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #8
  br label %968

412:                                              ; preds = %380
  %413 = landingpad { ptr, i32 }
          cleanup
  %414 = extractvalue { ptr, i32 } %413, 0
  store ptr %414, ptr %10, align 8
  %415 = extractvalue { ptr, i32 } %413, 1
  store i32 %415, ptr %11, align 4
  br label %420

416:                                              ; preds = %382
  %417 = landingpad { ptr, i32 }
          cleanup
  %418 = extractvalue { ptr, i32 } %417, 0
  store ptr %418, ptr %10, align 8
  %419 = extractvalue { ptr, i32 } %417, 1
  store i32 %419, ptr %11, align 4
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %49) #8
  br label %420

420:                                              ; preds = %416, %412
  call void @llvm.lifetime.end.p0(i64 136, ptr %49) #8
  br label %968

421:                                              ; preds = %383, %375
  br label %422

422:                                              ; preds = %421, %364
  %423 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %424 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %423) #8
  %425 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %50, i32 0, i32 0
  store ptr %424, ptr %425, align 8
  %426 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %427 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %426) #8
  %428 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %51, i32 0, i32 0
  store ptr %427, ptr %428, align 8
  %429 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %50, i32 0, i32 0
  %430 = load ptr, ptr %429, align 8
  %431 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %51, i32 0, i32 0
  %432 = load ptr, ptr %431, align 8
  %433 = invoke noundef zeroext i1 @"_ZSt6any_ofIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_11EbT_SL_T0_"(ptr %430, ptr %432)
          to label %434 unwind label %155

434:                                              ; preds = %422
  br i1 %433, label %492, label %435

435:                                              ; preds = %434
  call void @llvm.lifetime.start.p0(i64 520, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef @.str.33)
          to label %436 unwind label %454

436:                                              ; preds = %435
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %55, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.35)
          to label %437 unwind label %458

437:                                              ; preds = %436
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %438 unwind label %462

438:                                              ; preds = %437
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %53, ptr noundef nonnull align 8 dereferenceable(32) %54, i32 noundef 8)
          to label %439 unwind label %466

439:                                              ; preds = %438
  %440 = load ptr, ptr %53, align 8, !tbaa !54
  %441 = getelementptr i8, ptr %440, i64 -24
  %442 = load i64, ptr %441, align 8
  %443 = getelementptr inbounds i8, ptr %53, i64 %442
  %444 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %443)
          to label %445 unwind label %470

445:                                              ; preds = %439
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %53) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %53) #8
  br i1 %444, label %446, label %491

446:                                              ; preds = %445
  br label %447

447:                                              ; preds = %446
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #8
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 1 dereferenceable(1) %58) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef %57)
          to label %448 unwind label %478

448:                                              ; preds = %447
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #8
  br label %449

449:                                              ; preds = %448
  br label %450

450:                                              ; preds = %449
  %451 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  call void @llvm.lifetime.start.p0(i64 136, ptr %59) #8
  invoke void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %59, i32 noundef 1)
          to label %452 unwind label %482

452:                                              ; preds = %450
  invoke void @_ZNSt6vectorI13PackageTargetSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %451, ptr noundef nonnull align 8 dereferenceable(136) %59)
          to label %453 unwind label %486

453:                                              ; preds = %452
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %59) #8
  call void @llvm.lifetime.end.p0(i64 136, ptr %59) #8
  br label %491

454:                                              ; preds = %435
  %455 = landingpad { ptr, i32 }
          cleanup
  %456 = extractvalue { ptr, i32 } %455, 0
  store ptr %456, ptr %10, align 8
  %457 = extractvalue { ptr, i32 } %455, 1
  store i32 %457, ptr %11, align 4
  br label %477

458:                                              ; preds = %436
  %459 = landingpad { ptr, i32 }
          cleanup
  %460 = extractvalue { ptr, i32 } %459, 0
  store ptr %460, ptr %10, align 8
  %461 = extractvalue { ptr, i32 } %459, 1
  store i32 %461, ptr %11, align 4
  br label %476

462:                                              ; preds = %437
  %463 = landingpad { ptr, i32 }
          cleanup
  %464 = extractvalue { ptr, i32 } %463, 0
  store ptr %464, ptr %10, align 8
  %465 = extractvalue { ptr, i32 } %463, 1
  store i32 %465, ptr %11, align 4
  br label %475

466:                                              ; preds = %438
  %467 = landingpad { ptr, i32 }
          cleanup
  %468 = extractvalue { ptr, i32 } %467, 0
  store ptr %468, ptr %10, align 8
  %469 = extractvalue { ptr, i32 } %467, 1
  store i32 %469, ptr %11, align 4
  br label %474

470:                                              ; preds = %439
  %471 = landingpad { ptr, i32 }
          cleanup
  %472 = extractvalue { ptr, i32 } %471, 0
  store ptr %472, ptr %10, align 8
  %473 = extractvalue { ptr, i32 } %471, 1
  store i32 %473, ptr %11, align 4
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %53) #8
  br label %474

474:                                              ; preds = %470, %466
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  br label %475

475:                                              ; preds = %474, %462
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  br label %476

476:                                              ; preds = %475, %458
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  br label %477

477:                                              ; preds = %476, %454
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %53) #8
  br label %968

478:                                              ; preds = %447
  %479 = landingpad { ptr, i32 }
          cleanup
  %480 = extractvalue { ptr, i32 } %479, 0
  store ptr %480, ptr %10, align 8
  %481 = extractvalue { ptr, i32 } %479, 1
  store i32 %481, ptr %11, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #8
  br label %968

482:                                              ; preds = %450
  %483 = landingpad { ptr, i32 }
          cleanup
  %484 = extractvalue { ptr, i32 } %483, 0
  store ptr %484, ptr %10, align 8
  %485 = extractvalue { ptr, i32 } %483, 1
  store i32 %485, ptr %11, align 4
  br label %490

486:                                              ; preds = %452
  %487 = landingpad { ptr, i32 }
          cleanup
  %488 = extractvalue { ptr, i32 } %487, 0
  store ptr %488, ptr %10, align 8
  %489 = extractvalue { ptr, i32 } %487, 1
  store i32 %489, ptr %11, align 4
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %59) #8
  br label %490

490:                                              ; preds = %486, %482
  call void @llvm.lifetime.end.p0(i64 136, ptr %59) #8
  br label %968

491:                                              ; preds = %453, %445
  br label %492

492:                                              ; preds = %491, %434
  %493 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %494 = call noundef zeroext i1 @_ZNKSt6vectorI13PackageTargetSaIS0_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %493) #8
  br i1 %494, label %495, label %512

495:                                              ; preds = %492
  store i1 true, ptr %61, align 1
  %496 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #8
  %497 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_Z6formatIJA15_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA66_cEES6_DpRKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 1 dereferenceable(15) @.str.31, ptr noundef nonnull align 8 dereferenceable(32) %497, ptr noundef nonnull align 1 dereferenceable(66) @.str.36)
          to label %498 unwind label %500

498:                                              ; preds = %495
  invoke void @_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %496, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %499 unwind label %504

499:                                              ; preds = %498
  store i1 false, ptr %61, align 1
  invoke void @__cxa_throw(ptr %496, ptr @_ZTISt13runtime_error, ptr @_ZNSt13runtime_errorD1Ev) #10
          to label %980 unwind label %504

500:                                              ; preds = %495
  %501 = landingpad { ptr, i32 }
          cleanup
  %502 = extractvalue { ptr, i32 } %501, 0
  store ptr %502, ptr %10, align 8
  %503 = extractvalue { ptr, i32 } %501, 1
  store i32 %503, ptr %11, align 4
  br label %508

504:                                              ; preds = %499, %498
  %505 = landingpad { ptr, i32 }
          cleanup
  %506 = extractvalue { ptr, i32 } %505, 0
  store ptr %506, ptr %10, align 8
  %507 = extractvalue { ptr, i32 } %505, 1
  store i32 %507, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  br label %508

508:                                              ; preds = %504, %500
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  %509 = load i1, ptr %61, align 1
  br i1 %509, label %510, label %511

510:                                              ; preds = %508
  call void @__cxa_free_exception(ptr %496) #8
  br label %511

511:                                              ; preds = %510, %508
  br label %968

512:                                              ; preds = %492
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #8
  %513 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  store ptr %513, ptr %62, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #8
  %514 = load ptr, ptr %62, align 8, !tbaa !5
  %515 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %514) #8
  %516 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %63, i32 0, i32 0
  store ptr %515, ptr %516, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #8
  %517 = load ptr, ptr %62, align 8, !tbaa !5
  %518 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %517) #8
  %519 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %64, i32 0, i32 0
  store ptr %518, ptr %519, align 8
  br label %520

520:                                              ; preds = %829, %512
  %521 = call noundef zeroext i1 @_ZN9__gnu_cxxneIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull align 8 dereferenceable(8) %64) #8
  br i1 %521, label %523, label %522

522:                                              ; preds = %520
  store i32 20, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #8
  br label %832

523:                                              ; preds = %520
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #8
  %524 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #8
  store ptr %524, ptr %65, align 8, !tbaa !5
  %525 = load ptr, ptr %65, align 8, !tbaa !5
  %526 = getelementptr inbounds %struct.PackageTarget, ptr %525, i32 0, i32 2
  %527 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %526, ptr noundef @.str.30)
          to label %528 unwind label %533

528:                                              ; preds = %523
  br i1 %527, label %529, label %775

529:                                              ; preds = %528
  %530 = load ptr, ptr %65, align 8, !tbaa !5
  %531 = getelementptr inbounds %struct.PackageTarget, ptr %530, i32 0, i32 0
  %532 = load i32, ptr %531, align 8, !tbaa !56
  switch i32 %532, label %774 [
    i32 0, label %537
    i32 1, label %542
    i32 2, label %663
    i32 3, label %663
    i32 4, label %664
  ]

533:                                              ; preds = %780, %775, %547, %542, %537, %523
  %534 = landingpad { ptr, i32 }
          cleanup
  %535 = extractvalue { ptr, i32 } %534, 0
  store ptr %535, ptr %10, align 8
  %536 = extractvalue { ptr, i32 } %534, 1
  store i32 %536, ptr %11, align 4
  br label %831

537:                                              ; preds = %529
  %538 = load ptr, ptr %65, align 8, !tbaa !5
  %539 = getelementptr inbounds %struct.PackageTarget, ptr %538, i32 0, i32 2
  %540 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %539, ptr noundef @.str.37)
          to label %541 unwind label %533

541:                                              ; preds = %537
  br label %774

542:                                              ; preds = %529
  %543 = load ptr, ptr %65, align 8, !tbaa !5
  %544 = getelementptr inbounds %struct.PackageTarget, ptr %543, i32 0, i32 1
  %545 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %544, ptr noundef @.str.30)
          to label %546 unwind label %533

546:                                              ; preds = %542
  br i1 %545, label %547, label %552

547:                                              ; preds = %546
  %548 = load ptr, ptr %65, align 8, !tbaa !5
  %549 = getelementptr inbounds %struct.PackageTarget, ptr %548, i32 0, i32 2
  %550 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %549, ptr noundef @.str.38)
          to label %551 unwind label %533

551:                                              ; preds = %547
  br label %662

552:                                              ; preds = %546
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #8
  invoke void @_ZN7helpers4pathC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef @.str.33)
          to label %553 unwind label %589

553:                                              ; preds = %552
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %69, ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef @.str.39)
          to label %554 unwind label %593

554:                                              ; preds = %553
  %555 = load ptr, ptr %65, align 8, !tbaa !5
  %556 = getelementptr inbounds %struct.PackageTarget, ptr %555, i32 0, i32 1
  %557 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %556) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %68, ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef %557)
          to label %558 unwind label %597

558:                                              ; preds = %554
  invoke void @_ZNK7helpers4pathplEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %67, ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef @.str.40)
          to label %559 unwind label %601

559:                                              ; preds = %558
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %560 unwind label %605

560:                                              ; preds = %559
  %561 = load ptr, ptr %65, align 8, !tbaa !5
  %562 = getelementptr inbounds %struct.PackageTarget, ptr %561, i32 0, i32 2
  %563 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %562, ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.start.p0(i64 520, ptr %71) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #8
  %564 = load ptr, ptr %65, align 8, !tbaa !5
  %565 = getelementptr inbounds %struct.PackageTarget, ptr %564, i32 0, i32 2
  invoke void @_ZN7helpers4pathC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %565)
          to label %566 unwind label %613

566:                                              ; preds = %560
  invoke void @_ZNK7helpers4pathdvERKS0_(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %73, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %567 unwind label %617

567:                                              ; preds = %566
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %568 unwind label %621

568:                                              ; preds = %567
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %71, ptr noundef nonnull align 8 dereferenceable(32) %72, i32 noundef 8)
          to label %569 unwind label %625

569:                                              ; preds = %568
  %570 = load ptr, ptr %71, align 8, !tbaa !54
  %571 = getelementptr i8, ptr %570, i64 -24
  %572 = load i64, ptr %571, align 8
  %573 = getelementptr inbounds i8, ptr %71, i64 %572
  %574 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %573)
          to label %575 unwind label %629

575:                                              ; preds = %569
  %576 = xor i1 %574, true
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %71) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %71) #8
  br i1 %576, label %577, label %661

577:                                              ; preds = %575
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #8
  invoke void @_ZN7helpers4pathC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.33)
          to label %578 unwind label %637

578:                                              ; preds = %577
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %78, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.39)
          to label %579 unwind label %641

579:                                              ; preds = %578
  %580 = load ptr, ptr %65, align 8, !tbaa !5
  %581 = getelementptr inbounds %struct.PackageTarget, ptr %580, i32 0, i32 1
  %582 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %581) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef %582)
          to label %583 unwind label %645

583:                                              ; preds = %579
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %76, ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef @.str.35)
          to label %584 unwind label %649

584:                                              ; preds = %583
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %585 unwind label %653

585:                                              ; preds = %584
  %586 = load ptr, ptr %65, align 8, !tbaa !5
  %587 = getelementptr inbounds %struct.PackageTarget, ptr %586, i32 0, i32 2
  %588 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %587, ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  br label %661

589:                                              ; preds = %552
  %590 = landingpad { ptr, i32 }
          cleanup
  %591 = extractvalue { ptr, i32 } %590, 0
  store ptr %591, ptr %10, align 8
  %592 = extractvalue { ptr, i32 } %590, 1
  store i32 %592, ptr %11, align 4
  br label %612

593:                                              ; preds = %553
  %594 = landingpad { ptr, i32 }
          cleanup
  %595 = extractvalue { ptr, i32 } %594, 0
  store ptr %595, ptr %10, align 8
  %596 = extractvalue { ptr, i32 } %594, 1
  store i32 %596, ptr %11, align 4
  br label %611

597:                                              ; preds = %554
  %598 = landingpad { ptr, i32 }
          cleanup
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %10, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %11, align 4
  br label %610

601:                                              ; preds = %558
  %602 = landingpad { ptr, i32 }
          cleanup
  %603 = extractvalue { ptr, i32 } %602, 0
  store ptr %603, ptr %10, align 8
  %604 = extractvalue { ptr, i32 } %602, 1
  store i32 %604, ptr %11, align 4
  br label %609

605:                                              ; preds = %559
  %606 = landingpad { ptr, i32 }
          cleanup
  %607 = extractvalue { ptr, i32 } %606, 0
  store ptr %607, ptr %10, align 8
  %608 = extractvalue { ptr, i32 } %606, 1
  store i32 %608, ptr %11, align 4
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  br label %609

609:                                              ; preds = %605, %601
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  br label %610

610:                                              ; preds = %609, %597
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  br label %611

611:                                              ; preds = %610, %593
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  br label %612

612:                                              ; preds = %611, %589
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  br label %831

613:                                              ; preds = %560
  %614 = landingpad { ptr, i32 }
          cleanup
  %615 = extractvalue { ptr, i32 } %614, 0
  store ptr %615, ptr %10, align 8
  %616 = extractvalue { ptr, i32 } %614, 1
  store i32 %616, ptr %11, align 4
  br label %636

617:                                              ; preds = %566
  %618 = landingpad { ptr, i32 }
          cleanup
  %619 = extractvalue { ptr, i32 } %618, 0
  store ptr %619, ptr %10, align 8
  %620 = extractvalue { ptr, i32 } %618, 1
  store i32 %620, ptr %11, align 4
  br label %635

621:                                              ; preds = %567
  %622 = landingpad { ptr, i32 }
          cleanup
  %623 = extractvalue { ptr, i32 } %622, 0
  store ptr %623, ptr %10, align 8
  %624 = extractvalue { ptr, i32 } %622, 1
  store i32 %624, ptr %11, align 4
  br label %634

625:                                              ; preds = %568
  %626 = landingpad { ptr, i32 }
          cleanup
  %627 = extractvalue { ptr, i32 } %626, 0
  store ptr %627, ptr %10, align 8
  %628 = extractvalue { ptr, i32 } %626, 1
  store i32 %628, ptr %11, align 4
  br label %633

629:                                              ; preds = %569
  %630 = landingpad { ptr, i32 }
          cleanup
  %631 = extractvalue { ptr, i32 } %630, 0
  store ptr %631, ptr %10, align 8
  %632 = extractvalue { ptr, i32 } %630, 1
  store i32 %632, ptr %11, align 4
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %71) #8
  br label %633

633:                                              ; preds = %629, %625
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  br label %634

634:                                              ; preds = %633, %621
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  br label %635

635:                                              ; preds = %634, %617
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  br label %636

636:                                              ; preds = %635, %613
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %71) #8
  br label %831

637:                                              ; preds = %577
  %638 = landingpad { ptr, i32 }
          cleanup
  %639 = extractvalue { ptr, i32 } %638, 0
  store ptr %639, ptr %10, align 8
  %640 = extractvalue { ptr, i32 } %638, 1
  store i32 %640, ptr %11, align 4
  br label %660

641:                                              ; preds = %578
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %10, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %11, align 4
  br label %659

645:                                              ; preds = %579
  %646 = landingpad { ptr, i32 }
          cleanup
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %10, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %11, align 4
  br label %658

649:                                              ; preds = %583
  %650 = landingpad { ptr, i32 }
          cleanup
  %651 = extractvalue { ptr, i32 } %650, 0
  store ptr %651, ptr %10, align 8
  %652 = extractvalue { ptr, i32 } %650, 1
  store i32 %652, ptr %11, align 4
  br label %657

653:                                              ; preds = %584
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %10, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %11, align 4
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  br label %657

657:                                              ; preds = %653, %649
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  br label %658

658:                                              ; preds = %657, %645
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  br label %659

659:                                              ; preds = %658, %641
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  br label %660

660:                                              ; preds = %659, %637
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  br label %831

661:                                              ; preds = %585, %575
  br label %662

662:                                              ; preds = %661, %551
  br label %774

663:                                              ; preds = %529, %529
  br label %774

664:                                              ; preds = %529
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #8
  invoke void @_ZN7helpers4pathC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef @.str.33)
          to label %665 unwind label %701

665:                                              ; preds = %664
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %83, ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef @.str.41)
          to label %666 unwind label %705

666:                                              ; preds = %665
  %667 = load ptr, ptr %65, align 8, !tbaa !5
  %668 = getelementptr inbounds %struct.PackageTarget, ptr %667, i32 0, i32 1
  %669 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %668) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %82, ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef %669)
          to label %670 unwind label %709

670:                                              ; preds = %666
  invoke void @_ZNK7helpers4pathplEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %81, ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef @.str.40)
          to label %671 unwind label %713

671:                                              ; preds = %670
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %672 unwind label %717

672:                                              ; preds = %671
  %673 = load ptr, ptr %65, align 8, !tbaa !5
  %674 = getelementptr inbounds %struct.PackageTarget, ptr %673, i32 0, i32 2
  %675 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %674, ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  call void @llvm.lifetime.start.p0(i64 520, ptr %85) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #8
  %676 = load ptr, ptr %65, align 8, !tbaa !5
  %677 = getelementptr inbounds %struct.PackageTarget, ptr %676, i32 0, i32 2
  invoke void @_ZN7helpers4pathC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(32) %677)
          to label %678 unwind label %725

678:                                              ; preds = %672
  invoke void @_ZNK7helpers4pathdvERKS0_(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %87, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %88)
          to label %679 unwind label %729

679:                                              ; preds = %678
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %680 unwind label %733

680:                                              ; preds = %679
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %85, ptr noundef nonnull align 8 dereferenceable(32) %86, i32 noundef 8)
          to label %681 unwind label %737

681:                                              ; preds = %680
  %682 = load ptr, ptr %85, align 8, !tbaa !54
  %683 = getelementptr i8, ptr %682, i64 -24
  %684 = load i64, ptr %683, align 8
  %685 = getelementptr inbounds i8, ptr %85, i64 %684
  %686 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %685)
          to label %687 unwind label %741

687:                                              ; preds = %681
  %688 = xor i1 %686, true
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %85) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %85) #8
  br i1 %688, label %689, label %773

689:                                              ; preds = %687
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %91) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %92) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %93) #8
  invoke void @_ZN7helpers4pathC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef @.str.33)
          to label %690 unwind label %749

690:                                              ; preds = %689
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %92, ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef @.str.41)
          to label %691 unwind label %753

691:                                              ; preds = %690
  %692 = load ptr, ptr %65, align 8, !tbaa !5
  %693 = getelementptr inbounds %struct.PackageTarget, ptr %692, i32 0, i32 1
  %694 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %693) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %91, ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef %694)
          to label %695 unwind label %757

695:                                              ; preds = %691
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %90, ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef @.str.35)
          to label %696 unwind label %761

696:                                              ; preds = %695
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %89, ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %697 unwind label %765

697:                                              ; preds = %696
  %698 = load ptr, ptr %65, align 8, !tbaa !5
  %699 = getelementptr inbounds %struct.PackageTarget, ptr %698, i32 0, i32 2
  %700 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %699, ptr noundef nonnull align 8 dereferenceable(32) %89) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #8
  br label %773

701:                                              ; preds = %664
  %702 = landingpad { ptr, i32 }
          cleanup
  %703 = extractvalue { ptr, i32 } %702, 0
  store ptr %703, ptr %10, align 8
  %704 = extractvalue { ptr, i32 } %702, 1
  store i32 %704, ptr %11, align 4
  br label %724

705:                                              ; preds = %665
  %706 = landingpad { ptr, i32 }
          cleanup
  %707 = extractvalue { ptr, i32 } %706, 0
  store ptr %707, ptr %10, align 8
  %708 = extractvalue { ptr, i32 } %706, 1
  store i32 %708, ptr %11, align 4
  br label %723

709:                                              ; preds = %666
  %710 = landingpad { ptr, i32 }
          cleanup
  %711 = extractvalue { ptr, i32 } %710, 0
  store ptr %711, ptr %10, align 8
  %712 = extractvalue { ptr, i32 } %710, 1
  store i32 %712, ptr %11, align 4
  br label %722

713:                                              ; preds = %670
  %714 = landingpad { ptr, i32 }
          cleanup
  %715 = extractvalue { ptr, i32 } %714, 0
  store ptr %715, ptr %10, align 8
  %716 = extractvalue { ptr, i32 } %714, 1
  store i32 %716, ptr %11, align 4
  br label %721

717:                                              ; preds = %671
  %718 = landingpad { ptr, i32 }
          cleanup
  %719 = extractvalue { ptr, i32 } %718, 0
  store ptr %719, ptr %10, align 8
  %720 = extractvalue { ptr, i32 } %718, 1
  store i32 %720, ptr %11, align 4
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #8
  br label %721

721:                                              ; preds = %717, %713
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #8
  br label %722

722:                                              ; preds = %721, %709
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  br label %723

723:                                              ; preds = %722, %705
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  br label %724

724:                                              ; preds = %723, %701
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  br label %831

725:                                              ; preds = %672
  %726 = landingpad { ptr, i32 }
          cleanup
  %727 = extractvalue { ptr, i32 } %726, 0
  store ptr %727, ptr %10, align 8
  %728 = extractvalue { ptr, i32 } %726, 1
  store i32 %728, ptr %11, align 4
  br label %748

729:                                              ; preds = %678
  %730 = landingpad { ptr, i32 }
          cleanup
  %731 = extractvalue { ptr, i32 } %730, 0
  store ptr %731, ptr %10, align 8
  %732 = extractvalue { ptr, i32 } %730, 1
  store i32 %732, ptr %11, align 4
  br label %747

733:                                              ; preds = %679
  %734 = landingpad { ptr, i32 }
          cleanup
  %735 = extractvalue { ptr, i32 } %734, 0
  store ptr %735, ptr %10, align 8
  %736 = extractvalue { ptr, i32 } %734, 1
  store i32 %736, ptr %11, align 4
  br label %746

737:                                              ; preds = %680
  %738 = landingpad { ptr, i32 }
          cleanup
  %739 = extractvalue { ptr, i32 } %738, 0
  store ptr %739, ptr %10, align 8
  %740 = extractvalue { ptr, i32 } %738, 1
  store i32 %740, ptr %11, align 4
  br label %745

741:                                              ; preds = %681
  %742 = landingpad { ptr, i32 }
          cleanup
  %743 = extractvalue { ptr, i32 } %742, 0
  store ptr %743, ptr %10, align 8
  %744 = extractvalue { ptr, i32 } %742, 1
  store i32 %744, ptr %11, align 4
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %85) #8
  br label %745

745:                                              ; preds = %741, %737
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #8
  br label %746

746:                                              ; preds = %745, %733
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #8
  br label %747

747:                                              ; preds = %746, %729
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #8
  br label %748

748:                                              ; preds = %747, %725
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %85) #8
  br label %831

749:                                              ; preds = %689
  %750 = landingpad { ptr, i32 }
          cleanup
  %751 = extractvalue { ptr, i32 } %750, 0
  store ptr %751, ptr %10, align 8
  %752 = extractvalue { ptr, i32 } %750, 1
  store i32 %752, ptr %11, align 4
  br label %772

753:                                              ; preds = %690
  %754 = landingpad { ptr, i32 }
          cleanup
  %755 = extractvalue { ptr, i32 } %754, 0
  store ptr %755, ptr %10, align 8
  %756 = extractvalue { ptr, i32 } %754, 1
  store i32 %756, ptr %11, align 4
  br label %771

757:                                              ; preds = %691
  %758 = landingpad { ptr, i32 }
          cleanup
  %759 = extractvalue { ptr, i32 } %758, 0
  store ptr %759, ptr %10, align 8
  %760 = extractvalue { ptr, i32 } %758, 1
  store i32 %760, ptr %11, align 4
  br label %770

761:                                              ; preds = %695
  %762 = landingpad { ptr, i32 }
          cleanup
  %763 = extractvalue { ptr, i32 } %762, 0
  store ptr %763, ptr %10, align 8
  %764 = extractvalue { ptr, i32 } %762, 1
  store i32 %764, ptr %11, align 4
  br label %769

765:                                              ; preds = %696
  %766 = landingpad { ptr, i32 }
          cleanup
  %767 = extractvalue { ptr, i32 } %766, 0
  store ptr %767, ptr %10, align 8
  %768 = extractvalue { ptr, i32 } %766, 1
  store i32 %768, ptr %11, align 4
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #8
  br label %769

769:                                              ; preds = %765, %761
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #8
  br label %770

770:                                              ; preds = %769, %757
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #8
  br label %771

771:                                              ; preds = %770, %753
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #8
  br label %772

772:                                              ; preds = %771, %749
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #8
  br label %831

773:                                              ; preds = %697, %687
  br label %774

774:                                              ; preds = %773, %663, %662, %541, %529
  br label %775

775:                                              ; preds = %774, %528
  %776 = load ptr, ptr %65, align 8, !tbaa !5
  %777 = getelementptr inbounds %struct.PackageTarget, ptr %776, i32 0, i32 1
  %778 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %777, ptr noundef @.str.30)
          to label %779 unwind label %533

779:                                              ; preds = %775
  br i1 %778, label %780, label %818

780:                                              ; preds = %779
  %781 = load ptr, ptr %65, align 8, !tbaa !5
  %782 = getelementptr inbounds %struct.PackageTarget, ptr %781, i32 0, i32 1
  %783 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 1
  %784 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %783) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32) %782, i64 noundef %784)
          to label %785 unwind label %533

785:                                              ; preds = %780
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #8
  %786 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 1
  store ptr %786, ptr %94, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #8
  %787 = load ptr, ptr %94, align 8, !tbaa !5
  %788 = call ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv(ptr noundef nonnull align 8 dereferenceable(32) %787) #8
  %789 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.99", ptr %95, i32 0, i32 0
  store ptr %788, ptr %789, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #8
  %790 = load ptr, ptr %94, align 8, !tbaa !5
  %791 = call ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv(ptr noundef nonnull align 8 dereferenceable(32) %790) #8
  %792 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.99", ptr %96, i32 0, i32 0
  store ptr %791, ptr %792, align 8
  br label %793

793:                                              ; preds = %811, %785
  %794 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %95, ptr noundef nonnull align 8 dereferenceable(8) %96) #8
  br i1 %794, label %796, label %795

795:                                              ; preds = %793
  store i32 23, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #8
  br label %817

796:                                              ; preds = %793
  call void @llvm.lifetime.start.p0(i64 1, ptr %97) #8
  %797 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %95) #8
  %798 = load i8, ptr %797, align 1, !tbaa !63
  store i8 %798, ptr %97, align 1, !tbaa !63
  %799 = load i8, ptr %97, align 1, !tbaa !63
  %800 = sext i8 %799 to i32
  %801 = icmp eq i32 %800, 45
  br i1 %801, label %802, label %803

802:                                              ; preds = %796
  br label %805

803:                                              ; preds = %796
  %804 = load i8, ptr %97, align 1, !tbaa !63
  br label %805

805:                                              ; preds = %803, %802
  %806 = phi i8 [ 95, %802 ], [ %804, %803 ]
  %807 = load ptr, ptr %65, align 8, !tbaa !5
  %808 = getelementptr inbounds %struct.PackageTarget, ptr %807, i32 0, i32 1
  %809 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %808, i8 noundef signext %806)
          to label %810 unwind label %813

810:                                              ; preds = %805
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #8
  br label %811

811:                                              ; preds = %810
  %812 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %95) #8
  br label %793

813:                                              ; preds = %805
  %814 = landingpad { ptr, i32 }
          cleanup
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %10, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #8
  br label %831

817:                                              ; preds = %795
  br label %818

818:                                              ; preds = %817, %779
  %819 = load ptr, ptr %65, align 8, !tbaa !5
  %820 = getelementptr inbounds %struct.PackageTarget, ptr %819, i32 0, i32 3
  %821 = load i32, ptr %820, align 8, !tbaa !64
  %822 = icmp eq i32 %821, 0
  br i1 %822, label %823, label %828

823:                                              ; preds = %818
  %824 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 4
  %825 = load i32, ptr %824, align 8, !tbaa !65
  %826 = load ptr, ptr %65, align 8, !tbaa !5
  %827 = getelementptr inbounds %struct.PackageTarget, ptr %826, i32 0, i32 3
  store i32 %825, ptr %827, align 8, !tbaa !64
  br label %828

828:                                              ; preds = %823, %818
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #8
  br label %829

829:                                              ; preds = %828
  %830 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #8
  br label %520

831:                                              ; preds = %813, %772, %748, %724, %660, %636, %612, %533
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #8
  br label %968

832:                                              ; preds = %522
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #8
  %833 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %834 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %833) #8
  %835 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %99, i32 0, i32 0
  store ptr %834, ptr %835, align 8
  %836 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %837 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %836) #8
  %838 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %100, i32 0, i32 0
  store ptr %837, ptr %838, align 8
  %839 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %99, i32 0, i32 0
  %840 = load ptr, ptr %839, align 8
  %841 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %100, i32 0, i32 0
  %842 = load ptr, ptr %841, align 8
  %843 = invoke ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_12ET_SL_SL_T0_"(ptr %840, ptr %842)
          to label %844 unwind label %875

844:                                              ; preds = %832
  %845 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %98, i32 0, i32 0
  store ptr %843, ptr %845, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #8
  %846 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %847 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %846) #8
  %848 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.85", ptr %102, i32 0, i32 0
  store ptr %847, ptr %848, align 8
  %849 = call noundef zeroext i1 @_ZN9__gnu_cxxneIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %98, ptr noundef nonnull align 8 dereferenceable(8) %102) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #8
  br i1 %849, label %850, label %903

850:                                              ; preds = %844
  call void @llvm.lifetime.start.p0(i64 32, ptr %103) #8
  %851 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %98) #8
  %852 = getelementptr inbounds %struct.PackageTarget, ptr %851, i32 0, i32 2
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(32) %852)
          to label %853 unwind label %879

853:                                              ; preds = %850
  call void @llvm.lifetime.start.p0(i64 32, ptr %104) #8
  %854 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %98) #8
  %855 = getelementptr inbounds %struct.PackageTarget, ptr %854, i32 0, i32 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %104, ptr noundef nonnull align 8 dereferenceable(32) %855, ptr noundef @.str.42)
          to label %856 unwind label %883

856:                                              ; preds = %853
  %857 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  call void @llvm.lifetime.start.p0(i64 136, ptr %105) #8
  invoke void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %105, i32 noundef 2)
          to label %858 unwind label %887

858:                                              ; preds = %856
  invoke void @_ZNSt6vectorI13PackageTargetSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %857, ptr noundef nonnull align 8 dereferenceable(136) %105)
          to label %859 unwind label %891

859:                                              ; preds = %858
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %105) #8
  call void @llvm.lifetime.end.p0(i64 136, ptr %105) #8
  %860 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %861 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %860) #8
  %862 = getelementptr inbounds %struct.PackageTarget, ptr %861, i32 0, i32 1
  %863 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %862, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %864 unwind label %896

864:                                              ; preds = %859
  %865 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %866 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %865) #8
  %867 = getelementptr inbounds %struct.PackageTarget, ptr %866, i32 0, i32 2
  %868 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %867, ptr noundef nonnull align 8 dereferenceable(32) %103)
          to label %869 unwind label %896

869:                                              ; preds = %864
  %870 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 4
  %871 = load i32, ptr %870, align 8, !tbaa !65
  %872 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 9
  %873 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %872) #8
  %874 = getelementptr inbounds %struct.PackageTarget, ptr %873, i32 0, i32 3
  store i32 %871, ptr %874, align 8, !tbaa !64
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #8
  br label %903

875:                                              ; preds = %832
  %876 = landingpad { ptr, i32 }
          cleanup
  %877 = extractvalue { ptr, i32 } %876, 0
  store ptr %877, ptr %10, align 8
  %878 = extractvalue { ptr, i32 } %876, 1
  store i32 %878, ptr %11, align 4
  br label %913

879:                                              ; preds = %850
  %880 = landingpad { ptr, i32 }
          cleanup
  %881 = extractvalue { ptr, i32 } %880, 0
  store ptr %881, ptr %10, align 8
  %882 = extractvalue { ptr, i32 } %880, 1
  store i32 %882, ptr %11, align 4
  br label %902

883:                                              ; preds = %853
  %884 = landingpad { ptr, i32 }
          cleanup
  %885 = extractvalue { ptr, i32 } %884, 0
  store ptr %885, ptr %10, align 8
  %886 = extractvalue { ptr, i32 } %884, 1
  store i32 %886, ptr %11, align 4
  br label %901

887:                                              ; preds = %856
  %888 = landingpad { ptr, i32 }
          cleanup
  %889 = extractvalue { ptr, i32 } %888, 0
  store ptr %889, ptr %10, align 8
  %890 = extractvalue { ptr, i32 } %888, 1
  store i32 %890, ptr %11, align 4
  br label %895

891:                                              ; preds = %858
  %892 = landingpad { ptr, i32 }
          cleanup
  %893 = extractvalue { ptr, i32 } %892, 0
  store ptr %893, ptr %10, align 8
  %894 = extractvalue { ptr, i32 } %892, 1
  store i32 %894, ptr %11, align 4
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %105) #8
  br label %895

895:                                              ; preds = %891, %887
  call void @llvm.lifetime.end.p0(i64 136, ptr %105) #8
  br label %900

896:                                              ; preds = %864, %859
  %897 = landingpad { ptr, i32 }
          cleanup
  %898 = extractvalue { ptr, i32 } %897, 0
  store ptr %898, ptr %10, align 8
  %899 = extractvalue { ptr, i32 } %897, 1
  store i32 %899, ptr %11, align 4
  br label %900

900:                                              ; preds = %896, %895
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #8
  br label %901

901:                                              ; preds = %900, %883
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #8
  br label %902

902:                                              ; preds = %901, %879
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #8
  br label %913

903:                                              ; preds = %869, %844
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #8
  %904 = getelementptr inbounds %class.anon.105, ptr %107, i32 0, i32 0
  store ptr %0, ptr %904, align 8, !tbaa !5
  call void @"_ZNSt8functionIFvRK10PackageRefEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(8) %107) #8
  invoke void @_ZNK15PackageManifest22iter_main_dependenciesESt8functionIFvRK10PackageRefEE(ptr noundef nonnull align 8 dereferenceable(594) %0, ptr noundef %106)
          to label %905 unwind label %914

905:                                              ; preds = %903
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #8
  %906 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 6
  %907 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %906, ptr noundef @.str.43)
          to label %908 unwind label %155

908:                                              ; preds = %905
  br i1 %907, label %909, label %918

909:                                              ; preds = %908
  %910 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 6
  %911 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %910, ptr noundef @.str.30)
          to label %912 unwind label %155

912:                                              ; preds = %909
  br label %966

913:                                              ; preds = %902, %875
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #8
  br label %968

914:                                              ; preds = %903
  %915 = landingpad { ptr, i32 }
          cleanup
  %916 = extractvalue { ptr, i32 } %915, 0
  store ptr %916, ptr %10, align 8
  %917 = extractvalue { ptr, i32 } %915, 1
  store i32 %917, ptr %11, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #8
  br label %968

918:                                              ; preds = %908
  %919 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 6
  %920 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %919, ptr noundef @.str.30)
          to label %921 unwind label %155

921:                                              ; preds = %918
  br i1 %920, label %922, label %964

922:                                              ; preds = %921
  call void @llvm.lifetime.start.p0(i64 520, ptr %108) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind writable sret(%"class.helpers::path") align 8 %110, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef @.str.44)
          to label %923 unwind label %940

923:                                              ; preds = %922
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %924 unwind label %944

924:                                              ; preds = %923
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %108, ptr noundef nonnull align 8 dereferenceable(32) %109, i32 noundef 8)
          to label %925 unwind label %948

925:                                              ; preds = %924
  %926 = load ptr, ptr %108, align 8, !tbaa !54
  %927 = getelementptr i8, ptr %926, i64 -24
  %928 = load i64, ptr %927, align 8
  %929 = getelementptr inbounds i8, ptr %108, i64 %928
  %930 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %929)
          to label %931 unwind label %952

931:                                              ; preds = %925
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %108) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %108) #8
  br i1 %930, label %932, label %963

932:                                              ; preds = %931
  br label %933

933:                                              ; preds = %932
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #8
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 1 dereferenceable(1) %112) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef %111)
          to label %934 unwind label %959

934:                                              ; preds = %933
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #8
  br label %935

935:                                              ; preds = %934
  br label %936

936:                                              ; preds = %935
  %937 = getelementptr inbounds %class.PackageManifest, ptr %0, i32 0, i32 6
  %938 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %937, ptr noundef @.str.44)
          to label %939 unwind label %155

939:                                              ; preds = %936
  br label %963

940:                                              ; preds = %922
  %941 = landingpad { ptr, i32 }
          cleanup
  %942 = extractvalue { ptr, i32 } %941, 0
  store ptr %942, ptr %10, align 8
  %943 = extractvalue { ptr, i32 } %941, 1
  store i32 %943, ptr %11, align 4
  br label %958

944:                                              ; preds = %923
  %945 = landingpad { ptr, i32 }
          cleanup
  %946 = extractvalue { ptr, i32 } %945, 0
  store ptr %946, ptr %10, align 8
  %947 = extractvalue { ptr, i32 } %945, 1
  store i32 %947, ptr %11, align 4
  br label %957

948:                                              ; preds = %924
  %949 = landingpad { ptr, i32 }
          cleanup
  %950 = extractvalue { ptr, i32 } %949, 0
  store ptr %950, ptr %10, align 8
  %951 = extractvalue { ptr, i32 } %949, 1
  store i32 %951, ptr %11, align 4
  br label %956

952:                                              ; preds = %925
  %953 = landingpad { ptr, i32 }
          cleanup
  %954 = extractvalue { ptr, i32 } %953, 0
  store ptr %954, ptr %10, align 8
  %955 = extractvalue { ptr, i32 } %953, 1
  store i32 %955, ptr %11, align 4
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %108) #8
  br label %956

956:                                              ; preds = %952, %948
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #8
  br label %957

957:                                              ; preds = %956, %944
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #8
  br label %958

958:                                              ; preds = %957, %940
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %108) #8
  br label %968

959:                                              ; preds = %933
  %960 = landingpad { ptr, i32 }
          cleanup
  %961 = extractvalue { ptr, i32 } %960, 0
  store ptr %961, ptr %10, align 8
  %962 = extractvalue { ptr, i32 } %960, 1
  store i32 %962, ptr %11, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #8
  br label %968

963:                                              ; preds = %939, %931
  br label %965

964:                                              ; preds = %921
  br label %965

965:                                              ; preds = %964, %963
  br label %966

966:                                              ; preds = %965, %912
  store i1 true, ptr %7, align 1
  store i32 1, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #8
  call void @_ZN8TomlFileD2Ev(ptr noundef nonnull align 8 dereferenceable(672) %12) #8
  call void @llvm.lifetime.end.p0(i64 672, ptr %12) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  %967 = load i1, ptr %7, align 1
  br i1 %967, label %974, label %973

968:                                              ; preds = %959, %958, %914, %913, %831, %511, %490, %478, %477, %420, %408, %407, %351, %315, %293, %239, %159, %155
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  br label %969

969:                                              ; preds = %968, %151
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #8
  call void @_ZN8TomlFileD2Ev(ptr noundef nonnull align 8 dereferenceable(672) %12) #8
  br label %970

970:                                              ; preds = %969, %147
  call void @llvm.lifetime.end.p0(i64 672, ptr %12) #8
  br label %971

971:                                              ; preds = %970, %143
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  br label %972

972:                                              ; preds = %971, %142
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  call void @_ZN15PackageManifestD2Ev(ptr noundef nonnull align 8 dereferenceable(594) %0) #8
  br label %975

973:                                              ; preds = %966
  call void @_ZN15PackageManifestD2Ev(ptr noundef nonnull align 8 dereferenceable(594) %0) #8
  br label %974

974:                                              ; preds = %973, %966
  ret void

975:                                              ; preds = %972
  %976 = load ptr, ptr %10, align 8
  %977 = load i32, ptr %11, align 4
  %978 = insertvalue { ptr, i32 } poison, ptr %976, 0
  %979 = insertvalue { ptr, i32 } %978, i32 %977, 1
  resume { ptr, i32 } %979

980:                                              ; preds = %499, %303, %226
  unreachable
}

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK17ManifestOverrides8Override15is_filtered_outERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue(ptr noundef nonnull align 8 dereferenceable(594), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef nonnull align 8 dereferenceable(96)) #1 align 2

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN12TomlKeyValueC2ERKS_(ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(96)) unnamed_addr #6 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

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

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z6formatIJA15_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA32_cEES6_DpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(15), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(32)) #1

declare void @_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestENK3$_9clERKNS_12DependenciesE"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(72)) #6 align 2

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZSt6any_ofIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_10EbT_SL_T0_"(ptr, ptr) #6

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind noalias writable sret(%"class.helpers::path") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #1 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZSt6any_ofIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_11EbT_SL_T0_"(ptr, ptr) #6

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z6formatIJA15_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA66_cEES6_DpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(15), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(66)) #1

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

; 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)) #3 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) #1 align 2

declare void @_ZN7helpers4pathC1EPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) unnamed_addr #2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7helpers4pathplEPKc(ptr dead_on_unwind noalias writable sret(%"class.helpers::path") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #1 align 2

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

declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext) #1 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_12ET_SL_SL_T0_"(ptr, ptr) #6

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(136) ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24)) #3 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)) #1 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRK10PackageRefEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

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

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

declare void @_ZN15PackageManifestC1Ev(ptr)

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { "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 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 #4 = { 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 #5 = { 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 #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 = { 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 #8 = { nounwind }
attributes #9 = { noreturn nounwind }
attributes #10 = { 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 593}
!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 = !{i8 0, i8 2}
!53 = !{}
!54 = !{!55, !55, i64 0}
!55 = !{!"vtable pointer", !8, i64 0}
!56 = !{!57, !58, i64 0}
!57 = !{!"_ZTS13PackageTarget", !58, i64 0, !12, i64 8, !12, i64 40, !18, i64 72, !17, i64 76, !17, i64 77, !17, i64 78, !17, i64 79, !17, i64 80, !17, i64 81, !17, i64 82, !59, i64 88, !37, i64 112}
!58 = !{!"_ZTSN13PackageTarget4TypeE", !7, i64 0}
!59 = !{!"_ZTSSt6vectorIN13PackageTarget9CrateTypeESaIS1_EE", !60, i64 0}
!60 = !{!"_ZTSSt12_Vector_baseIN13PackageTarget9CrateTypeESaIS1_EE", !61, i64 0}
!61 = !{!"_ZTSNSt12_Vector_baseIN13PackageTarget9CrateTypeESaIS1_EE12_Vector_implE", !62, i64 0}
!62 = !{!"_ZTSNSt12_Vector_baseIN13PackageTarget9CrateTypeESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!63 = !{!7, !7, i64 0}
!64 = !{!57, !18, i64 72}
!65 = !{!10, !18, i64 144}


; 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"

%class.ManifestOverrides = type { %"class.std::map" }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, ManifestOverrides::Override>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, ManifestOverrides::Override>>, 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>, ManifestOverrides::Override>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, ManifestOverrides::Override>>, 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::__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.helpers::path" = type { %"class.std::__cxx11::basic_string" }
%class.TomlFileIter = type { ptr, %struct.TomlKeyValue }
%struct.TomlKeyValue = type { %"class.std::vector.12", %struct.TomlValue }
%"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 }
%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] }>
%struct.PackageVersion = type { i32, i32, i32, i8, %"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" }
%"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" }
%class.TomlFile = type { %class.TomlLexer, %"class.std::vector.12", %"class.std::vector.17", i32, %"class.std::unordered_map" }
%class.TomlLexer = type <{ %"class.std::basic_ifstream", %"class.std::__cxx11::basic_string", i32, [4 x i8] }>
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.11 }
%union.anon.11 = type { i32 }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::vector.17" = type { %"struct.std::_Vector_base.18" }
%"struct.std::_Vector_base.18" = type { %"struct.std::_Vector_base<std::vector<std::__cxx11::basic_string<char>>, std::allocator<std::vector<std::__cxx11::basic_string<char>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<std::__cxx11::basic_string<char>>, std::allocator<std::vector<std::__cxx11::basic_string<char>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<std::__cxx11::basic_string<char>>, std::allocator<std::vector<std::__cxx11::basic_string<char>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<std::__cxx11::basic_string<char>>, std::allocator<std::vector<std::__cxx11::basic_string<char>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%struct.ErrorHandlerLex = type { %struct.ErrorHandler, ptr }
%struct.ErrorHandler = type { ptr }
%"class.std::function" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%class.anon.69 = type { ptr }
%class.anon.75 = type { ptr }
%class.anon.76 = type { ptr }
%"class.__gnu_cxx::__normal_iterator.77" = type { ptr }
%class.anon.78 = type { ptr }
%class.anon.80 = type { ptr }
%class.anon.81 = type { ptr }
%"struct.std::_Rb_tree_iterator.82" = type { ptr }
%class.anon.88 = type { i8 }
%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.anon.97 = type { i8 }
%"class.__gnu_cxx::__normal_iterator.85" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.99" = type { ptr }
%"class.std::function.102" = type { %"class.std::_Function_base", ptr }
%class.anon.105 = type { ptr }
%class.anon.106 = type { i8 }

@_ZL11s_overrides = external hidden global %class.ManifestOverrides, align 8
@.str.15 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [24 x i8], align 1
@__PRETTY_FUNCTION__._ZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifest = external hidden unnamed_addr constant [105 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [32 x i8], align 1
@_ZTISt13runtime_error = external constant ptr
@.str.33 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [9 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

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

declare i32 @__gxx_personality_v0(...)

declare void @_ZN8TomlFileC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(672), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #3 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: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(556) ptr @_ZNK8TomlFile5lexerEv(ptr noundef nonnull align 8 dereferenceable(672)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN15ErrorHandlerLexC2ERK9TomlLexer(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(556)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7helpers4path6parentEv(ptr dead_on_unwind noalias writable sret(%"class.helpers::path") align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

declare void @_ZN8TomlFile5beginEv(ptr dead_on_unwind writable sret(%class.TomlFileIter) align 8, ptr noundef nonnull align 8 dereferenceable(672)) local_unnamed_addr #2

declare void @_ZN8TomlFile3endEv(ptr dead_on_unwind writable sret(%class.TomlFileIter) align 8, ptr noundef nonnull align 8 dereferenceable(672)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK12TomlFileIterneERKS_(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK12TomlFileIterdeEv(ptr dead_on_unwind noalias writable sret(%struct.TomlKeyValue) align 8, ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #1 align 2

; 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 #4

declare void @_Z11Debug_PrintSt8functionIFvRSoEE(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 #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7helpers4pathdvERKS0_(ptr dead_on_unwind noalias writable sret(%"class.helpers::path") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

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

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

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

; 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 #1 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifest(ptr dead_on_unwind noalias writable sret(%class.PackageManifest) align 8 %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef %2) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.helpers::path", align 8
  %5 = alloca %"class.helpers::path", align 8
  %6 = alloca %class.TomlFile, align 8
  %7 = alloca %struct.ErrorHandlerLex, align 8
  %8 = alloca %"class.std::function", align 8
  %9 = alloca %class.anon.69, align 8
  %10 = alloca %class.TomlFileIter, align 8
  %11 = alloca %class.TomlFileIter, align 8
  %12 = alloca %struct.TomlKeyValue, align 8
  %13 = alloca %"class.std::function", align 8
  %14 = alloca %class.anon.75, align 8
  %15 = alloca %"class.std::function", align 8
  %16 = alloca %class.anon.76, align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.77", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.77", align 8
  %19 = alloca %struct.TomlKeyValue, align 8
  %20 = alloca %"class.std::function", align 8
  %21 = alloca %class.anon.78, align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %class.anon.80, align 8
  %24 = alloca %class.anon.81, align 8
  %25 = alloca %"struct.std::_Rb_tree_iterator.82", align 8
  %26 = alloca %"struct.std::_Rb_tree_iterator.82", align 8
  %27 = alloca %"class.std::basic_ifstream", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.helpers::path", align 8
  %30 = alloca %"class.helpers::path", align 8
  %31 = alloca %"class.std::function", align 8
  %32 = alloca %class.anon.88, align 1
  %33 = alloca %struct.PackageTarget, align 8
  %34 = alloca %"class.std::basic_ifstream", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.helpers::path", align 8
  %37 = alloca %"class.helpers::path", align 8
  %38 = alloca %"class.std::function", align 8
  %39 = alloca %class.anon.97, align 1
  %40 = alloca %struct.PackageTarget, align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %43 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.helpers::path", align 8
  %46 = alloca %"class.helpers::path", align 8
  %47 = alloca %"class.helpers::path", align 8
  %48 = alloca %"class.helpers::path", align 8
  %49 = alloca %"class.std::basic_ifstream", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.helpers::path", align 8
  %52 = alloca %"class.helpers::path", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.helpers::path", align 8
  %55 = alloca %"class.helpers::path", align 8
  %56 = alloca %"class.helpers::path", align 8
  %57 = alloca %"class.helpers::path", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.helpers::path", align 8
  %60 = alloca %"class.helpers::path", align 8
  %61 = alloca %"class.helpers::path", align 8
  %62 = alloca %"class.helpers::path", align 8
  %63 = alloca %"class.std::basic_ifstream", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.helpers::path", align 8
  %66 = alloca %"class.helpers::path", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.helpers::path", align 8
  %69 = alloca %"class.helpers::path", align 8
  %70 = alloca %"class.helpers::path", align 8
  %71 = alloca %"class.helpers::path", align 8
  %72 = alloca %"class.__gnu_cxx::__normal_iterator.99", align 8
  %73 = alloca %"class.__gnu_cxx::__normal_iterator.99", align 8
  %74 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %75 = alloca %"class.__gnu_cxx::__normal_iterator.85", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %struct.PackageTarget, align 8
  %79 = alloca %"class.std::function.102", align 8
  %80 = alloca %class.anon.105, align 8
  %81 = alloca %"class.std::basic_ifstream", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.helpers::path", align 8
  %84 = alloca %"class.std::function", align 8
  %85 = alloca %class.anon.106, align 1
  tail call void @_ZN15PackageManifestC1Ev(ptr noundef nonnull align 8 dereferenceable(594) %0)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #8
  invoke void @_ZN7helpers4pathC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %86 unwind label %96

86:                                               ; preds = %3
  invoke void @_ZNK7helpers4path6parentEv(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %87 unwind label %98

87:                                               ; preds = %86
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #8
  %88 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN7helpers4pathaSERKS0_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %89 unwind label %101

89:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 672, ptr nonnull %6) #8
  invoke void @_ZN8TomlFileC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(672) %6, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %90 unwind label %103

90:                                               ; preds = %89
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #8
  %91 = call noundef nonnull align 8 dereferenceable(556) ptr @_ZNK8TomlFile5lexerEv(ptr noundef nonnull align 8 dereferenceable(672) %6)
  call void @_ZN15ErrorHandlerLexC2ERK9TomlLexer(ptr noundef nonnull align 8 dereferenceable(16) %7, ptr noundef nonnull align 8 dereferenceable(556) %91)
  %92 = invoke noundef ptr @_ZNK17ManifestOverrides6lookupERKN7helpers4pathE(ptr noundef nonnull align 8 dereferenceable(48) @_ZL11s_overrides, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %93 unwind label %105

93:                                               ; preds = %90
  %.not = icmp eq ptr %92, null
  br i1 %.not, label %109, label %94

94:                                               ; preds = %93
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #8
  store ptr %4, ptr %9, align 8, !tbaa !5
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(8) %9) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef nonnull %8)
          to label %95 unwind label %107

95:                                               ; preds = %94
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #8
  br label %109

96:                                               ; preds = %3
  %97 = landingpad { ptr, i32 }
          cleanup
  br label %100

98:                                               ; preds = %86
  %99 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #8
  br label %100

100:                                              ; preds = %98, %96
  %.pn = phi { ptr, i32 } [ %99, %98 ], [ %97, %96 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #8
  br label %542

101:                                              ; preds = %87
  %102 = landingpad { ptr, i32 }
          cleanup
  br label %541

103:                                              ; preds = %89
  %104 = landingpad { ptr, i32 }
          cleanup
  br label %540

105:                                              ; preds = %.invoke, %239, %201, %90
  %106 = landingpad { ptr, i32 }
          cleanup
  br label %539

107:                                              ; preds = %94
  %108 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #8
  br label %539

109:                                              ; preds = %95, %93
  call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %10) #8
  invoke void @_ZN8TomlFile5beginEv(ptr dead_on_unwind nonnull writable sret(%class.TomlFileIter) align 8 %10, ptr noundef nonnull align 8 dereferenceable(672) %6)
          to label %110 unwind label %114

110:                                              ; preds = %109
  call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %11) #8
  invoke void @_ZN8TomlFile3endEv(ptr dead_on_unwind nonnull writable sret(%class.TomlFileIter) align 8 %11, ptr noundef nonnull align 8 dereferenceable(672) %6)
          to label %.preheader unwind label %116

.preheader:                                       ; preds = %110, %138
  %111 = invoke noundef zeroext i1 @_ZNK12TomlFileIterneERKS_(ptr noundef nonnull align 8 dereferenceable(104) %10, ptr noundef nonnull align 8 dereferenceable(104) %11)
          to label %112 unwind label %118

112:                                              ; preds = %.preheader
  br i1 %111, label %120, label %113

113:                                              ; preds = %112
  call void @_ZN12TomlFileIterD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %11) #8
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %11) #8
  call void @_ZN12TomlFileIterD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %10) #8
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %10) #8
  br i1 %.not, label %168, label %146

114:                                              ; preds = %109
  %115 = landingpad { ptr, i32 }
          cleanup
  br label %145

116:                                              ; preds = %110
  %117 = landingpad { ptr, i32 }
          cleanup
  br label %144

118:                                              ; preds = %138, %.preheader
  %119 = landingpad { ptr, i32 }
          cleanup
  br label %143

120:                                              ; preds = %112
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %12) #8
  invoke void @_ZNK12TomlFileIterdeEv(ptr dead_on_unwind nonnull writable sret(%struct.TomlKeyValue) align 8 %12, ptr noundef nonnull align 8 dereferenceable(104) %10)
          to label %121 unwind label %124

121:                                              ; preds = %120
  %122 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #8
  %.not175 = icmp eq i64 %122, 0
  br i1 %.not175, label %123, label %126

123:                                              ; preds = %121
  call void @__assert_fail(ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.15, i32 noundef 263, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifest) #9
  unreachable

124:                                              ; preds = %120
  %125 = landingpad { ptr, i32 }
          cleanup
  br label %142

126:                                              ; preds = %121
  br i1 %.not, label %136, label %127

127:                                              ; preds = %126
  %128 = invoke noundef zeroext i1 @_ZNK17ManifestOverrides8Override15is_filtered_outERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(48) %92, ptr noundef nonnull align 8 dereferenceable(24) %12)
          to label %129 unwind label %132

129:                                              ; preds = %127
  br i1 %128, label %130, label %136

130:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #8
  store ptr %12, ptr %14, align 8, !tbaa !5
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(8) %14) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef nonnull %13)
          to label %131 unwind label %134

131:                                              ; preds = %130
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #8
  br label %138

132:                                              ; preds = %137, %127
  %133 = landingpad { ptr, i32 }
          cleanup
  br label %141

134:                                              ; preds = %130
  %135 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #8
  br label %141

136:                                              ; preds = %126, %129
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #8
  store ptr %12, ptr %16, align 8, !tbaa !5
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(8) %16) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef nonnull %15)
          to label %137 unwind label %139

137:                                              ; preds = %136
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  invoke void @_ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue(ptr noundef nonnull align 8 dereferenceable(594) %0, ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(96) %12)
          to label %138 unwind label %132

138:                                              ; preds = %137, %131
  call void @_ZN12TomlKeyValueD2Ev(ptr noundef nonnull align 8 dereferenceable(96) %12) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %12) #8
  invoke void @_ZN12TomlFileIterppEv(ptr noundef nonnull align 8 dereferenceable(104) %10)
          to label %.preheader unwind label %118

139:                                              ; preds = %136
  %140 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  br label %141

141:                                              ; preds = %139, %134, %132
  %.pn176 = phi { ptr, i32 } [ %135, %134 ], [ %133, %132 ], [ %140, %139 ]
  call void @_ZN12TomlKeyValueD2Ev(ptr noundef nonnull align 8 dereferenceable(96) %12) #8
  br label %142

142:                                              ; preds = %141, %124
  %.pn176.pn = phi { ptr, i32 } [ %.pn176, %141 ], [ %125, %124 ]
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %12) #8
  br label %143

143:                                              ; preds = %142, %118
  %.pn179 = phi { ptr, i32 } [ %119, %118 ], [ %.pn176.pn, %142 ]
  call void @_ZN12TomlFileIterD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %11) #8
  br label %144

144:                                              ; preds = %143, %116
  %.pn179.pn = phi { ptr, i32 } [ %.pn179, %143 ], [ %117, %116 ]
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %11) #8
  call void @_ZN12TomlFileIterD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %10) #8
  br label %145

145:                                              ; preds = %144, %114
  %.pn179.pn.pn = phi { ptr, i32 } [ %.pn179.pn, %144 ], [ %115, %114 ]
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %10) #8
  br label %539

146:                                              ; preds = %113
  %147 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK17ManifestOverrides8Override9overridesEv(ptr noundef nonnull align 8 dereferenceable(48) %92)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #8
  %148 = call ptr @_ZNKSt6vectorI12TomlKeyValueSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %147) #8
  store ptr %148, ptr %17, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #8
  %149 = call ptr @_ZNKSt6vectorI12TomlKeyValueSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %147) #8
  store ptr %149, ptr %18, align 8
  %150 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPK12TomlKeyValueSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  br i1 %150, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %159, %146
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  br label %168

.lr.ph:                                           ; preds = %146, %159
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %19) #8
  %151 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPK12TomlKeyValueSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #8
  invoke void @_ZN12TomlKeyValueC2ERKS_(ptr noundef nonnull align 8 dereferenceable(96) %19, ptr noundef nonnull align 8 dereferenceable(96) %151)
          to label %152 unwind label %155

152:                                              ; preds = %.lr.ph
  %153 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  %.not171 = icmp eq i64 %153, 0
  br i1 %.not171, label %154, label %157

154:                                              ; preds = %152
  call void @__assert_fail(ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.15, i32 noundef 277, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifest) #9
  unreachable

155:                                              ; preds = %.lr.ph
  %156 = landingpad { ptr, i32 }
          cleanup
  br label %167

157:                                              ; preds = %152
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #8
  store ptr %19, ptr %21, align 8, !tbaa !5
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(8) %21) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef nonnull %20)
          to label %158 unwind label %162

158:                                              ; preds = %157
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #8
  invoke void @_ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue(ptr noundef nonnull align 8 dereferenceable(594) %0, ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(96) %19)
          to label %159 unwind label %164

159:                                              ; preds = %158
  call void @_ZN12TomlKeyValueD2Ev(ptr noundef nonnull align 8 dereferenceable(96) %19) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %19) #8
  %160 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPK12TomlKeyValueSt6vectorIS1_SaIS1_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %17) #8
  %161 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPK12TomlKeyValueSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #8
  br i1 %161, label %.lr.ph, label %._crit_edge

162:                                              ; preds = %157
  %163 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #8
  br label %166

164:                                              ; preds = %158
  %165 = landingpad { ptr, i32 }
          cleanup
  br label %166

166:                                              ; preds = %164, %162
  %.pn172 = phi { ptr, i32 } [ %165, %164 ], [ %163, %162 ]
  call void @_ZN12TomlKeyValueD2Ev(ptr noundef nonnull align 8 dereferenceable(96) %19) #8
  br label %167

167:                                              ; preds = %166, %155
  %.pn172.pn = phi { ptr, i32 } [ %.pn172, %166 ], [ %156, %155 ]
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  br label %539

168:                                              ; preds = %._crit_edge, %113
  %169 = getelementptr inbounds i8, ptr %0, i64 32
  %170 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %169, ptr noundef nonnull @.str.30)
  br i1 %170, label %171, label %180

171:                                              ; preds = %168
  %172 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #8
  invoke void @_Z6formatIJA15_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA32_cEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 1 dereferenceable(15) @.str.31, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 1 dereferenceable(32) @.str.32)
          to label %173 unwind label %.thread

173:                                              ; preds = %171
  invoke void @_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %172, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %175 unwind label %.thread190

.thread190:                                       ; preds = %173
  %174 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  br label %179

175:                                              ; preds = %173
  invoke void @__cxa_throw(ptr nonnull %172, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #10
          to label %543 unwind label %177

.thread:                                          ; preds = %171
  %176 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  br label %179

177:                                              ; preds = %175
  %178 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  br label %539

179:                                              ; preds = %.thread190, %.thread
  %.pn169189 = phi { ptr, i32 } [ %176, %.thread ], [ %174, %.thread190 ]
  call void @__cxa_free_exception(ptr %172) #8
  br label %539

180:                                              ; preds = %168
  %181 = getelementptr inbounds i8, ptr %0, i64 593
  %182 = load i8, ptr %181, align 1, !tbaa !9, !range !52, !noundef !53
  %183 = trunc nuw i8 %182 to i1
  br i1 %183, label %184, label %201

184:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #8
  store ptr %0, ptr %23, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #8
  store ptr %23, ptr %24, align 8, !tbaa !5
  %185 = getelementptr inbounds i8, ptr %0, i64 184
  invoke void @"_ZZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestENK3$_9clERKNS_12DependenciesE"(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(72) %185)
          to label %186 unwind label %191

186:                                              ; preds = %184
  %187 = getelementptr inbounds i8, ptr %0, i64 256
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #8
  %188 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesESt4lessIS5_ESaISt4pairIKS5_S7_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %187) #8
  store ptr %188, ptr %25, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #8
  %189 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesESt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %187) #8
  store ptr %189, ptr %26, align 8
  %190 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #8
  br i1 %190, label %.lr.ph199, label %._crit_edge200

._crit_edge200:                                   ; preds = %195, %186
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  br label %201

191:                                              ; preds = %184
  %192 = landingpad { ptr, i32 }
          cleanup
  br label %200

.lr.ph199:                                        ; preds = %186, %195
  %193 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #8
  %194 = getelementptr inbounds i8, ptr %193, i64 32
  invoke void @"_ZZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestENK3$_9clERKNS_12DependenciesE"(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(72) %194)
          to label %195 unwind label %198

195:                                              ; preds = %.lr.ph199
  %196 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #8
  %197 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN15PackageManifest12DependenciesEEESD_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #8
  br i1 %197, label %.lr.ph199, label %._crit_edge200

198:                                              ; preds = %.lr.ph199
  %199 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #8
  br label %200

200:                                              ; preds = %198, %191
  %.pn167 = phi { ptr, i32 } [ %199, %198 ], [ %192, %191 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  br label %539

201:                                              ; preds = %._crit_edge200, %180
  %202 = getelementptr inbounds i8, ptr %0, i64 304
  %203 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  %204 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  %205 = invoke noundef zeroext i1 @"_ZSt6any_ofIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_10EbT_SL_T0_"(ptr %203, ptr %204)
          to label %206 unwind label %105

206:                                              ; preds = %201
  br i1 %205, label %239, label %207

207:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %27) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.33)
          to label %208 unwind label %221

208:                                              ; preds = %207
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.34)
          to label %209 unwind label %223

209:                                              ; preds = %208
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %210 unwind label %225

210:                                              ; preds = %209
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %27, ptr noundef nonnull align 8 dereferenceable(32) %28, i32 noundef 8)
          to label %211 unwind label %227

211:                                              ; preds = %210
  %212 = load ptr, ptr %27, align 8, !tbaa !54
  %213 = getelementptr i8, ptr %212, i64 -24
  %214 = load i64, ptr %213, align 8
  %215 = getelementptr inbounds i8, ptr %27, i64 %214
  %216 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %215)
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %27) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %27) #8
  br i1 %216, label %217, label %239

217:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #8
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 1 dereferenceable(1) %32) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef nonnull %31)
          to label %218 unwind label %232

218:                                              ; preds = %217
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #8
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %33) #8
  invoke void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %33, i32 noundef 0)
          to label %219 unwind label %234

219:                                              ; preds = %218
  invoke void @_ZNSt6vectorI13PackageTargetSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %202, ptr noundef nonnull align 8 dereferenceable(136) %33)
          to label %220 unwind label %236

220:                                              ; preds = %219
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %33) #8
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %33) #8
  br label %239

221:                                              ; preds = %207
  %222 = landingpad { ptr, i32 }
          cleanup
  br label %231

223:                                              ; preds = %208
  %224 = landingpad { ptr, i32 }
          cleanup
  br label %230

225:                                              ; preds = %209
  %226 = landingpad { ptr, i32 }
          cleanup
  br label %229

227:                                              ; preds = %210
  %228 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  br label %229

229:                                              ; preds = %227, %225
  %.pn113 = phi { ptr, i32 } [ %228, %227 ], [ %226, %225 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  br label %230

230:                                              ; preds = %229, %223
  %.pn113.pn = phi { ptr, i32 } [ %.pn113, %229 ], [ %224, %223 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  br label %231

231:                                              ; preds = %230, %221
  %.pn113.pn.pn = phi { ptr, i32 } [ %.pn113.pn, %230 ], [ %222, %221 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %27) #8
  br label %539

232:                                              ; preds = %217
  %233 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #8
  br label %539

234:                                              ; preds = %218
  %235 = landingpad { ptr, i32 }
          cleanup
  br label %238

236:                                              ; preds = %219
  %237 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %33) #8
  br label %238

238:                                              ; preds = %236, %234
  %.pn117 = phi { ptr, i32 } [ %237, %236 ], [ %235, %234 ]
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %33) #8
  br label %539

239:                                              ; preds = %211, %220, %206
  %240 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  %241 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  %242 = invoke noundef zeroext i1 @"_ZSt6any_ofIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_11EbT_SL_T0_"(ptr %240, ptr %241)
          to label %243 unwind label %105

243:                                              ; preds = %239
  br i1 %242, label %276, label %244

244:                                              ; preds = %243
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %34) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %37, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.33)
          to label %245 unwind label %258

245:                                              ; preds = %244
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %36, ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.35)
          to label %246 unwind label %260

246:                                              ; preds = %245
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %247 unwind label %262

247:                                              ; preds = %246
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %34, ptr noundef nonnull align 8 dereferenceable(32) %35, i32 noundef 8)
          to label %248 unwind label %264

248:                                              ; preds = %247
  %249 = load ptr, ptr %34, align 8, !tbaa !54
  %250 = getelementptr i8, ptr %249, i64 -24
  %251 = load i64, ptr %250, align 8
  %252 = getelementptr inbounds i8, ptr %34, i64 %251
  %253 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %252)
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %34) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %34) #8
  br i1 %253, label %254, label %276

254:                                              ; preds = %248
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #8
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef nonnull %38)
          to label %255 unwind label %269

255:                                              ; preds = %254
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #8
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %40) #8
  invoke void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %40, i32 noundef 1)
          to label %256 unwind label %271

256:                                              ; preds = %255
  invoke void @_ZNSt6vectorI13PackageTargetSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %202, ptr noundef nonnull align 8 dereferenceable(136) %40)
          to label %257 unwind label %273

257:                                              ; preds = %256
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %40) #8
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %40) #8
  br label %276

258:                                              ; preds = %244
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %268

260:                                              ; preds = %245
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %267

262:                                              ; preds = %246
  %263 = landingpad { ptr, i32 }
          cleanup
  br label %266

264:                                              ; preds = %247
  %265 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  br label %266

266:                                              ; preds = %264, %262
  %.pn119 = phi { ptr, i32 } [ %265, %264 ], [ %263, %262 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  br label %267

267:                                              ; preds = %266, %260
  %.pn119.pn = phi { ptr, i32 } [ %.pn119, %266 ], [ %261, %260 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  br label %268

268:                                              ; preds = %267, %258
  %.pn119.pn.pn = phi { ptr, i32 } [ %.pn119.pn, %267 ], [ %259, %258 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %34) #8
  br label %539

269:                                              ; preds = %254
  %270 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #8
  br label %539

271:                                              ; preds = %255
  %272 = landingpad { ptr, i32 }
          cleanup
  br label %275

273:                                              ; preds = %256
  %274 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %40) #8
  br label %275

275:                                              ; preds = %273, %271
  %.pn123 = phi { ptr, i32 } [ %274, %273 ], [ %272, %271 ]
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %40) #8
  br label %539

276:                                              ; preds = %248, %257, %243
  %277 = call noundef zeroext i1 @_ZNKSt6vectorI13PackageTargetSaIS0_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  br i1 %277, label %278, label %287

278:                                              ; preds = %276
  %279 = call ptr @__cxa_allocate_exception(i64 16) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #8
  invoke void @_Z6formatIJA15_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA66_cEES6_DpRKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 1 dereferenceable(15) @.str.31, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 1 dereferenceable(66) @.str.36)
          to label %280 unwind label %.thread192

280:                                              ; preds = %278
  invoke void @_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16) %279, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %282 unwind label %.thread196

.thread196:                                       ; preds = %280
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #8
  br label %286

282:                                              ; preds = %280
  invoke void @__cxa_throw(ptr nonnull %279, ptr nonnull @_ZTISt13runtime_error, ptr nonnull @_ZNSt13runtime_errorD1Ev) #10
          to label %543 unwind label %284

.thread192:                                       ; preds = %278
  %283 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #8
  br label %286

284:                                              ; preds = %282
  %285 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #8
  br label %539

286:                                              ; preds = %.thread196, %.thread192
  %.pn165195 = phi { ptr, i32 } [ %283, %.thread192 ], [ %281, %.thread196 ]
  call void @__cxa_free_exception(ptr %279) #8
  br label %539

287:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #8
  %288 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  store ptr %288, ptr %42, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #8
  %289 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  store ptr %289, ptr %43, align 8
  %290 = call noundef zeroext i1 @_ZN9__gnu_cxxneIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %43) #8
  br i1 %290, label %.lr.ph205, label %._crit_edge206

.lr.ph205:                                        ; preds = %287
  %291 = getelementptr inbounds i8, ptr %0, i64 144
  br label %295

._crit_edge206:                                   ; preds = %462, %287
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #8
  %292 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  %293 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  %294 = invoke ptr @"_ZSt7find_ifIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_12ET_SL_SL_T0_"(ptr %292, ptr %293)
          to label %466 unwind label %490

295:                                              ; preds = %.lr.ph205, %462
  %296 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  %297 = getelementptr inbounds i8, ptr %296, i64 40
  %298 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %297, ptr noundef nonnull @.str.30)
  br i1 %298, label %299, label %437

299:                                              ; preds = %295
  %300 = load i32, ptr %296, align 8, !tbaa !56
  switch i32 %300, label %437 [
    i32 0, label %.invoke207
    i32 1, label %303
    i32 4, label %372
  ]

301:                                              ; preds = %.invoke207, %440
  %302 = landingpad { ptr, i32 }
          cleanup
  br label %465

303:                                              ; preds = %299
  %304 = getelementptr inbounds i8, ptr %296, i64 8
  %305 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %304, ptr noundef nonnull @.str.30)
  br i1 %305, label %.invoke207, label %308

.invoke207:                                       ; preds = %303, %299
  %306 = phi ptr [ @.str.37, %299 ], [ @.str.38, %303 ]
  %307 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %297, ptr noundef nonnull %306)
          to label %437 unwind label %301

308:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #8
  invoke void @_ZN7helpers4pathC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.33)
          to label %309 unwind label %333

309:                                              ; preds = %308
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %47, ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.39)
          to label %310 unwind label %335

310:                                              ; preds = %309
  %311 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %304) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %46, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef %311)
          to label %312 unwind label %337

312:                                              ; preds = %310
  invoke void @_ZNK7helpers4pathplEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull @.str.40)
          to label %313 unwind label %339

313:                                              ; preds = %312
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %314 unwind label %341

314:                                              ; preds = %313
  %315 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %297, ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #8
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %49) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #8
  invoke void @_ZN7helpers4pathC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %297)
          to label %316 unwind label %347

316:                                              ; preds = %314
  invoke void @_ZNK7helpers4pathdvERKS0_(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %317 unwind label %349

317:                                              ; preds = %316
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %318 unwind label %351

318:                                              ; preds = %317
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %49, ptr noundef nonnull align 8 dereferenceable(32) %50, i32 noundef 8)
          to label %319 unwind label %353

319:                                              ; preds = %318
  %320 = load ptr, ptr %49, align 8, !tbaa !54
  %321 = getelementptr i8, ptr %320, i64 -24
  %322 = load i64, ptr %321, align 8
  %323 = getelementptr inbounds i8, ptr %49, i64 %322
  %324 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %323)
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %49) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %49) #8
  br i1 %324, label %437, label %325

325:                                              ; preds = %319
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #8
  invoke void @_ZN7helpers4pathC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.33)
          to label %326 unwind label %358

326:                                              ; preds = %325
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.39)
          to label %327 unwind label %360

327:                                              ; preds = %326
  %328 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %304) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %55, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef %328)
          to label %329 unwind label %362

329:                                              ; preds = %327
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %54, ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.35)
          to label %330 unwind label %364

330:                                              ; preds = %329
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %331 unwind label %366

331:                                              ; preds = %330
  %332 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %297, ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #8
  br label %437

333:                                              ; preds = %308
  %334 = landingpad { ptr, i32 }
          cleanup
  br label %346

335:                                              ; preds = %309
  %336 = landingpad { ptr, i32 }
          cleanup
  br label %345

337:                                              ; preds = %310
  %338 = landingpad { ptr, i32 }
          cleanup
  br label %344

339:                                              ; preds = %312
  %340 = landingpad { ptr, i32 }
          cleanup
  br label %343

341:                                              ; preds = %313
  %342 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  br label %343

343:                                              ; preds = %341, %339
  %.pn149 = phi { ptr, i32 } [ %342, %341 ], [ %340, %339 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  br label %344

344:                                              ; preds = %343, %337
  %.pn149.pn = phi { ptr, i32 } [ %.pn149, %343 ], [ %338, %337 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  br label %345

345:                                              ; preds = %344, %335
  %.pn149.pn.pn = phi { ptr, i32 } [ %.pn149.pn, %344 ], [ %336, %335 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  br label %346

346:                                              ; preds = %345, %333
  %.pn149.pn.pn.pn = phi { ptr, i32 } [ %.pn149.pn.pn, %345 ], [ %334, %333 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #8
  br label %465

347:                                              ; preds = %314
  %348 = landingpad { ptr, i32 }
          cleanup
  br label %357

349:                                              ; preds = %316
  %350 = landingpad { ptr, i32 }
          cleanup
  br label %356

351:                                              ; preds = %317
  %352 = landingpad { ptr, i32 }
          cleanup
  br label %355

353:                                              ; preds = %318
  %354 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %355

355:                                              ; preds = %353, %351
  %.pn154 = phi { ptr, i32 } [ %354, %353 ], [ %352, %351 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  br label %356

356:                                              ; preds = %355, %349
  %.pn154.pn = phi { ptr, i32 } [ %.pn154, %355 ], [ %350, %349 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  br label %357

357:                                              ; preds = %356, %347
  %.pn154.pn.pn = phi { ptr, i32 } [ %.pn154.pn, %356 ], [ %348, %347 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %49) #8
  br label %465

358:                                              ; preds = %325
  %359 = landingpad { ptr, i32 }
          cleanup
  br label %371

360:                                              ; preds = %326
  %361 = landingpad { ptr, i32 }
          cleanup
  br label %370

362:                                              ; preds = %327
  %363 = landingpad { ptr, i32 }
          cleanup
  br label %369

364:                                              ; preds = %329
  %365 = landingpad { ptr, i32 }
          cleanup
  br label %368

366:                                              ; preds = %330
  %367 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  br label %368

368:                                              ; preds = %366, %364
  %.pn158 = phi { ptr, i32 } [ %367, %366 ], [ %365, %364 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  br label %369

369:                                              ; preds = %368, %362
  %.pn158.pn = phi { ptr, i32 } [ %.pn158, %368 ], [ %363, %362 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  br label %370

370:                                              ; preds = %369, %360
  %.pn158.pn.pn = phi { ptr, i32 } [ %.pn158.pn, %369 ], [ %361, %360 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  br label %371

371:                                              ; preds = %370, %358
  %.pn158.pn.pn.pn = phi { ptr, i32 } [ %.pn158.pn.pn, %370 ], [ %359, %358 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #8
  br label %465

372:                                              ; preds = %299
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #8
  invoke void @_ZN7helpers4pathC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull @.str.33)
          to label %373 unwind label %398

373:                                              ; preds = %372
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %61, ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull @.str.41)
          to label %374 unwind label %400

374:                                              ; preds = %373
  %375 = getelementptr inbounds i8, ptr %296, i64 8
  %376 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %375) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %60, ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef %376)
          to label %377 unwind label %402

377:                                              ; preds = %374
  invoke void @_ZNK7helpers4pathplEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %59, ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull @.str.40)
          to label %378 unwind label %404

378:                                              ; preds = %377
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %379 unwind label %406

379:                                              ; preds = %378
  %380 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %297, ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #8
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %63) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #8
  invoke void @_ZN7helpers4pathC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %297)
          to label %381 unwind label %412

381:                                              ; preds = %379
  invoke void @_ZNK7helpers4pathdvERKS0_(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %65, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %382 unwind label %414

382:                                              ; preds = %381
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %383 unwind label %416

383:                                              ; preds = %382
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %63, ptr noundef nonnull align 8 dereferenceable(32) %64, i32 noundef 8)
          to label %384 unwind label %418

384:                                              ; preds = %383
  %385 = load ptr, ptr %63, align 8, !tbaa !54
  %386 = getelementptr i8, ptr %385, i64 -24
  %387 = load i64, ptr %386, align 8
  %388 = getelementptr inbounds i8, ptr %63, i64 %387
  %389 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %388)
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %63) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %63) #8
  br i1 %389, label %437, label %390

390:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #8
  invoke void @_ZN7helpers4pathC1EPKc(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.33)
          to label %391 unwind label %423

391:                                              ; preds = %390
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %70, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.41)
          to label %392 unwind label %425

392:                                              ; preds = %391
  %393 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %375) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %69, ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef %393)
          to label %394 unwind label %427

394:                                              ; preds = %392
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %68, ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull @.str.35)
          to label %395 unwind label %429

395:                                              ; preds = %394
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %396 unwind label %431

396:                                              ; preds = %395
  %397 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %297, ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #8
  br label %437

398:                                              ; preds = %372
  %399 = landingpad { ptr, i32 }
          cleanup
  br label %411

400:                                              ; preds = %373
  %401 = landingpad { ptr, i32 }
          cleanup
  br label %410

402:                                              ; preds = %374
  %403 = landingpad { ptr, i32 }
          cleanup
  br label %409

404:                                              ; preds = %377
  %405 = landingpad { ptr, i32 }
          cleanup
  br label %408

406:                                              ; preds = %378
  %407 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  br label %408

408:                                              ; preds = %406, %404
  %.pn135 = phi { ptr, i32 } [ %407, %406 ], [ %405, %404 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  br label %409

409:                                              ; preds = %408, %402
  %.pn135.pn = phi { ptr, i32 } [ %.pn135, %408 ], [ %403, %402 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  br label %410

410:                                              ; preds = %409, %400
  %.pn135.pn.pn = phi { ptr, i32 } [ %.pn135.pn, %409 ], [ %401, %400 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  br label %411

411:                                              ; preds = %410, %398
  %.pn135.pn.pn.pn = phi { ptr, i32 } [ %.pn135.pn.pn, %410 ], [ %399, %398 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #8
  br label %465

412:                                              ; preds = %379
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %422

414:                                              ; preds = %381
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %421

416:                                              ; preds = %382
  %417 = landingpad { ptr, i32 }
          cleanup
  br label %420

418:                                              ; preds = %383
  %419 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  br label %420

420:                                              ; preds = %418, %416
  %.pn140 = phi { ptr, i32 } [ %419, %418 ], [ %417, %416 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  br label %421

421:                                              ; preds = %420, %414
  %.pn140.pn = phi { ptr, i32 } [ %.pn140, %420 ], [ %415, %414 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  br label %422

422:                                              ; preds = %421, %412
  %.pn140.pn.pn = phi { ptr, i32 } [ %.pn140.pn, %421 ], [ %413, %412 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %63) #8
  br label %465

423:                                              ; preds = %390
  %424 = landingpad { ptr, i32 }
          cleanup
  br label %436

425:                                              ; preds = %391
  %426 = landingpad { ptr, i32 }
          cleanup
  br label %435

427:                                              ; preds = %392
  %428 = landingpad { ptr, i32 }
          cleanup
  br label %434

429:                                              ; preds = %394
  %430 = landingpad { ptr, i32 }
          cleanup
  br label %433

431:                                              ; preds = %395
  %432 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  br label %433

433:                                              ; preds = %431, %429
  %.pn144 = phi { ptr, i32 } [ %432, %431 ], [ %430, %429 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  br label %434

434:                                              ; preds = %433, %427
  %.pn144.pn = phi { ptr, i32 } [ %.pn144, %433 ], [ %428, %427 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  br label %435

435:                                              ; preds = %434, %425
  %.pn144.pn.pn = phi { ptr, i32 } [ %.pn144.pn, %434 ], [ %426, %425 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  br label %436

436:                                              ; preds = %435, %423
  %.pn144.pn.pn.pn = phi { ptr, i32 } [ %.pn144.pn.pn, %435 ], [ %424, %423 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #8
  br label %465

437:                                              ; preds = %.invoke207, %299, %319, %331, %396, %384, %295
  %438 = getelementptr inbounds i8, ptr %296, i64 8
  %439 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %438, ptr noundef nonnull @.str.30)
  br i1 %439, label %440, label %456

440:                                              ; preds = %437
  %441 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %169) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32) %438, i64 noundef %441)
          to label %442 unwind label %301

442:                                              ; preds = %440
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #8
  %443 = call ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv(ptr noundef nonnull align 8 dereferenceable(32) %169) #8
  store ptr %443, ptr %72, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #8
  %444 = call ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv(ptr noundef nonnull align 8 dereferenceable(32) %169) #8
  store ptr %444, ptr %73, align 8
  %445 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull align 8 dereferenceable(8) %73) #8
  br i1 %445, label %.lr.ph202, label %._crit_edge203

._crit_edge203:                                   ; preds = %451, %442
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #8
  br label %456

.lr.ph202:                                        ; preds = %442, %451
  %446 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %72) #8
  %447 = load i8, ptr %446, align 1, !tbaa !63
  %448 = icmp eq i8 %447, 45
  %449 = select i1 %448, i8 95, i8 %447
  %450 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %438, i8 noundef signext %449)
          to label %451 unwind label %454

451:                                              ; preds = %.lr.ph202
  %452 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %72) #8
  %453 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull align 8 dereferenceable(8) %73) #8
  br i1 %453, label %.lr.ph202, label %._crit_edge203

454:                                              ; preds = %.lr.ph202
  %455 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #8
  br label %465

456:                                              ; preds = %._crit_edge203, %437
  %457 = getelementptr inbounds i8, ptr %296, i64 72
  %458 = load i32, ptr %457, align 8, !tbaa !64
  %459 = icmp eq i32 %458, 0
  br i1 %459, label %460, label %462

460:                                              ; preds = %456
  %461 = load i32, ptr %291, align 8, !tbaa !65
  store i32 %461, ptr %457, align 8, !tbaa !64
  br label %462

462:                                              ; preds = %460, %456
  %463 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  %464 = call noundef zeroext i1 @_ZN9__gnu_cxxneIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %43) #8
  br i1 %464, label %295, label %._crit_edge206

465:                                              ; preds = %454, %436, %422, %411, %371, %357, %346, %301
  %.pn163 = phi { ptr, i32 } [ %455, %454 ], [ %302, %301 ], [ %.pn144.pn.pn.pn, %436 ], [ %.pn140.pn.pn, %422 ], [ %.pn135.pn.pn.pn, %411 ], [ %.pn158.pn.pn.pn, %371 ], [ %.pn154.pn.pn, %357 ], [ %.pn149.pn.pn.pn, %346 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #8
  br label %539

466:                                              ; preds = %._crit_edge206
  store ptr %294, ptr %74, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #8
  %467 = call ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  store ptr %467, ptr %75, align 8
  %468 = call noundef zeroext i1 @_ZN9__gnu_cxxneIP13PackageTargetSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull align 8 dereferenceable(8) %75) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #8
  br i1 %468, label %469, label %506

469:                                              ; preds = %466
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %76) #8
  %470 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %74) #8
  %471 = getelementptr inbounds i8, ptr %470, i64 40
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %471)
          to label %472 unwind label %492

472:                                              ; preds = %469
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #8
  %473 = call noundef ptr @_ZNK9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS1_SaIS1_EEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %74) #8
  %474 = getelementptr inbounds i8, ptr %473, i64 8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %474, ptr noundef nonnull @.str.42)
          to label %475 unwind label %494

475:                                              ; preds = %472
  call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %78) #8
  invoke void @_ZN13PackageTargetC2ENS_4TypeE(ptr noundef nonnull align 8 dereferenceable(136) %78, i32 noundef 2)
          to label %476 unwind label %496

476:                                              ; preds = %475
  invoke void @_ZNSt6vectorI13PackageTargetSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %202, ptr noundef nonnull align 8 dereferenceable(136) %78)
          to label %477 unwind label %498

477:                                              ; preds = %476
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %78) #8
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %78) #8
  %478 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  %479 = getelementptr inbounds i8, ptr %478, i64 8
  %480 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %479, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %481 unwind label %501

481:                                              ; preds = %477
  %482 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  %483 = getelementptr inbounds i8, ptr %482, i64 40
  %484 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %483, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %485 unwind label %501

485:                                              ; preds = %481
  %486 = getelementptr inbounds i8, ptr %0, i64 144
  %487 = load i32, ptr %486, align 8, !tbaa !65
  %488 = call noundef nonnull align 8 dereferenceable(136) ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #8
  %489 = getelementptr inbounds i8, ptr %488, i64 72
  store i32 %487, ptr %489, align 8, !tbaa !64
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #8
  br label %506

490:                                              ; preds = %._crit_edge206
  %491 = landingpad { ptr, i32 }
          cleanup
  br label %510

492:                                              ; preds = %469
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %505

494:                                              ; preds = %472
  %495 = landingpad { ptr, i32 }
          cleanup
  br label %504

496:                                              ; preds = %475
  %497 = landingpad { ptr, i32 }
          cleanup
  br label %500

498:                                              ; preds = %476
  %499 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN13PackageTargetD2Ev(ptr noundef nonnull align 8 dereferenceable(136) %78) #8
  br label %500

500:                                              ; preds = %498, %496
  %.pn125 = phi { ptr, i32 } [ %499, %498 ], [ %497, %496 ]
  call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %78) #8
  br label %503

501:                                              ; preds = %481, %477
  %502 = landingpad { ptr, i32 }
          cleanup
  br label %503

503:                                              ; preds = %501, %500
  %.pn127 = phi { ptr, i32 } [ %502, %501 ], [ %.pn125, %500 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  br label %504

504:                                              ; preds = %503, %494
  %.pn127.pn = phi { ptr, i32 } [ %.pn127, %503 ], [ %495, %494 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  br label %505

505:                                              ; preds = %504, %492
  %.pn127.pn.pn = phi { ptr, i32 } [ %.pn127.pn, %504 ], [ %493, %492 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #8
  br label %510

506:                                              ; preds = %485, %466
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %80) #8
  store ptr %0, ptr %80, align 8, !tbaa !5
  call void @"_ZNSt8functionIFvRK10PackageRefEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(8) %80) #8
  invoke void @_ZNK15PackageManifest22iter_main_dependenciesESt8functionIFvRK10PackageRefEE(ptr noundef nonnull align 8 dereferenceable(594) %0, ptr noundef nonnull %79)
          to label %507 unwind label %511

507:                                              ; preds = %506
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #8
  %508 = getelementptr inbounds i8, ptr %0, i64 152
  %509 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %508, ptr noundef nonnull @.str.43)
  br i1 %509, label %.invoke, label %513

510:                                              ; preds = %505, %490
  %.pn127.pn.pn.pn = phi { ptr, i32 } [ %.pn127.pn.pn, %505 ], [ %491, %490 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #8
  br label %539

511:                                              ; preds = %506
  %512 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #8
  br label %539

513:                                              ; preds = %507
  %514 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %508, ptr noundef nonnull @.str.30)
  br i1 %514, label %515, label %538

515:                                              ; preds = %513
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %81) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %82) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #8
  invoke void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind nonnull writable sret(%"class.helpers::path") align 8 %83, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.44)
          to label %516 unwind label %528

516:                                              ; preds = %515
  invoke void @_ZNK7helpers4pathcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %517 unwind label %530

517:                                              ; preds = %516
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %81, ptr noundef nonnull align 8 dereferenceable(32) %82, i32 noundef 8)
          to label %518 unwind label %532

518:                                              ; preds = %517
  %519 = load ptr, ptr %81, align 8, !tbaa !54
  %520 = getelementptr i8, ptr %519, i64 -24
  %521 = load i64, ptr %520, align 8
  %522 = getelementptr inbounds i8, ptr %81, i64 %521
  %523 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %522)
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %81) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %81) #8
  br i1 %523, label %524, label %538

524:                                              ; preds = %518
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %85) #8
  call void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 1 dereferenceable(1) %85) #8
  invoke void @_Z11Debug_PrintSt8functionIFvRSoEE(ptr noundef nonnull %84)
          to label %525 unwind label %536

525:                                              ; preds = %524
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #8
  br label %.invoke

.invoke:                                          ; preds = %507, %525
  %526 = phi ptr [ @.str.44, %525 ], [ @.str.30, %507 ]
  %527 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %508, ptr noundef nonnull %526)
          to label %538 unwind label %105

528:                                              ; preds = %515
  %529 = landingpad { ptr, i32 }
          cleanup
  br label %535

530:                                              ; preds = %516
  %531 = landingpad { ptr, i32 }
          cleanup
  br label %534

532:                                              ; preds = %517
  %533 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #8
  br label %534

534:                                              ; preds = %532, %530
  %.pn132 = phi { ptr, i32 } [ %533, %532 ], [ %531, %530 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  br label %535

535:                                              ; preds = %534, %528
  %.pn132.pn = phi { ptr, i32 } [ %.pn132, %534 ], [ %529, %528 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %81) #8
  br label %539

536:                                              ; preds = %524
  %537 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #8
  br label %539

538:                                              ; preds = %.invoke, %518, %513
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #8
  call void @_ZN8TomlFileD2Ev(ptr noundef nonnull align 8 dereferenceable(672) %6) #8
  call void @llvm.lifetime.end.p0(i64 672, ptr nonnull %6) #8
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #8
  ret void

539:                                              ; preds = %284, %177, %286, %179, %536, %535, %511, %510, %465, %275, %269, %268, %238, %232, %231, %200, %167, %145, %107, %105
  %.pn179.pn.pn.pn = phi { ptr, i32 } [ %.pn179.pn.pn, %145 ], [ %.pn172.pn, %167 ], [ %.pn169189, %179 ], [ %178, %177 ], [ %.pn167, %200 ], [ %.pn165195, %286 ], [ %285, %284 ], [ %.pn163, %465 ], [ %106, %105 ], [ %537, %536 ], [ %.pn132.pn, %535 ], [ %512, %511 ], [ %.pn127.pn.pn.pn, %510 ], [ %.pn123, %275 ], [ %270, %269 ], [ %.pn119.pn.pn, %268 ], [ %.pn117, %238 ], [ %233, %232 ], [ %.pn113.pn.pn, %231 ], [ %108, %107 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #8
  call void @_ZN8TomlFileD2Ev(ptr noundef nonnull align 8 dereferenceable(672) %6) #8
  br label %540

540:                                              ; preds = %539, %103
  %.pn179.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn179.pn.pn.pn, %539 ], [ %104, %103 ]
  call void @llvm.lifetime.end.p0(i64 672, ptr nonnull %6) #8
  br label %541

541:                                              ; preds = %540, %101
  %.pn179.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn179.pn.pn.pn.pn, %540 ], [ %102, %101 ]
  call void @_ZN7helpers4pathD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #8
  br label %542

542:                                              ; preds = %541, %100
  %.pn179.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn179.pn.pn.pn.pn.pn, %541 ], [ %.pn, %100 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #8
  call void @_ZN15PackageManifestD2Ev(ptr noundef nonnull align 8 dereferenceable(594) %0) #8
  resume { ptr, i32 } %.pn179.pn.pn.pn.pn.pn.pn

543:                                              ; preds = %282, %175
  unreachable
}

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_0vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK17ManifestOverrides8Override15is_filtered_outERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_1vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_2vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN15PackageManifest12fill_from_kvER12ErrorHandlerPK17WorkspaceManifestRK12TomlKeyValue(ptr noundef nonnull align 8 dereferenceable(594), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ptr noundef nonnull align 8 dereferenceable(96)) local_unnamed_addr #1 align 2

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN12TomlKeyValueC2ERKS_(ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(96)) unnamed_addr #6 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_3vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

declare void @_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestENK3$_9clERKNS_12DependenciesE"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #6 align 2

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZSt6any_ofIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_10EbT_SL_T0_"(ptr, ptr) local_unnamed_addr #6

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7helpers4pathdvEPKc(ptr dead_on_unwind noalias writable sret(%"class.helpers::path") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_4vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorI13PackageTargetSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(136)) 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 #1 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZSt6any_ofIN9__gnu_cxx17__normal_iteratorIP13PackageTargetSt6vectorIS2_SaIS2_EEEEZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE4$_11EbT_SL_T0_"(ptr, ptr) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_5vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z6formatIJA15_cNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA66_cEES6_DpRKT_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 1 dereferenceable(15), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(66)) local_unnamed_addr #1

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

; 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 #3 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 #1 align 2

declare void @_ZN7helpers4pathC1EPKc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) unnamed_addr #2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7helpers4pathplEPKc(ptr dead_on_unwind noalias writable sret(%"class.helpers::path") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #1 align 2

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

declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext) local_unnamed_addr #1 align 2

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(136) ptr @_ZNSt6vectorI13PackageTargetSaIS0_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #3 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 #1 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRK10PackageRefEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_6vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @"_ZNSt8functionIFvRSoEEC2IZN15PackageManifest14load_from_tomlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK17WorkspaceManifestE3$_7vEEOT_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

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

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

declare void @_ZN15PackageManifestC1Ev(ptr) local_unnamed_addr

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { "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 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 #4 = { 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 #5 = { 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 #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 = { 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 #8 = { nounwind }
attributes #9 = { noreturn nounwind }
attributes #10 = { 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 593}
!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 = !{i8 0, i8 2}
!53 = !{}
!54 = !{!55, !55, i64 0}
!55 = !{!"vtable pointer", !8, i64 0}
!56 = !{!57, !58, i64 0}
!57 = !{!"_ZTS13PackageTarget", !58, i64 0, !12, i64 8, !12, i64 40, !18, i64 72, !17, i64 76, !17, i64 77, !17, i64 78, !17, i64 79, !17, i64 80, !17, i64 81, !17, i64 82, !59, i64 88, !37, i64 112}
!58 = !{!"_ZTSN13PackageTarget4TypeE", !7, i64 0}
!59 = !{!"_ZTSSt6vectorIN13PackageTarget9CrateTypeESaIS1_EE", !60, i64 0}
!60 = !{!"_ZTSSt12_Vector_baseIN13PackageTarget9CrateTypeESaIS1_EE", !61, i64 0}
!61 = !{!"_ZTSNSt12_Vector_baseIN13PackageTarget9CrateTypeESaIS1_EE12_Vector_implE", !62, i64 0}
!62 = !{!"_ZTSNSt12_Vector_baseIN13PackageTarget9CrateTypeESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!63 = !{!7, !7, i64 0}
!64 = !{!57, !18, i64 72}
!65 = !{!10, !18, i64 144}


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