; LLVM IR from ronan-kerviche/glip-lib :: GLIP-Lib/src/Modules (LayoutLoader)

; 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.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.Glip::Modules::VanillaParserSpace::VanillaParser" = type { %"class.std::__cxx11::basic_string", %"class.std::vector.44" }
%"class.std::vector.44" = type { %"struct.std::_Vector_base.45" }
%"struct.std::_Vector_base.45" = type { %"struct.std::_Vector_base<Glip::Modules::VanillaParserSpace::Element, std::allocator<Glip::Modules::VanillaParserSpace::Element>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::Modules::VanillaParserSpace::Element, std::allocator<Glip::Modules::VanillaParserSpace::Element>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::Modules::VanillaParserSpace::Element, std::allocator<Glip::Modules::VanillaParserSpace::Element>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::Modules::VanillaParserSpace::Element, std::allocator<Glip::Modules::VanillaParserSpace::Element>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.156" = type { ptr }
%"class.std::allocator" = type { i8 }
%"class.Glip::Exception" = type { %"class.std::exception", i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", i8, i8, %"class.std::vector.51" }
%"class.std::exception" = type { ptr }
%"class.std::vector.51" = type { %"struct.std::_Vector_base.52" }
%"struct.std::_Vector_base.52" = type { %"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.Glip::Modules::LayoutLoader" = type { ptr, i8, %"class.std::__cxx11::basic_string", %"class.std::vector", %"class.std::vector.3", %"class.std::vector", %"class.std::map", %"class.std::map.11", %"class.std::map.16", %"class.std::map.21", %"class.std::map.26", %"class.std::vector", %"class.std::map", %"class.std::map.11", %"class.std::map.16", %"class.std::map.26", %"class.std::map.31" }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<Glip::Modules::LayoutLoaderKeyword, std::allocator<Glip::Modules::LayoutLoaderKeyword>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::Modules::LayoutLoaderKeyword, std::allocator<Glip::Modules::LayoutLoaderKeyword>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::Modules::LayoutLoaderKeyword, std::allocator<Glip::Modules::LayoutLoaderKeyword>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::Modules::LayoutLoaderKeyword, std::allocator<Glip::Modules::LayoutLoaderKeyword>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.21" = type { %"class.std::_Rb_tree.22" }
%"class.std::_Rb_tree.22" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::FilterLayout>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::FilterLayout>>, 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>, Glip::CorePipeline::FilterLayout>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::FilterLayout>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.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>, Glip::CoreGL::HdlTextureFormat>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::HdlTextureFormat>>, 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>, Glip::CoreGL::HdlTextureFormat>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::HdlTextureFormat>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.11" = type { %"class.std::_Rb_tree.12" }
%"class.std::_Rb_tree.12" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::ShaderSource>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::ShaderSource>>, 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>, Glip::CoreGL::ShaderSource>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::ShaderSource>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.16" = type { %"class.std::_Rb_tree.17" }
%"class.std::_Rb_tree.17" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::GeometryModel>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::GeometryModel>>, 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>, Glip::CorePipeline::GeometryModel>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::GeometryModel>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.26" = type { %"class.std::_Rb_tree.27" }
%"class.std::_Rb_tree.27" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::PipelineLayout>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::PipelineLayout>>, 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>, Glip::CorePipeline::PipelineLayout>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::PipelineLayout>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.31" = type { %"class.std::_Rb_tree.32" }
%"class.std::_Rb_tree.32" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::Modules::LayoutLoaderModule *>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::Modules::LayoutLoaderModule *>>, 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>, Glip::Modules::LayoutLoaderModule *>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::Modules::LayoutLoaderModule *>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.Glip::Modules::VanillaParserSpace::Element" = type <{ %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::vector", i8, i8, i8, i8, i32, i32, [4 x i8] }>

@_ZN4Glip7Modules12LayoutLoader8keywordsE = external dso_local global [30 x ptr], align 16
@_ZTIN4Glip9ExceptionE = external constant ptr
@.str.58 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [53 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

declare ptr @__cxa_begin_catch(ptr)

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64)

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

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

declare void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #5

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) #0 align 2

declare noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKS0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(152)) #5

declare void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(152)) 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 #3 align 2

declare void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #5

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Glip7Modules12LayoutLoader7processERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS7_S9_RKi(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 4 dereferenceable(4) %4) #3 align 2 personality ptr @__gxx_personality_v0 {
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca %"class.Glip::Modules::VanillaParserSpace::VanillaParser", align 8
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %15 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %16 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %17 = alloca i32, align 4
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %21 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %22 = alloca i32, align 4
  %23 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %24 = alloca ptr, align 8
  %25 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %26 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::allocator", align 1
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca i32, align 4
  %33 = alloca i1, align 1
  %34 = alloca ptr, align 8
  %35 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %36 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca i32, align 4
  %43 = alloca i1, align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator", align 1
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca i32, align 4
  %50 = alloca i1, align 1
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca i32, align 4
  %55 = alloca i1, align 1
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::allocator", align 1
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca i32, align 4
  %62 = alloca i1, align 1
  %63 = alloca ptr, align 8
  %64 = alloca %"class.Glip::Exception", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::allocator", align 1
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca i32, align 4
  store ptr %0, ptr %6, align 8, !tbaa !5
  store ptr %1, ptr %7, align 8, !tbaa !5
  store ptr %2, ptr %8, align 8, !tbaa !5
  store ptr %3, ptr %9, align 8, !tbaa !5
  store ptr %4, ptr %10, align 8, !tbaa !5
  %69 = load ptr, ptr %6, align 8
  call void @llvm.lifetime.start.p0(i64 56, ptr %11) #10
  %70 = load ptr, ptr %7, align 8, !tbaa !5
  %71 = load ptr, ptr %9, align 8, !tbaa !5
  %72 = load ptr, ptr %10, align 8, !tbaa !5
  %73 = load i32, ptr %72, align 4, !tbaa !9
  invoke void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i(ptr noundef nonnull align 8 dereferenceable(56) %11, ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %71, i32 noundef %73)
          to label %74 unwind label %136

74:                                               ; preds = %5
  %75 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %76 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  invoke void @_ZN4Glip7Modules12LayoutLoader8classifyERKSt6vectorINS0_18VanillaParserSpace7ElementESaIS4_EERS2_INS0_19LayoutLoaderKeywordESaIS9_EE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(24) %75, ptr noundef nonnull align 8 dereferenceable(24) %76)
          to label %77 unwind label %140

77:                                               ; preds = %74
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #10
  %78 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %79 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %78) #10
  %80 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %15, i32 0, i32 0
  store ptr %79, ptr %80, align 8
  %81 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %82 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %81) #10
  %83 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %16, i32 0, i32 0
  store ptr %82, ptr %83, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #10
  store i32 29, ptr %17, align 4, !tbaa !11
  %84 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %15, i32 0, i32 0
  %85 = load ptr, ptr %84, align 8
  %86 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %16, i32 0, i32 0
  %87 = load ptr, ptr %86, align 8
  %88 = invoke ptr @_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_(ptr %85, ptr %87, ptr noundef nonnull align 4 dereferenceable(4) %17)
          to label %89 unwind label %144

89:                                               ; preds = %77
  %90 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %14, i32 0, i32 0
  store ptr %88, ptr %90, align 8
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #10
  %91 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %92 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %91) #10
  %93 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %18, i32 0, i32 0
  store ptr %92, ptr %93, align 8
  %94 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #10
  br i1 %94, label %95, label %213

95:                                               ; preds = %89
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #10
  %96 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS3_SaIS3_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %14, i64 noundef 1) #10
  %97 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %20, i32 0, i32 0
  store ptr %96, ptr %97, align 8
  %98 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %99 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %98) #10
  %100 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %21, i32 0, i32 0
  store ptr %99, ptr %100, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #10
  store i32 29, ptr %22, align 4, !tbaa !11
  %101 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %20, i32 0, i32 0
  %102 = load ptr, ptr %101, align 8
  %103 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %21, i32 0, i32 0
  %104 = load ptr, ptr %103, align 8
  %105 = invoke ptr @_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_(ptr %102, ptr %104, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %106 unwind label %148

106:                                              ; preds = %95
  %107 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %19, i32 0, i32 0
  store ptr %105, ptr %107, align 8
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #10
  %108 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %109 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %108) #10
  %110 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %23, i32 0, i32 0
  store ptr %109, ptr %110, align 8
  %111 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %23) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #10
  br i1 %111, label %112, label %184

112:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #10
  %113 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %114 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %115 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %114) #10
  %116 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %25, i32 0, i32 0
  store ptr %115, ptr %116, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %26, ptr align 8 %19, i64 8, i1 false), !tbaa.struct !13
  %117 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %25, i32 0, i32 0
  %118 = load ptr, ptr %117, align 8
  %119 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %26, i32 0, i32 0
  %120 = load ptr, ptr %119, align 8
  %121 = invoke noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_(ptr %118, ptr %120)
          to label %122 unwind label %152

122:                                              ; preds = %112
  %123 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %121) #10
  store ptr %123, ptr %24, align 8, !tbaa !5
  store i1 true, ptr %33, align 1
  %124 = call ptr @__cxa_allocate_exception(i64 152) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #10
  %125 = load ptr, ptr getelementptr inbounds ([30 x ptr], ptr @_ZN4Glip7Modules12LayoutLoader8keywordsE, i64 0, i64 29), align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef %125, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %126 unwind label %156

126:                                              ; preds = %122
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef @.str.218, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %127 unwind label %160

127:                                              ; preds = %126
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef @.str.219)
          to label %128 unwind label %164

128:                                              ; preds = %127
  %129 = load ptr, ptr %24, align 8, !tbaa !5
  %130 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %129, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(32) %130)
          to label %131 unwind label %168

131:                                              ; preds = %128
  %132 = load ptr, ptr %24, align 8, !tbaa !5
  %133 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %132, i32 0, i32 9
  %134 = load i32, ptr %133, align 4, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #10
  store i32 5, ptr %32, align 4, !tbaa !24
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %124, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef %31, i32 noundef %134, ptr noundef nonnull align 4 dereferenceable(4) %32)
          to label %135 unwind label %172

135:                                              ; preds = %131
  store i1 false, ptr %33, align 1
  invoke void @__cxa_throw(ptr %124, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #11
          to label %581 unwind label %172

136:                                              ; preds = %5
  %137 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %138 = extractvalue { ptr, i32 } %137, 0
  store ptr %138, ptr %12, align 8
  %139 = extractvalue { ptr, i32 } %137, 1
  store i32 %139, ptr %13, align 4
  br label %528

140:                                              ; preds = %74
  %141 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %142 = extractvalue { ptr, i32 } %141, 0
  store ptr %142, ptr %12, align 8
  %143 = extractvalue { ptr, i32 } %141, 1
  store i32 %143, ptr %13, align 4
  br label %527

144:                                              ; preds = %77
  %145 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %146 = extractvalue { ptr, i32 } %145, 0
  store ptr %146, ptr %12, align 8
  %147 = extractvalue { ptr, i32 } %145, 1
  store i32 %147, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  br label %526

148:                                              ; preds = %95
  %149 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %150 = extractvalue { ptr, i32 } %149, 0
  store ptr %150, ptr %12, align 8
  %151 = extractvalue { ptr, i32 } %149, 1
  store i32 %151, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  br label %212

152:                                              ; preds = %112
  %153 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %154 = extractvalue { ptr, i32 } %153, 0
  store ptr %154, ptr %12, align 8
  %155 = extractvalue { ptr, i32 } %153, 1
  store i32 %155, ptr %13, align 4
  br label %183

156:                                              ; preds = %122
  %157 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %158 = extractvalue { ptr, i32 } %157, 0
  store ptr %158, ptr %12, align 8
  %159 = extractvalue { ptr, i32 } %157, 1
  store i32 %159, ptr %13, align 4
  br label %179

160:                                              ; preds = %126
  %161 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %12, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %13, align 4
  br label %178

164:                                              ; preds = %127
  %165 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %166 = extractvalue { ptr, i32 } %165, 0
  store ptr %166, ptr %12, align 8
  %167 = extractvalue { ptr, i32 } %165, 1
  store i32 %167, ptr %13, align 4
  br label %177

168:                                              ; preds = %128
  %169 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %170 = extractvalue { ptr, i32 } %169, 0
  store ptr %170, ptr %12, align 8
  %171 = extractvalue { ptr, i32 } %169, 1
  store i32 %171, ptr %13, align 4
  br label %176

172:                                              ; preds = %135, %131
  %173 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %174 = extractvalue { ptr, i32 } %173, 0
  store ptr %174, ptr %12, align 8
  %175 = extractvalue { ptr, i32 } %173, 1
  store i32 %175, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #10
  br label %176

176:                                              ; preds = %172, %168
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #10
  br label %177

177:                                              ; preds = %176, %164
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #10
  br label %178

178:                                              ; preds = %177, %160
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #10
  br label %179

179:                                              ; preds = %178, %156
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #10
  %180 = load i1, ptr %33, align 1
  br i1 %180, label %181, label %182

181:                                              ; preds = %179
  call void @__cxa_free_exception(ptr %124) #10
  br label %182

182:                                              ; preds = %181, %179
  br label %183

183:                                              ; preds = %182, %152
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #10
  br label %212

184:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #10
  %185 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %186 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %187 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %186) #10
  %188 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %35, i32 0, i32 0
  store ptr %187, ptr %188, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %36, ptr align 8 %14, i64 8, i1 false), !tbaa.struct !13
  %189 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %35, i32 0, i32 0
  %190 = load ptr, ptr %189, align 8
  %191 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.156", ptr %36, i32 0, i32 0
  %192 = load ptr, ptr %191, align 8
  %193 = invoke noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_(ptr %190, ptr %192)
          to label %194 unwind label %200

194:                                              ; preds = %184
  %195 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %185, i64 noundef %193) #10
  store ptr %195, ptr %34, align 8, !tbaa !5
  %196 = load ptr, ptr %34, align 8, !tbaa !5
  %197 = invoke noundef zeroext i1 @_ZN4Glip7Modules12LayoutLoader11checkUniqueERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %196)
          to label %198 unwind label %200

198:                                              ; preds = %194
  br i1 %197, label %204, label %199

199:                                              ; preds = %198
  store i32 1, ptr %37, align 4
  br label %205

200:                                              ; preds = %194, %184
  %201 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %202 = extractvalue { ptr, i32 } %201, 0
  store ptr %202, ptr %12, align 8
  %203 = extractvalue { ptr, i32 } %201, 1
  store i32 %203, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  br label %212

204:                                              ; preds = %198
  store i32 0, ptr %37, align 4
  br label %205

205:                                              ; preds = %204, %199
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  %206 = load i32, ptr %37, align 4
  switch i32 %206, label %209 [
    i32 0, label %207
  ]

207:                                              ; preds = %205
  br label %208

208:                                              ; preds = %207
  store i32 0, ptr %37, align 4
  br label %209

209:                                              ; preds = %208, %205
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #10
  %210 = load i32, ptr %37, align 4
  switch i32 %210, label %523 [
    i32 0, label %211
  ]

211:                                              ; preds = %209
  br label %213

212:                                              ; preds = %200, %183, %148
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #10
  br label %526

213:                                              ; preds = %211, %89
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #10
  store i32 0, ptr %38, align 4, !tbaa !9
  br label %214

214:                                              ; preds = %474, %213
  %215 = load i32, ptr %38, align 4, !tbaa !9
  %216 = zext i32 %215 to i64
  %217 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %218 = call noundef i64 @_ZNKSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %217) #10
  %219 = icmp ult i64 %216, %218
  br i1 %219, label %221, label %220

220:                                              ; preds = %214
  store i32 2, ptr %37, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  br label %478

221:                                              ; preds = %214
  %222 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %223 = load i32, ptr %38, align 4, !tbaa !9
  %224 = zext i32 %223 to i64
  %225 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %222, i64 noundef %224) #10
  %226 = load i32, ptr %225, align 4, !tbaa !11
  switch i32 %226, label %369 [
    i32 26, label %227
    i32 7, label %237
    i32 29, label %473
    i32 14, label %243
    i32 15, label %249
    i32 16, label %255
    i32 17, label %261
    i32 27, label %267
    i32 28, label %274
    i32 2, label %281
    i32 3, label %287
    i32 19, label %293
    i32 4, label %299
    i32 6, label %305
    i32 5, label %363
  ]

227:                                              ; preds = %221
  %228 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %229 = load i32, ptr %38, align 4, !tbaa !9
  %230 = zext i32 %229 to i64
  %231 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %228, i64 noundef %230) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader10appendPathERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %231)
          to label %232 unwind label %233

232:                                              ; preds = %227
  br label %473

233:                                              ; preds = %363, %312, %299, %293, %287, %281, %274, %267, %261, %255, %249, %243, %237, %227
  %234 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %235 = extractvalue { ptr, i32 } %234, 0
  store ptr %235, ptr %12, align 8
  %236 = extractvalue { ptr, i32 } %234, 1
  store i32 %236, ptr %13, align 4
  br label %477

237:                                              ; preds = %221
  %238 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %239 = load i32, ptr %38, align 4, !tbaa !9
  %240 = zext i32 %239 to i64
  %241 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %238, i64 noundef %240) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader11includeFileERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %241)
          to label %242 unwind label %233

242:                                              ; preds = %237
  br label %473

243:                                              ; preds = %221
  %244 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %245 = load i32, ptr %38, align 4, !tbaa !9
  %246 = zext i32 %245 to i64
  %247 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %244, i64 noundef %246) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader19buildRequiredFormatERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %247)
          to label %248 unwind label %233

248:                                              ; preds = %243
  br label %473

249:                                              ; preds = %221
  %250 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %251 = load i32, ptr %38, align 4, !tbaa !9
  %252 = zext i32 %251 to i64
  %253 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %250, i64 noundef %252) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader19buildRequiredSourceERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %253)
          to label %254 unwind label %233

254:                                              ; preds = %249
  br label %473

255:                                              ; preds = %221
  %256 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %257 = load i32, ptr %38, align 4, !tbaa !9
  %258 = zext i32 %257 to i64
  %259 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %256, i64 noundef %258) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader21buildRequiredGeometryERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %259)
          to label %260 unwind label %233

260:                                              ; preds = %255
  br label %473

261:                                              ; preds = %221
  %262 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %263 = load i32, ptr %38, align 4, !tbaa !9
  %264 = zext i32 %263 to i64
  %265 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %262, i64 noundef %264) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader21buildRequiredPipelineERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %265)
          to label %266 unwind label %233

266:                                              ; preds = %261
  br label %473

267:                                              ; preds = %221
  %268 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %269 = load i32, ptr %38, align 4, !tbaa !9
  %270 = zext i32 %269 to i64
  %271 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %268, i64 noundef %270) #10
  %272 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader10moduleCallERKNS0_18VanillaParserSpace7ElementERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %271, ptr noundef nonnull align 8 dereferenceable(32) %272, i1 noundef zeroext false)
          to label %273 unwind label %233

273:                                              ; preds = %267
  br label %473

274:                                              ; preds = %221
  %275 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %276 = load i32, ptr %38, align 4, !tbaa !9
  %277 = zext i32 %276 to i64
  %278 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %275, i64 noundef %277) #10
  %279 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader10moduleCallERKNS0_18VanillaParserSpace7ElementERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %278, ptr noundef nonnull align 8 dereferenceable(32) %279, i1 noundef zeroext true)
          to label %280 unwind label %233

280:                                              ; preds = %274
  br label %473

281:                                              ; preds = %221
  %282 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %283 = load i32, ptr %38, align 4, !tbaa !9
  %284 = zext i32 %283 to i64
  %285 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %282, i64 noundef %284) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader11buildFormatERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %285)
          to label %286 unwind label %233

286:                                              ; preds = %281
  br label %473

287:                                              ; preds = %221
  %288 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %289 = load i32, ptr %38, align 4, !tbaa !9
  %290 = zext i32 %289 to i64
  %291 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %288, i64 noundef %290) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader11buildSourceERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %291)
          to label %292 unwind label %233

292:                                              ; preds = %287
  br label %473

293:                                              ; preds = %221
  %294 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %295 = load i32, ptr %38, align 4, !tbaa !9
  %296 = zext i32 %295 to i64
  %297 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %294, i64 noundef %296) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader13buildGeometryERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %297)
          to label %298 unwind label %233

298:                                              ; preds = %293
  br label %473

299:                                              ; preds = %221
  %300 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %301 = load i32, ptr %38, align 4, !tbaa !9
  %302 = zext i32 %301 to i64
  %303 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %300, i64 noundef %302) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader11buildFilterERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %303)
          to label %304 unwind label %233

304:                                              ; preds = %299
  br label %473

305:                                              ; preds = %221
  %306 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 1
  %307 = load i8, ptr %306, align 8, !tbaa !26, !range !55, !noundef !56
  %308 = trunc i8 %307 to i1
  br i1 %308, label %362, label %309

309:                                              ; preds = %305
  %310 = load ptr, ptr %8, align 8, !tbaa !5
  %311 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %310) #10
  br i1 %311, label %312, label %321

312:                                              ; preds = %309
  %313 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %314 = load i32, ptr %38, align 4, !tbaa !9
  %315 = zext i32 %314 to i64
  %316 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %313, i64 noundef %315) #10
  %317 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %316, i32 0, i32 2
  %318 = load ptr, ptr %8, align 8, !tbaa !5
  %319 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %318, ptr noundef nonnull align 8 dereferenceable(32) %317)
          to label %320 unwind label %233

320:                                              ; preds = %312
  br label %361

321:                                              ; preds = %309
  store i1 true, ptr %43, align 1
  %322 = call ptr @__cxa_allocate_exception(i64 152) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #10
  %323 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef @.str.114, ptr noundef nonnull align 8 dereferenceable(32) %323)
          to label %324 unwind label %339

324:                                              ; preds = %321
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef @.str.115)
          to label %325 unwind label %343

325:                                              ; preds = %324
  %326 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %327 = load i32, ptr %38, align 4, !tbaa !9
  %328 = zext i32 %327 to i64
  %329 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %326, i64 noundef %328) #10
  %330 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %329, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %330)
          to label %331 unwind label %347

331:                                              ; preds = %325
  %332 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %333 = load i32, ptr %38, align 4, !tbaa !9
  %334 = zext i32 %333 to i64
  %335 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %332, i64 noundef %334) #10
  %336 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %335, i32 0, i32 9
  %337 = load i32, ptr %336, align 4, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #10
  store i32 5, ptr %42, align 4, !tbaa !24
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %322, ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef %41, i32 noundef %337, ptr noundef nonnull align 4 dereferenceable(4) %42)
          to label %338 unwind label %351

338:                                              ; preds = %331
  store i1 false, ptr %43, align 1
  invoke void @__cxa_throw(ptr %322, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #11
          to label %581 unwind label %351

339:                                              ; preds = %321
  %340 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %12, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %13, align 4
  br label %357

343:                                              ; preds = %324
  %344 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %12, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %13, align 4
  br label %356

347:                                              ; preds = %325
  %348 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %12, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %13, align 4
  br label %355

351:                                              ; preds = %338, %331
  %352 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %353 = extractvalue { ptr, i32 } %352, 0
  store ptr %353, ptr %12, align 8
  %354 = extractvalue { ptr, i32 } %352, 1
  store i32 %354, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #10
  br label %355

355:                                              ; preds = %351, %347
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #10
  br label %356

356:                                              ; preds = %355, %343
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #10
  br label %357

357:                                              ; preds = %356, %339
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #10
  %358 = load i1, ptr %43, align 1
  br i1 %358, label %359, label %360

359:                                              ; preds = %357
  call void @__cxa_free_exception(ptr %322) #10
  br label %360

360:                                              ; preds = %359, %357
  br label %477

361:                                              ; preds = %320
  br label %362

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

363:                                              ; preds = %362, %221
  %364 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %365 = load i32, ptr %38, align 4, !tbaa !9
  %366 = zext i32 %365 to i64
  %367 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %364, i64 noundef %366) #10
  invoke void @_ZN4Glip7Modules12LayoutLoader13buildPipelineERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %69, ptr noundef nonnull align 8 dereferenceable(164) %367)
          to label %368 unwind label %233

368:                                              ; preds = %363
  br label %473

369:                                              ; preds = %221
  %370 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %371 = load i32, ptr %38, align 4, !tbaa !9
  %372 = zext i32 %371 to i64
  %373 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %370, i64 noundef %372) #10
  %374 = load i32, ptr %373, align 4, !tbaa !11
  %375 = icmp slt i32 %374, 30
  br i1 %375, label %376, label %429

376:                                              ; preds = %369
  store i1 true, ptr %50, align 1
  %377 = call ptr @__cxa_allocate_exception(i64 152) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #10
  %378 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 4
  %379 = load i32, ptr %38, align 4, !tbaa !9
  %380 = zext i32 %379 to i64
  %381 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %378, i64 noundef %380) #10
  %382 = load i32, ptr %381, align 4, !tbaa !11
  %383 = zext i32 %382 to i64
  %384 = getelementptr inbounds [30 x ptr], ptr @_ZN4Glip7Modules12LayoutLoader8keywordsE, i64 0, i64 %383
  %385 = load ptr, ptr %384, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef %385, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %386 unwind label %402

386:                                              ; preds = %376
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef @.str.150, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %387 unwind label %406

387:                                              ; preds = %386
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef @.str.220)
          to label %388 unwind label %410

388:                                              ; preds = %387
  %389 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %390 = load i32, ptr %38, align 4, !tbaa !9
  %391 = zext i32 %390 to i64
  %392 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %389, i64 noundef %391) #10
  %393 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %392, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull align 8 dereferenceable(32) %393)
          to label %394 unwind label %414

394:                                              ; preds = %388
  %395 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %396 = load i32, ptr %38, align 4, !tbaa !9
  %397 = zext i32 %396 to i64
  %398 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %395, i64 noundef %397) #10
  %399 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %398, i32 0, i32 9
  %400 = load i32, ptr %399, align 4, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #10
  store i32 5, ptr %49, align 4, !tbaa !24
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %377, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef %48, i32 noundef %400, ptr noundef nonnull align 4 dereferenceable(4) %49)
          to label %401 unwind label %418

401:                                              ; preds = %394
  store i1 false, ptr %50, align 1
  invoke void @__cxa_throw(ptr %377, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #11
          to label %581 unwind label %418

402:                                              ; preds = %376
  %403 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %404 = extractvalue { ptr, i32 } %403, 0
  store ptr %404, ptr %12, align 8
  %405 = extractvalue { ptr, i32 } %403, 1
  store i32 %405, ptr %13, align 4
  br label %425

406:                                              ; preds = %386
  %407 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %12, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %13, align 4
  br label %424

410:                                              ; preds = %387
  %411 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %12, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %13, align 4
  br label %423

414:                                              ; preds = %388
  %415 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %416 = extractvalue { ptr, i32 } %415, 0
  store ptr %416, ptr %12, align 8
  %417 = extractvalue { ptr, i32 } %415, 1
  store i32 %417, ptr %13, align 4
  br label %422

418:                                              ; preds = %401, %394
  %419 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %420 = extractvalue { ptr, i32 } %419, 0
  store ptr %420, ptr %12, align 8
  %421 = extractvalue { ptr, i32 } %419, 1
  store i32 %421, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #10
  br label %422

422:                                              ; preds = %418, %414
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #10
  br label %423

423:                                              ; preds = %422, %410
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #10
  br label %424

424:                                              ; preds = %423, %406
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #10
  br label %425

425:                                              ; preds = %424, %402
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #10
  %426 = load i1, ptr %50, align 1
  br i1 %426, label %427, label %428

427:                                              ; preds = %425
  call void @__cxa_free_exception(ptr %377) #10
  br label %428

428:                                              ; preds = %427, %425
  br label %477

429:                                              ; preds = %369
  store i1 true, ptr %55, align 1
  %430 = call ptr @__cxa_allocate_exception(i64 152) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #10
  %431 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %432 = load i32, ptr %38, align 4, !tbaa !9
  %433 = zext i32 %432 to i64
  %434 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %431, i64 noundef %433) #10
  %435 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %434, i32 0, i32 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef @.str.221, ptr noundef nonnull align 8 dereferenceable(32) %435)
          to label %436 unwind label %451

436:                                              ; preds = %429
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef @.str.58)
          to label %437 unwind label %455

437:                                              ; preds = %436
  %438 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %439 = load i32, ptr %38, align 4, !tbaa !9
  %440 = zext i32 %439 to i64
  %441 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %438, i64 noundef %440) #10
  %442 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %441, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %442)
          to label %443 unwind label %459

443:                                              ; preds = %437
  %444 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %11, i32 0, i32 1
  %445 = load i32, ptr %38, align 4, !tbaa !9
  %446 = zext i32 %445 to i64
  %447 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %444, i64 noundef %446) #10
  %448 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %447, i32 0, i32 9
  %449 = load i32, ptr %448, align 4, !tbaa !14
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #10
  store i32 5, ptr %54, align 4, !tbaa !24
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %430, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef %53, i32 noundef %449, ptr noundef nonnull align 4 dereferenceable(4) %54)
          to label %450 unwind label %463

450:                                              ; preds = %443
  store i1 false, ptr %55, align 1
  invoke void @__cxa_throw(ptr %430, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #11
          to label %581 unwind label %463

451:                                              ; preds = %429
  %452 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %12, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %13, align 4
  br label %469

455:                                              ; preds = %436
  %456 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %12, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %13, align 4
  br label %468

459:                                              ; preds = %437
  %460 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %12, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %13, align 4
  br label %467

463:                                              ; preds = %450, %443
  %464 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %12, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #10
  br label %467

467:                                              ; preds = %463, %459
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #10
  br label %468

468:                                              ; preds = %467, %455
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #10
  br label %469

469:                                              ; preds = %468, %451
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #10
  %470 = load i1, ptr %55, align 1
  br i1 %470, label %471, label %472

471:                                              ; preds = %469
  call void @__cxa_free_exception(ptr %430) #10
  br label %472

472:                                              ; preds = %471, %469
  br label %477

473:                                              ; preds = %368, %304, %298, %292, %286, %280, %273, %266, %260, %254, %248, %242, %232, %221
  br label %474

474:                                              ; preds = %473
  %475 = load i32, ptr %38, align 4, !tbaa !9
  %476 = add i32 %475, 1
  store i32 %476, ptr %38, align 4, !tbaa !9
  br label %214, !llvm.loop !57

477:                                              ; preds = %472, %428, %360, %233
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  br label %526

478:                                              ; preds = %220
  %479 = load ptr, ptr %8, align 8, !tbaa !5
  %480 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %479) #10
  br i1 %480, label %481, label %522

481:                                              ; preds = %478
  %482 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %69, i32 0, i32 1
  %483 = load i8, ptr %482, align 8, !tbaa !26, !range !55, !noundef !56
  %484 = trunc i8 %483 to i1
  br i1 %484, label %522, label %485

485:                                              ; preds = %481
  store i1 true, ptr %62, align 1
  %486 = call ptr @__cxa_allocate_exception(i64 152) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #10
  %487 = load ptr, ptr getelementptr inbounds ([30 x ptr], ptr @_ZN4Glip7Modules12LayoutLoader8keywordsE, i64 0, i64 6), align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef %487, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %488 unwind label %495

488:                                              ; preds = %485
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef @.str.222, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %489 unwind label %499

489:                                              ; preds = %488
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef @.str.223)
          to label %490 unwind label %503

490:                                              ; preds = %489
  %491 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK4Glip7Modules18VanillaParserSpace13VanillaParser13getSourceNameB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(56) %11)
          to label %492 unwind label %507

492:                                              ; preds = %490
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(32) %491)
          to label %493 unwind label %507

493:                                              ; preds = %492
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #10
  store i32 5, ptr %61, align 4, !tbaa !24
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %486, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef %60, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %61)
          to label %494 unwind label %511

494:                                              ; preds = %493
  store i1 false, ptr %62, align 1
  invoke void @__cxa_throw(ptr %486, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #11
          to label %581 unwind label %511

495:                                              ; preds = %485
  %496 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %497 = extractvalue { ptr, i32 } %496, 0
  store ptr %497, ptr %12, align 8
  %498 = extractvalue { ptr, i32 } %496, 1
  store i32 %498, ptr %13, align 4
  br label %518

499:                                              ; preds = %488
  %500 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %501 = extractvalue { ptr, i32 } %500, 0
  store ptr %501, ptr %12, align 8
  %502 = extractvalue { ptr, i32 } %500, 1
  store i32 %502, ptr %13, align 4
  br label %517

503:                                              ; preds = %489
  %504 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %12, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %13, align 4
  br label %516

507:                                              ; preds = %492, %490
  %508 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %12, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %13, align 4
  br label %515

511:                                              ; preds = %494, %493
  %512 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %513 = extractvalue { ptr, i32 } %512, 0
  store ptr %513, ptr %12, align 8
  %514 = extractvalue { ptr, i32 } %512, 1
  store i32 %514, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #10
  br label %515

515:                                              ; preds = %511, %507
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #10
  br label %516

516:                                              ; preds = %515, %503
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #10
  br label %517

517:                                              ; preds = %516, %499
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #10
  br label %518

518:                                              ; preds = %517, %495
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #10
  %519 = load i1, ptr %62, align 1
  br i1 %519, label %520, label %521

520:                                              ; preds = %518
  call void @__cxa_free_exception(ptr %486) #10
  br label %521

521:                                              ; preds = %520, %518
  br label %526

522:                                              ; preds = %481, %478
  store i32 0, ptr %37, align 4
  br label %523

523:                                              ; preds = %522, %209
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  call void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %11) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %11) #10
  %524 = load i32, ptr %37, align 4
  switch i32 %524, label %581 [
    i32 0, label %525
    i32 1, label %572
  ]

525:                                              ; preds = %523
  br label %572

526:                                              ; preds = %521, %477, %212, %144
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  br label %527

527:                                              ; preds = %526, %140
  call void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %11) #10
  br label %528

528:                                              ; preds = %527, %136
  call void @llvm.lifetime.end.p0(i64 56, ptr %11) #10
  br label %529

529:                                              ; preds = %528
  %530 = load i32, ptr %13, align 4
  %531 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTIN4Glip9ExceptionE) #10
  %532 = icmp eq i32 %530, %531
  br i1 %532, label %533, label %573

533:                                              ; preds = %529
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #10
  %534 = load ptr, ptr %12, align 8
  %535 = call ptr @__cxa_begin_catch(ptr %534) #10
  store ptr %535, ptr %63, align 8
  call void @llvm.lifetime.start.p0(i64 152, ptr %64) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef @.str.224, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %536 unwind label %547

536:                                              ; preds = %533
  %537 = load ptr, ptr %9, align 8, !tbaa !5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 8 dereferenceable(32) %537)
          to label %538 unwind label %551

538:                                              ; preds = %536
  %539 = load ptr, ptr %10, align 8, !tbaa !5
  %540 = load i32, ptr %539, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #10
  store i32 5, ptr %68, align 4, !tbaa !24
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %64, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef %67, i32 noundef %540, ptr noundef nonnull align 4 dereferenceable(4) %68)
          to label %541 unwind label %555

541:                                              ; preds = %538
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #10
  %542 = load ptr, ptr %63, align 8, !tbaa !5
  %543 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %64, ptr noundef nonnull align 8 dereferenceable(152) %542)
          to label %544 unwind label %561

544:                                              ; preds = %541
  %545 = call ptr @__cxa_allocate_exception(i64 152) #10
  invoke void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %545, ptr noundef nonnull align 8 dereferenceable(152) %64)
          to label %546 unwind label %565

546:                                              ; preds = %544
  invoke void @__cxa_throw(ptr %545, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #11
          to label %581 unwind label %561

547:                                              ; preds = %533
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %12, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %13, align 4
  br label %560

551:                                              ; preds = %536
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %12, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %13, align 4
  br label %559

555:                                              ; preds = %538
  %556 = landingpad { ptr, i32 }
          cleanup
  %557 = extractvalue { ptr, i32 } %556, 0
  store ptr %557, ptr %12, align 8
  %558 = extractvalue { ptr, i32 } %556, 1
  store i32 %558, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #10
  br label %559

559:                                              ; preds = %555, %551
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #10
  br label %560

560:                                              ; preds = %559, %547
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #10
  br label %570

561:                                              ; preds = %546, %541
  %562 = landingpad { ptr, i32 }
          cleanup
  %563 = extractvalue { ptr, i32 } %562, 0
  store ptr %563, ptr %12, align 8
  %564 = extractvalue { ptr, i32 } %562, 1
  store i32 %564, ptr %13, align 4
  br label %569

565:                                              ; preds = %544
  %566 = landingpad { ptr, i32 }
          cleanup
  %567 = extractvalue { ptr, i32 } %566, 0
  store ptr %567, ptr %12, align 8
  %568 = extractvalue { ptr, i32 } %566, 1
  store i32 %568, ptr %13, align 4
  call void @__cxa_free_exception(ptr %545) #10
  br label %569

569:                                              ; preds = %565, %561
  call void @_ZN4Glip9ExceptionD1Ev(ptr noundef nonnull align 8 dereferenceable(152) %64) #10
  br label %570

570:                                              ; preds = %569, %560
  call void @llvm.lifetime.end.p0(i64 152, ptr %64) #10
  invoke void @__cxa_end_catch()
          to label %571 unwind label %578

571:                                              ; preds = %570
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #10
  br label %573

572:                                              ; preds = %525, %523
  ret void

573:                                              ; preds = %571, %529
  %574 = load ptr, ptr %12, align 8
  %575 = load i32, ptr %13, align 4
  %576 = insertvalue { ptr, i32 } poison, ptr %574, 0
  %577 = insertvalue { ptr, i32 } %576, i32 %575, 1
  resume { ptr, i32 } %577

578:                                              ; preds = %570
  %579 = landingpad { ptr, i32 }
          catch ptr null
  %580 = extractvalue { ptr, i32 } %579, 0
  call void @__clang_call_terminate(ptr %580) #12
  unreachable

581:                                              ; preds = %546, %523, %494, %450, %401, %338, %135
  unreachable
}

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

declare void @__cxa_end_catch()

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN4Glip7Modules12LayoutLoader11checkUniqueERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624), ptr noundef nonnull align 8 dereferenceable(164)) #3 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4Glip7Modules12LayoutLoader10moduleCallERKNS0_18VanillaParserSpace7ElementERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(624), ptr noundef nonnull align 8 dereferenceable(164), ptr noundef nonnull align 8 dereferenceable(32), i1 noundef zeroext) #3 align 2

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #0 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_(ptr, ptr, ptr noundef nonnull align 4 dereferenceable(4)) #4

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS3_SaIS3_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_(ptr, ptr) #4

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK4Glip7Modules18VanillaParserSpace13VanillaParser13getSourceNameB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(56)) #5

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

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

!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, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_ZTSN4Glip7Modules19LayoutLoaderKeywordE", !7, i64 0}
!13 = !{i64 0, i64 8, !5}
!14 = !{!15, !10, i64 156}
!15 = !{!"_ZTSN4Glip7Modules18VanillaParserSpace7ElementE", !16, i64 0, !16, i64 32, !16, i64 64, !16, i64 96, !19, i64 128, !23, i64 152, !23, i64 153, !23, i64 154, !10, i64 156, !10, i64 160}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !17, i64 0, !18, i64 8, !7, i64 16}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!23 = !{!"bool", !7, i64 0}
!24 = !{!25, !25, i64 0}
!25 = !{!"_ZTSN4Glip9Exception4TypeE", !7, i64 0}
!26 = !{!27, !23, i64 8}
!27 = !{!"_ZTSN4Glip7Modules12LayoutLoaderE", !23, i64 8, !16, i64 16, !19, i64 48, !28, i64 72, !19, i64 96, !32, i64 120, !40, i64 168, !43, i64 216, !46, i64 264, !49, i64 312, !19, i64 360, !32, i64 384, !40, i64 432, !43, i64 480, !49, i64 528, !52, i64 576}
!28 = !{!"_ZTSSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!32 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !33, i64 0}
!33 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip6CoreGL16HdlTextureFormatEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !34, i64 0}
!34 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip6CoreGL16HdlTextureFormatEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !35, i64 0, !37, i64 8}
!35 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !36, i64 0}
!36 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!37 = !{!"_ZTSSt15_Rb_tree_header", !38, i64 0, !18, i64 32}
!38 = !{!"_ZTSSt18_Rb_tree_node_base", !39, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!39 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!40 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !41, i64 0}
!41 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip6CoreGL12ShaderSourceEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !42, i64 0}
!42 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip6CoreGL12ShaderSourceEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !35, i64 0, !37, i64 8}
!43 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !44, i64 0}
!44 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline13GeometryModelEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !45, i64 0}
!45 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline13GeometryModelEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !35, i64 0, !37, i64 8}
!46 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !47, i64 0}
!47 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline12FilterLayoutEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !48, i64 0}
!48 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline12FilterLayoutEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !35, i64 0, !37, i64 8}
!49 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !50, i64 0}
!50 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline14PipelineLayoutEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !51, i64 0}
!51 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline14PipelineLayoutEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !35, i64 0, !37, i64 8}
!52 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN4Glip7Modules18LayoutLoaderModuleESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !53, i64 0}
!53 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN4Glip7Modules18LayoutLoaderModuleEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !54, i64 0}
!54 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN4Glip7Modules18LayoutLoaderModuleEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !35, i64 0, !37, i64 8}
!55 = !{i8 0, i8 2}
!56 = !{}
!57 = distinct !{!57, !58}
!58 = !{!"llvm.loop.mustprogress"}


; 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.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.Glip::Modules::VanillaParserSpace::VanillaParser" = type { %"class.std::__cxx11::basic_string", %"class.std::vector.44" }
%"class.std::vector.44" = type { %"struct.std::_Vector_base.45" }
%"struct.std::_Vector_base.45" = type { %"struct.std::_Vector_base<Glip::Modules::VanillaParserSpace::Element, std::allocator<Glip::Modules::VanillaParserSpace::Element>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::Modules::VanillaParserSpace::Element, std::allocator<Glip::Modules::VanillaParserSpace::Element>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::Modules::VanillaParserSpace::Element, std::allocator<Glip::Modules::VanillaParserSpace::Element>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::Modules::VanillaParserSpace::Element, std::allocator<Glip::Modules::VanillaParserSpace::Element>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.156" = type { ptr }
%"class.std::allocator" = type { i8 }
%"class.Glip::Exception" = type { %"class.std::exception", i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", i8, i8, %"class.std::vector.51" }
%"class.std::exception" = type { ptr }
%"class.std::vector.51" = type { %"struct.std::_Vector_base.52" }
%"struct.std::_Vector_base.52" = type { %"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@_ZN4Glip7Modules12LayoutLoader8keywordsE = external dso_local local_unnamed_addr global [30 x ptr], align 16
@_ZTIN4Glip9ExceptionE = external constant ptr
@.str.58 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [53 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

declare ptr @__cxa_begin_catch(ptr) local_unnamed_addr

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_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 #4

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

declare void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #5

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0 align 2

declare noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKS0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(152)) local_unnamed_addr #5

declare void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(152)) 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 #3 align 2

declare void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #5

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Glip7Modules12LayoutLoader7processERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS7_S9_RKi(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr nocapture noundef nonnull readonly align 4 dereferenceable(4) %4) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %6 = alloca %"class.Glip::Modules::VanillaParserSpace::VanillaParser", align 8
  %7 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %8 = alloca i32, align 4
  %9 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %10 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %11 = alloca i32, align 4
  %12 = alloca %"class.__gnu_cxx::__normal_iterator.156", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator", align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca i32, align 4
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca i32, align 4
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::allocator", align 1
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca i32, align 4
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca i32, align 4
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator", align 1
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca i32, align 4
  %39 = alloca %"class.Glip::Exception", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::allocator", align 1
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %6) #9
  %44 = load i32, ptr %4, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i(ptr noundef nonnull align 8 dereferenceable(56) %6, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %3, i32 noundef %44)
          to label %45 unwind label %76

45:                                               ; preds = %5
  %46 = getelementptr inbounds i8, ptr %6, i64 32
  %47 = getelementptr inbounds i8, ptr %0, i64 72
  invoke void @_ZN4Glip7Modules12LayoutLoader8classifyERKSt6vectorINS0_18VanillaParserSpace7ElementESaIS4_EERS2_INS0_19LayoutLoaderKeywordESaIS9_EE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(24) %46, ptr noundef nonnull align 8 dereferenceable(24) %47)
          to label %48 unwind label %78

48:                                               ; preds = %45
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #9
  %49 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  %50 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #9
  store i32 29, ptr %8, align 4, !tbaa !9
  %51 = invoke ptr @_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_(ptr %49, ptr %50, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %52 unwind label %80

52:                                               ; preds = %48
  store ptr %51, ptr %7, align 8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #9
  %53 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  store ptr %53, ptr %9, align 8
  %54 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %9) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #9
  br i1 %54, label %55, label %108

55:                                               ; preds = %52
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #9
  %56 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS3_SaIS3_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %7, i64 noundef 1) #9
  %57 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #9
  store i32 29, ptr %11, align 4, !tbaa !9
  %58 = invoke ptr @_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_(ptr %56, ptr %57, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %59 unwind label %82

59:                                               ; preds = %55
  store ptr %58, ptr %10, align 8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #9
  %60 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  store ptr %60, ptr %12, align 8
  %61 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS3_SaIS3_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #9
  %62 = call ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  br i1 %61, label %63, label %99

63:                                               ; preds = %59
  %.sroa.036.0.copyload = load ptr, ptr %10, align 8, !tbaa !11
  %64 = invoke noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_(ptr %62, ptr %.sroa.036.0.copyload)
          to label %65 unwind label %84

65:                                               ; preds = %63
  %66 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %64) #9
  %67 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #9
  %68 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN4Glip7Modules12LayoutLoader8keywordsE, i64 232), align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef %68, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %69 unwind label %.thread

69:                                               ; preds = %65
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull @.str.218, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %70 unwind label %87

70:                                               ; preds = %69
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.219)
          to label %71 unwind label %89

71:                                               ; preds = %70
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %72 unwind label %91

72:                                               ; preds = %71
  %73 = getelementptr inbounds i8, ptr %66, i64 156
  %74 = load i32, ptr %73, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #9
  store i32 5, ptr %18, align 4, !tbaa !23
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %67, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull %17, i32 noundef %74, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %75 unwind label %93

75:                                               ; preds = %72
  invoke void @__cxa_throw(ptr nonnull %67, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %288 unwind label %93

76:                                               ; preds = %5
  %77 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %257

78:                                               ; preds = %45
  %79 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %256

80:                                               ; preds = %48
  %81 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #9
  br label %255

82:                                               ; preds = %55
  %83 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #9
  br label %107

84:                                               ; preds = %63
  %85 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %107

.thread:                                          ; preds = %65
  %86 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  br label %98

87:                                               ; preds = %69
  %88 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %97

89:                                               ; preds = %70
  %90 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %96

91:                                               ; preds = %71
  %92 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %95

93:                                               ; preds = %75, %72
  %.0109 = phi i1 [ false, %75 ], [ true, %72 ]
  %94 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #9
  br label %95

95:                                               ; preds = %93, %91
  %.1110 = phi i1 [ %.0109, %93 ], [ true, %91 ]
  %.pn133 = phi { ptr, i32 } [ %94, %93 ], [ %92, %91 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  br label %96

96:                                               ; preds = %95, %89
  %.2111 = phi i1 [ %.1110, %95 ], [ true, %89 ]
  %.pn133.pn = phi { ptr, i32 } [ %.pn133, %95 ], [ %90, %89 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  br label %97

97:                                               ; preds = %87, %96
  %.3112 = phi i1 [ %.2111, %96 ], [ true, %87 ]
  %.pn133.pn.pn = phi { ptr, i32 } [ %.pn133.pn, %96 ], [ %88, %87 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  br i1 %.3112, label %98, label %107

98:                                               ; preds = %.thread, %97
  %.pn133.pn.pn.pn151 = phi { ptr, i32 } [ %86, %.thread ], [ %.pn133.pn.pn, %97 ]
  call void @__cxa_free_exception(ptr %67) #9
  br label %107

99:                                               ; preds = %59
  %.sroa.0.0.copyload = load ptr, ptr %7, align 8, !tbaa !11
  %100 = invoke noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_(ptr %62, ptr %.sroa.0.0.copyload)
          to label %101 unwind label %104

101:                                              ; preds = %99
  %102 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %100) #9
  %103 = invoke noundef zeroext i1 @_ZN4Glip7Modules12LayoutLoader11checkUniqueERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %102)
          to label %106 unwind label %104

104:                                              ; preds = %101, %99
  %105 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %107

106:                                              ; preds = %101
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #9
  br i1 %103, label %108, label %254

107:                                              ; preds = %84, %98, %97, %104, %82
  %.pn133.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %105, %104 ], [ %83, %82 ], [ %.pn133.pn.pn.pn151, %98 ], [ %.pn133.pn.pn, %97 ], [ %85, %84 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #9
  br label %255

108:                                              ; preds = %106, %52
  %109 = call noundef i64 @_ZNKSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  %.not = icmp eq i64 %109, 0
  br i1 %.not, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %108
  %110 = getelementptr inbounds i8, ptr %0, i64 8
  br label %112

._crit_edge:                                      ; preds = %222, %108
  %111 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %2) #9
  br i1 %111, label %227, label %254

112:                                              ; preds = %.lr.ph, %222
  %113 = phi i64 [ 0, %.lr.ph ], [ %224, %222 ]
  %.078177 = phi i32 [ 0, %.lr.ph ], [ %223, %222 ]
  %114 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %113) #9
  %115 = load i32, ptr %114, align 4, !tbaa !9
  switch i32 %115, label %170 [
    i32 26, label %116
    i32 7, label %120
    i32 29, label %222
    i32 14, label %122
    i32 15, label %124
    i32 16, label %126
    i32 17, label %128
    i32 27, label %.invoke
    i32 28, label %130
    i32 2, label %133
    i32 3, label %135
    i32 19, label %137
    i32 4, label %139
    i32 6, label %141
    i32 5, label %168
  ]

116:                                              ; preds = %112
  %117 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader10appendPathERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %117)
          to label %222 unwind label %118

118:                                              ; preds = %.invoke, %168, %146, %139, %137, %135, %133, %128, %126, %124, %122, %120, %116
  %119 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %255

120:                                              ; preds = %112
  %121 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader11includeFileERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %121)
          to label %222 unwind label %118

122:                                              ; preds = %112
  %123 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader19buildRequiredFormatERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %123)
          to label %222 unwind label %118

124:                                              ; preds = %112
  %125 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader19buildRequiredSourceERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %125)
          to label %222 unwind label %118

126:                                              ; preds = %112
  %127 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader21buildRequiredGeometryERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %127)
          to label %222 unwind label %118

128:                                              ; preds = %112
  %129 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader21buildRequiredPipelineERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %129)
          to label %222 unwind label %118

130:                                              ; preds = %112
  br label %.invoke

.invoke:                                          ; preds = %112, %130
  %131 = phi i1 [ true, %130 ], [ false, %112 ]
  %132 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader10moduleCallERKNS0_18VanillaParserSpace7ElementERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %132, ptr noundef nonnull align 8 dereferenceable(32) %2, i1 noundef zeroext %131)
          to label %222 unwind label %118

133:                                              ; preds = %112
  %134 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader11buildFormatERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %134)
          to label %222 unwind label %118

135:                                              ; preds = %112
  %136 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader11buildSourceERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %136)
          to label %222 unwind label %118

137:                                              ; preds = %112
  %138 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader13buildGeometryERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %138)
          to label %222 unwind label %118

139:                                              ; preds = %112
  %140 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader11buildFilterERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %140)
          to label %222 unwind label %118

141:                                              ; preds = %112
  %142 = load i8, ptr %110, align 8, !tbaa !25, !range !54, !noundef !55
  %143 = trunc nuw i8 %142 to i1
  br i1 %143, label %168, label %144

144:                                              ; preds = %141
  %145 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %2) #9
  br i1 %145, label %146, label %150

146:                                              ; preds = %144
  %147 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  %148 = getelementptr inbounds i8, ptr %147, i64 64
  %149 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(32) %148)
          to label %168 unwind label %118

150:                                              ; preds = %144
  %151 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull @.str.114, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %152 unwind label %.thread152

152:                                              ; preds = %150
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str.115)
          to label %153 unwind label %.thread156

153:                                              ; preds = %152
  %154 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %154)
          to label %155 unwind label %162

155:                                              ; preds = %153
  %156 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  %157 = getelementptr inbounds i8, ptr %156, i64 156
  %158 = load i32, ptr %157, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #9
  store i32 5, ptr %22, align 4, !tbaa !23
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %151, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull %21, i32 noundef %158, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %159 unwind label %164

159:                                              ; preds = %155
  invoke void @__cxa_throw(ptr nonnull %151, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %288 unwind label %164

.thread152:                                       ; preds = %150
  %160 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #9
  br label %167

.thread156:                                       ; preds = %152
  %161 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #9
  br label %167

162:                                              ; preds = %153
  %163 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %166

164:                                              ; preds = %159, %155
  %.074 = phi i1 [ false, %159 ], [ true, %155 ]
  %165 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #9
  br label %166

166:                                              ; preds = %162, %164
  %.pn119 = phi { ptr, i32 } [ %165, %164 ], [ %163, %162 ]
  %.175 = phi i1 [ %.074, %164 ], [ true, %162 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #9
  br i1 %.175, label %167, label %255

167:                                              ; preds = %.thread156, %.thread152, %166
  %.pn119.pn.pn155 = phi { ptr, i32 } [ %160, %.thread152 ], [ %.pn119, %166 ], [ %161, %.thread156 ]
  call void @__cxa_free_exception(ptr %151) #9
  br label %255

168:                                              ; preds = %141, %146, %112
  %169 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZN4Glip7Modules12LayoutLoader13buildPipelineERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %169)
          to label %222 unwind label %118

170:                                              ; preds = %112
  %171 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %113) #9
  %172 = load i32, ptr %171, align 4, !tbaa !9
  %173 = icmp slt i32 %172, 30
  %174 = call ptr @__cxa_allocate_exception(i64 152) #9
  br i1 %173, label %175, label %203

175:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #9
  %176 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %113) #9
  %177 = load i32, ptr %176, align 4, !tbaa !9
  %178 = zext i32 %177 to i64
  %179 = getelementptr inbounds [30 x ptr], ptr @_ZN4Glip7Modules12LayoutLoader8keywordsE, i64 0, i64 %178
  %180 = load ptr, ptr %179, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef %180, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %181 unwind label %.thread159

181:                                              ; preds = %175
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull @.str.150, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %182 unwind label %191

182:                                              ; preds = %181
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.220)
          to label %183 unwind label %193

183:                                              ; preds = %182
  %184 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %184)
          to label %185 unwind label %195

185:                                              ; preds = %183
  %186 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  %187 = getelementptr inbounds i8, ptr %186, i64 156
  %188 = load i32, ptr %187, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #9
  store i32 5, ptr %28, align 4, !tbaa !23
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %174, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull %27, i32 noundef %188, ptr noundef nonnull align 4 dereferenceable(4) %28)
          to label %189 unwind label %197

189:                                              ; preds = %185
  invoke void @__cxa_throw(ptr nonnull %174, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %288 unwind label %197

.thread159:                                       ; preds = %175
  %190 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #9
  br label %202

191:                                              ; preds = %181
  %192 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %201

193:                                              ; preds = %182
  %194 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %200

195:                                              ; preds = %183
  %196 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %199

197:                                              ; preds = %189, %185
  %.069 = phi i1 [ false, %189 ], [ true, %185 ]
  %198 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  br label %199

199:                                              ; preds = %197, %195
  %.pn127 = phi { ptr, i32 } [ %198, %197 ], [ %196, %195 ]
  %.170 = phi i1 [ %.069, %197 ], [ true, %195 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #9
  br label %200

200:                                              ; preds = %199, %193
  %.pn127.pn = phi { ptr, i32 } [ %.pn127, %199 ], [ %194, %193 ]
  %.271 = phi i1 [ %.170, %199 ], [ true, %193 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #9
  br label %201

201:                                              ; preds = %191, %200
  %.pn127.pn.pn = phi { ptr, i32 } [ %.pn127.pn, %200 ], [ %192, %191 ]
  %.372 = phi i1 [ %.271, %200 ], [ true, %191 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #9
  br i1 %.372, label %202, label %255

202:                                              ; preds = %.thread159, %201
  %.pn127.pn.pn.pn162 = phi { ptr, i32 } [ %190, %.thread159 ], [ %.pn127.pn.pn, %201 ]
  call void @__cxa_free_exception(ptr %174) #9
  br label %255

203:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #9
  %204 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  %205 = getelementptr inbounds i8, ptr %204, i64 32
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull @.str.221, ptr noundef nonnull align 8 dereferenceable(32) %205)
          to label %206 unwind label %.thread163

206:                                              ; preds = %203
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.58)
          to label %207 unwind label %.thread167

207:                                              ; preds = %206
  %208 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(32) %208)
          to label %209 unwind label %216

209:                                              ; preds = %207
  %210 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %113) #9
  %211 = getelementptr inbounds i8, ptr %210, i64 156
  %212 = load i32, ptr %211, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #9
  store i32 5, ptr %32, align 4, !tbaa !23
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %174, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull %31, i32 noundef %212, ptr noundef nonnull align 4 dereferenceable(4) %32)
          to label %213 unwind label %218

213:                                              ; preds = %209
  invoke void @__cxa_throw(ptr nonnull %174, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %288 unwind label %218

.thread163:                                       ; preds = %203
  %214 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #9
  br label %221

.thread167:                                       ; preds = %206
  %215 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #9
  br label %221

216:                                              ; preds = %207
  %217 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %220

218:                                              ; preds = %213, %209
  %.065 = phi i1 [ false, %213 ], [ true, %209 ]
  %219 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  br label %220

220:                                              ; preds = %216, %218
  %.pn123 = phi { ptr, i32 } [ %219, %218 ], [ %217, %216 ]
  %.166 = phi i1 [ %.065, %218 ], [ true, %216 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #9
  br i1 %.166, label %221, label %255

221:                                              ; preds = %.thread167, %.thread163, %220
  %.pn123.pn.pn166 = phi { ptr, i32 } [ %214, %.thread163 ], [ %.pn123, %220 ], [ %215, %.thread167 ]
  call void @__cxa_free_exception(ptr %174) #9
  br label %255

222:                                              ; preds = %.invoke, %112, %116, %120, %122, %124, %126, %128, %133, %135, %137, %139, %168
  %223 = add i32 %.078177, 1
  %224 = zext i32 %223 to i64
  %225 = call noundef i64 @_ZNKSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %47) #9
  %226 = icmp ugt i64 %225, %224
  br i1 %226, label %112, label %._crit_edge, !llvm.loop !56

227:                                              ; preds = %._crit_edge
  %228 = getelementptr inbounds i8, ptr %0, i64 8
  %229 = load i8, ptr %228, align 8, !tbaa !25, !range !54, !noundef !55
  %230 = trunc nuw i8 %229 to i1
  br i1 %230, label %254, label %231

231:                                              ; preds = %227
  %232 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #9
  %233 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN4Glip7Modules12LayoutLoader8keywordsE, i64 48), align 16, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef %233, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %234 unwind label %.thread170

234:                                              ; preds = %231
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull @.str.222, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %235 unwind label %242

235:                                              ; preds = %234
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull @.str.223)
          to label %236 unwind label %244

236:                                              ; preds = %235
  %237 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK4Glip7Modules18VanillaParserSpace13VanillaParser13getSourceNameB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(56) %6)
          to label %238 unwind label %246

238:                                              ; preds = %236
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull align 8 dereferenceable(32) %237)
          to label %239 unwind label %246

239:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #9
  store i32 5, ptr %38, align 4, !tbaa !23
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %232, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull %37, i32 noundef 1, ptr noundef nonnull align 4 dereferenceable(4) %38)
          to label %240 unwind label %248

240:                                              ; preds = %239
  invoke void @__cxa_throw(ptr nonnull %232, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %288 unwind label %248

.thread170:                                       ; preds = %231
  %241 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #9
  br label %253

242:                                              ; preds = %234
  %243 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %252

244:                                              ; preds = %235
  %245 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %251

246:                                              ; preds = %238, %236
  %247 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %250

248:                                              ; preds = %240, %239
  %.060 = phi i1 [ false, %240 ], [ true, %239 ]
  %249 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #9
  br label %250

250:                                              ; preds = %248, %246
  %.pn = phi { ptr, i32 } [ %249, %248 ], [ %247, %246 ]
  %.161 = phi i1 [ %.060, %248 ], [ true, %246 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #9
  br label %251

251:                                              ; preds = %250, %244
  %.pn.pn = phi { ptr, i32 } [ %.pn, %250 ], [ %245, %244 ]
  %.262 = phi i1 [ %.161, %250 ], [ true, %244 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  br label %252

252:                                              ; preds = %242, %251
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %251 ], [ %243, %242 ]
  %.363 = phi i1 [ %.262, %251 ], [ true, %242 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #9
  br i1 %.363, label %253, label %255

253:                                              ; preds = %.thread170, %252
  %.pn.pn.pn.pn173 = phi { ptr, i32 } [ %241, %.thread170 ], [ %.pn.pn.pn, %252 ]
  call void @__cxa_free_exception(ptr %232) #9
  br label %255

254:                                              ; preds = %._crit_edge, %227, %106
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #9
  call void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %6) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %6) #9
  ret void

255:                                              ; preds = %118, %167, %166, %202, %201, %221, %220, %252, %253, %107, %80
  %.pn133.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn, %107 ], [ %.pn.pn.pn.pn173, %253 ], [ %.pn.pn.pn, %252 ], [ %81, %80 ], [ %.pn127.pn.pn.pn162, %202 ], [ %.pn127.pn.pn, %201 ], [ %.pn123.pn.pn166, %221 ], [ %.pn123, %220 ], [ %119, %118 ], [ %.pn119.pn.pn155, %167 ], [ %.pn119, %166 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #9
  br label %256

256:                                              ; preds = %255, %78
  %.pn133.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn.pn, %255 ], [ %79, %78 ]
  call void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %6) #9
  br label %257

257:                                              ; preds = %256, %76
  %.pn133.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn.pn.pn, %256 ], [ %77, %76 ]
  %.23103 = extractvalue { ptr, i32 } %.pn133.pn.pn.pn.pn.pn.pn.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %6) #9
  %258 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTIN4Glip9ExceptionE) #9
  %259 = icmp eq i32 %.23103, %258
  br i1 %259, label %260, label %284

260:                                              ; preds = %257
  %.23 = extractvalue { ptr, i32 } %.pn133.pn.pn.pn.pn.pn.pn.pn.pn, 0
  %261 = call ptr @__cxa_begin_catch(ptr %.23) #9
  call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %39) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull @.str.224, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %262 unwind label %270

262:                                              ; preds = %260
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %263 unwind label %272

263:                                              ; preds = %262
  %264 = load i32, ptr %4, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #9
  store i32 5, ptr %43, align 4, !tbaa !23
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %39, ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull %42, i32 noundef %264, ptr noundef nonnull align 4 dereferenceable(4) %43)
          to label %265 unwind label %274

265:                                              ; preds = %263
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #9
  %266 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %39, ptr noundef nonnull align 8 dereferenceable(152) %261)
          to label %267 unwind label %278

267:                                              ; preds = %265
  %268 = call ptr @__cxa_allocate_exception(i64 152) #9
  invoke void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %268, ptr noundef nonnull align 8 dereferenceable(152) %39)
          to label %269 unwind label %280

269:                                              ; preds = %267
  invoke void @__cxa_throw(ptr nonnull %268, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %288 unwind label %278

270:                                              ; preds = %260
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %277

272:                                              ; preds = %262
  %273 = landingpad { ptr, i32 }
          cleanup
  br label %276

274:                                              ; preds = %263
  %275 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #9
  br label %276

276:                                              ; preds = %274, %272
  %.pn143 = phi { ptr, i32 } [ %275, %274 ], [ %273, %272 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #9
  br label %277

277:                                              ; preds = %276, %270
  %.pn143.pn = phi { ptr, i32 } [ %.pn143, %276 ], [ %271, %270 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #9
  br label %283

278:                                              ; preds = %269, %265
  %279 = landingpad { ptr, i32 }
          cleanup
  br label %282

280:                                              ; preds = %267
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %268) #9
  br label %282

282:                                              ; preds = %280, %278
  %.pn146 = phi { ptr, i32 } [ %279, %278 ], [ %281, %280 ]
  call void @_ZN4Glip9ExceptionD1Ev(ptr noundef nonnull align 8 dereferenceable(152) %39) #9
  br label %283

283:                                              ; preds = %282, %277
  %.pn146.pn = phi { ptr, i32 } [ %.pn146, %282 ], [ %.pn143.pn, %277 ]
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %39) #9
  invoke void @__cxa_end_catch()
          to label %284 unwind label %285

284:                                              ; preds = %283, %257
  %.merged = phi { ptr, i32 } [ %.pn133.pn.pn.pn.pn.pn.pn.pn.pn, %257 ], [ %.pn146.pn, %283 ]
  resume { ptr, i32 } %.merged

285:                                              ; preds = %283
  %286 = landingpad { ptr, i32 }
          catch ptr null
  %287 = extractvalue { ptr, i32 } %286, 0
  call void @__clang_call_terminate(ptr %287) #11
  unreachable

288:                                              ; preds = %269, %240, %213, %189, %159, %75
  unreachable
}

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

declare void @__cxa_end_catch() local_unnamed_addr

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN4Glip7Modules12LayoutLoader11checkUniqueERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624), ptr noundef nonnull align 8 dereferenceable(164)) local_unnamed_addr #3 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4Glip7Modules12LayoutLoader10moduleCallERKNS0_18VanillaParserSpace7ElementERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(624), ptr noundef nonnull align 8 dereferenceable(164), ptr noundef nonnull align 8 dereferenceable(32), i1 noundef zeroext) local_unnamed_addr #3 align 2

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEES4_ET_SA_SA_RKT0_(ptr, ptr, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS3_SaIS3_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i64 @_ZSt8distanceIN9__gnu_cxx17__normal_iteratorIPN4Glip7Modules19LayoutLoaderKeywordESt6vectorIS4_SaIS4_EEEEENSt15iterator_traitsIT_E15difference_typeESB_SB_(ptr, ptr) local_unnamed_addr #4

declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNK4Glip7Modules18VanillaParserSpace13VanillaParser13getSourceNameB5cxx11Ev(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #5

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

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

!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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"_ZTSN4Glip7Modules19LayoutLoaderKeywordE", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"any pointer", !7, i64 0}
!13 = !{!14, !6, i64 156}
!14 = !{!"_ZTSN4Glip7Modules18VanillaParserSpace7ElementE", !15, i64 0, !15, i64 32, !15, i64 64, !15, i64 96, !18, i64 128, !22, i64 152, !22, i64 153, !22, i64 154, !6, i64 156, !6, i64 160}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !17, i64 8, !7, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !12, i64 0}
!17 = !{!"long", !7, i64 0}
!18 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !19, i64 0}
!19 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !12, i64 0, !12, i64 8, !12, i64 16}
!22 = !{!"bool", !7, i64 0}
!23 = !{!24, !24, i64 0}
!24 = !{!"_ZTSN4Glip9Exception4TypeE", !7, i64 0}
!25 = !{!26, !22, i64 8}
!26 = !{!"_ZTSN4Glip7Modules12LayoutLoaderE", !22, i64 8, !15, i64 16, !18, i64 48, !27, i64 72, !18, i64 96, !31, i64 120, !39, i64 168, !42, i64 216, !45, i64 264, !48, i64 312, !18, i64 360, !31, i64 384, !39, i64 432, !42, i64 480, !48, i64 528, !51, i64 576}
!27 = !{!"_ZTSSt6vectorIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIN4Glip7Modules19LayoutLoaderKeywordESaIS2_EE17_Vector_impl_dataE", !12, i64 0, !12, i64 8, !12, i64 16}
!31 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !32, i64 0}
!32 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip6CoreGL16HdlTextureFormatEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !33, i64 0}
!33 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip6CoreGL16HdlTextureFormatEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !34, i64 0, !36, i64 8}
!34 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !35, i64 0}
!35 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!36 = !{!"_ZTSSt15_Rb_tree_header", !37, i64 0, !17, i64 32}
!37 = !{!"_ZTSSt18_Rb_tree_node_base", !38, i64 0, !12, i64 8, !12, i64 16, !12, i64 24}
!38 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!39 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !40, i64 0}
!40 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip6CoreGL12ShaderSourceEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !41, i64 0}
!41 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip6CoreGL12ShaderSourceEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !34, i64 0, !36, i64 8}
!42 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !43, i64 0}
!43 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline13GeometryModelEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !44, i64 0}
!44 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline13GeometryModelEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !34, i64 0, !36, i64 8}
!45 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !46, i64 0}
!46 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline12FilterLayoutEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !47, i64 0}
!47 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline12FilterLayoutEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !34, i64 0, !36, i64 8}
!48 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE", !49, i64 0}
!49 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline14PipelineLayoutEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE", !50, i64 0}
!50 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N4Glip12CorePipeline14PipelineLayoutEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE13_Rb_tree_implISF_Lb1EEE", !34, i64 0, !36, i64 8}
!51 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPN4Glip7Modules18LayoutLoaderModuleESt4lessIS5_ESaISt4pairIKS5_S9_EEE", !52, i64 0}
!52 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN4Glip7Modules18LayoutLoaderModuleEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE", !53, i64 0}
!53 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_PN4Glip7Modules18LayoutLoaderModuleEESt10_Select1stISC_ESt4lessIS5_ESaISC_EE13_Rb_tree_implISG_Lb1EEE", !34, i64 0, !36, i64 8}
!54 = !{i8 0, i8 2}
!55 = !{}
!56 = distinct !{!56, !57}
!57 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass