; 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.std::allocator" = type { i8 }
%"struct.std::_Rb_tree_iterator.83" = type { ptr }
%"class.std::map.139" = type { %"class.std::_Rb_tree.140" }
%"class.std::_Rb_tree.140" = type { %"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, Glip::CoreGL::ShaderSource *>, std::_Select1st<std::pair<const unsigned int, Glip::CoreGL::ShaderSource *>>, std::less<unsigned int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, Glip::CoreGL::ShaderSource *>, std::_Select1st<std::pair<const unsigned int, Glip::CoreGL::ShaderSource *>>, std::less<unsigned int>>::_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 }
%"struct.std::_Rb_tree_iterator.77" = type { ptr }
%"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.std::map.145" = type { %"class.std::_Rb_tree.146" }
%"class.std::_Rb_tree.146" = type { %"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, bool>, std::_Select1st<std::pair<const unsigned int, bool>>, std::less<unsigned int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, bool>, std::_Select1st<std::pair<const unsigned int, bool>>, std::less<unsigned int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_iterator.150" = type { ptr }
%"struct.std::_Rb_tree_iterator.86" = type { ptr }
%"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 }
%"struct.std::pair.154" = type { %"class.std::__cxx11::basic_string", %"class.Glip::CorePipeline::FilterLayout" }
%"class.Glip::CorePipeline::FilterLayout" = type { %"class.Glip::CorePipeline::ComponentLayout.base", %"class.Glip::CorePipeline::AbstractComponentLayout", %"class.Glip::CorePipeline::AbstractFilterLayout.base", [4 x i8], %"class.Glip::CoreGL::HdlAbstractTextureFormat.base" }
%"class.Glip::CorePipeline::ComponentLayout.base" = type { ptr }
%"class.Glip::CorePipeline::AbstractComponentLayout" = type { ptr, %"class.std::__cxx11::basic_string", %"class.std::vector", %"class.std::vector" }
%"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.Glip::CorePipeline::AbstractFilterLayout.base" = type <{ ptr, [6 x ptr], ptr, i8, i8, i8, i8, i32, i32, i32, i32 }>
%"class.Glip::CoreGL::HdlAbstractTextureFormat.base" = type <{ ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }>
%"struct.std::pair.151" = type <{ %"struct.std::_Rb_tree_iterator.94", i8, [7 x i8] }>
%"struct.std::_Rb_tree_iterator.94" = type { 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" }
%"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] }>
%"struct.std::pair.78" = type { %"class.std::__cxx11::basic_string", %"class.Glip::CoreGL::ShaderSource" }
%"class.Glip::CoreGL::ShaderSource" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::vector.56", %"class.std::vector.56", %"class.std::vector", %"class.std::vector", %"class.std::vector.61", %"class.std::vector", i8, i32, i32, %"class.std::map.66" }
%"class.std::vector.56" = type { %"struct.std::_Vector_base.57" }
%"struct.std::_Vector_base.57" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned long, std::allocator<unsigned long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.61" = type { %"struct.std::_Vector_base.62" }
%"struct.std::_Vector_base.62" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.66" = type { %"class.std::_Rb_tree.67" }
%"class.std::_Rb_tree.67" = type { %"struct.std::_Rb_tree<int, std::pair<const int, Glip::CoreGL::ShaderSource::LineInfo>, std::_Select1st<std::pair<const int, Glip::CoreGL::ShaderSource::LineInfo>>, std::less<int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, std::pair<const int, Glip::CoreGL::ShaderSource::LineInfo>, std::_Select1st<std::pair<const int, Glip::CoreGL::ShaderSource::LineInfo>>, std::less<int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::pair.87" = type { %"class.std::__cxx11::basic_string", %"class.Glip::CorePipeline::GeometryModel" }
%"class.Glip::CorePipeline::GeometryModel" = type { ptr, %"class.std::vector.89", %"class.std::vector.89", %"class.std::vector.89", %"class.std::vector.61", i32, i8, i8, i32, i32, i32, i32 }
%"class.std::vector.89" = type { %"struct.std::_Vector_base.90" }
%"struct.std::_Vector_base.90" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::pair.84" = type { %"class.std::__cxx11::basic_string", %"class.Glip::CoreGL::HdlTextureFormat" }
%"class.Glip::CoreGL::HdlTextureFormat" = type { %"class.Glip::CoreGL::HdlAbstractTextureFormat.base", [4 x i8] }
%"struct.std::pair.95" = type { %"class.std::__cxx11::basic_string", %"class.Glip::CorePipeline::FilterLayout" }

@_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.70 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [47 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 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 nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #0 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #0 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: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) #0 align 2

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

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

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

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

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

; 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: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48)) #0 align 2

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

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

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

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

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

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

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

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

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

declare void @__cxa_end_catch()

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

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

declare noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32)) #5

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

; 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
define dso_local void @_ZN4Glip7Modules12LayoutLoader11buildFilterERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %1) #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator", align 1
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %14 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca i32, align 4
  %21 = alloca i1, align 1
  %22 = alloca %"class.std::map.139", align 8
  %23 = alloca ptr, align 8
  %24 = alloca i8, align 1
  %25 = alloca i8, align 1
  %26 = alloca i8, align 1
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i8, align 1
  %31 = alloca i32, align 4
  %32 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %33 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca i32, align 4
  %40 = alloca i1, align 1
  %41 = alloca i32, align 4
  %42 = alloca %"class.Glip::Modules::VanillaParserSpace::VanillaParser", align 8
  %43 = alloca %"class.std::map.145", align 8
  %44 = alloca i32, align 4
  %45 = alloca %"struct.std::_Rb_tree_iterator.150", align 8
  %46 = alloca i32, align 4
  %47 = alloca %"struct.std::_Rb_tree_iterator.150", align 8
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::allocator", align 1
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca i32, align 4
  %64 = alloca i1, align 1
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %70 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca i32, align 4
  %75 = alloca i1, align 1
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::allocator", align 1
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca i32, align 4
  %83 = alloca i1, align 1
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %89 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca i32, align 4
  %94 = alloca i1, align 1
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::allocator", align 1
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca i32, align 4
  %102 = alloca i1, align 1
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %108 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::__cxx11::basic_string", align 8
  %112 = alloca i32, align 4
  %113 = alloca i1, align 1
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"class.std::allocator", align 1
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca i32, align 4
  %121 = alloca i1, align 1
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %127 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %128 = alloca %"class.std::__cxx11::basic_string", align 8
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca i32, align 4
  %132 = alloca i1, align 1
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca %"class.std::__cxx11::basic_string", align 8
  %137 = alloca %"class.std::allocator", align 1
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca i32, align 4
  %140 = alloca i1, align 1
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %146 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %147 = alloca %"class.std::__cxx11::basic_string", align 8
  %148 = alloca %"class.std::__cxx11::basic_string", align 8
  %149 = alloca %"class.std::__cxx11::basic_string", align 8
  %150 = alloca i32, align 4
  %151 = alloca i1, align 1
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca %"class.std::__cxx11::basic_string", align 8
  %156 = alloca %"class.std::allocator", align 1
  %157 = alloca %"class.std::__cxx11::basic_string", align 8
  %158 = alloca i32, align 4
  %159 = alloca i1, align 1
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %165 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %166 = alloca %"class.std::__cxx11::basic_string", align 8
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca %"class.std::__cxx11::basic_string", align 8
  %169 = alloca i32, align 4
  %170 = alloca i1, align 1
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca %"class.std::__cxx11::basic_string", align 8
  %175 = alloca %"class.std::allocator", align 1
  %176 = alloca %"class.std::__cxx11::basic_string", align 8
  %177 = alloca i32, align 4
  %178 = alloca i1, align 1
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %184 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %185 = alloca %"class.std::__cxx11::basic_string", align 8
  %186 = alloca %"class.std::__cxx11::basic_string", align 8
  %187 = alloca %"class.std::__cxx11::basic_string", align 8
  %188 = alloca i32, align 4
  %189 = alloca i1, align 1
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca %"class.std::__cxx11::basic_string", align 8
  %193 = alloca %"class.std::allocator", align 1
  %194 = alloca %"class.std::__cxx11::basic_string", align 8
  %195 = alloca i32, align 4
  %196 = alloca i1, align 1
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca i32, align 4
  %200 = alloca i32, align 4
  %201 = alloca %"class.std::__cxx11::basic_string", align 8
  %202 = alloca %"class.std::__cxx11::basic_string", align 8
  %203 = alloca %"class.std::__cxx11::basic_string", align 8
  %204 = alloca i32, align 4
  %205 = alloca i1, align 1
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca %"class.std::__cxx11::basic_string", align 8
  %209 = alloca %"class.std::allocator", align 1
  %210 = alloca %"class.std::__cxx11::basic_string", align 8
  %211 = alloca i32, align 4
  %212 = alloca i1, align 1
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca %"class.std::__cxx11::basic_string", align 8
  %220 = alloca %"class.std::allocator", align 1
  %221 = alloca %"class.std::__cxx11::basic_string", align 8
  %222 = alloca i32, align 4
  %223 = alloca i1, align 1
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca %"class.std::__cxx11::basic_string", align 8
  %230 = alloca %"class.std::__cxx11::basic_string", align 8
  %231 = alloca %"class.std::__cxx11::basic_string", align 8
  %232 = alloca i32, align 4
  %233 = alloca i1, align 1
  %234 = alloca ptr, align 8
  %235 = alloca %"class.Glip::Exception", align 8
  %236 = alloca %"class.std::__cxx11::basic_string", align 8
  %237 = alloca %"class.std::__cxx11::basic_string", align 8
  %238 = alloca %"class.std::__cxx11::basic_string", align 8
  %239 = alloca i32, align 4
  %240 = alloca %"struct.std::pair.154", align 8
  %241 = alloca %"class.Glip::CorePipeline::FilterLayout", align 8
  %242 = alloca %"struct.std::pair.151", align 8
  %243 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %244 = load ptr, ptr %3, align 8
  %245 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #9
  store i32 1, ptr %5, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #9
  store i32 1, ptr %6, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #9
  store i32 2, ptr %7, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #9
  store i32 0, ptr %8, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.70, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %246 unwind label %276

246:                                              ; preds = %2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %245, ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %247 unwind label %280

247:                                              ; preds = %246
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #9
  %248 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 6
  %249 = load ptr, ptr %4, align 8, !tbaa !5
  %250 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %249, i32 0, i32 4
  %251 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %250, i64 noundef 0) #9
  %252 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %248, ptr noundef nonnull align 8 dereferenceable(32) %251)
  %253 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %13, i32 0, i32 0
  store ptr %252, ptr %253, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #9
  %254 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 6
  %255 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %254) #9
  %256 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %14, i32 0, i32 0
  store ptr %255, ptr %256, align 8
  %257 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %14) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #9
  br i1 %257, label %258, label %317

258:                                              ; preds = %247
  store i1 true, ptr %21, align 1
  %259 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #9
  %260 = load ptr, ptr %4, align 8, !tbaa !5
  %261 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %260, i32 0, i32 4
  %262 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %261, i64 noundef 0) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef @.str.163, ptr noundef nonnull align 8 dereferenceable(32) %262)
          to label %263 unwind label %285

263:                                              ; preds = %258
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef @.str.164)
          to label %264 unwind label %289

264:                                              ; preds = %263
  %265 = load ptr, ptr %4, align 8, !tbaa !5
  %266 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %265, i32 0, i32 2
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %266)
          to label %267 unwind label %293

267:                                              ; preds = %264
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef @.str.58)
          to label %268 unwind label %297

268:                                              ; preds = %267
  %269 = load ptr, ptr %4, align 8, !tbaa !5
  %270 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %269, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %270)
          to label %271 unwind label %301

271:                                              ; preds = %268
  %272 = load ptr, ptr %4, align 8, !tbaa !5
  %273 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %272, i32 0, i32 9
  %274 = load i32, ptr %273, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #9
  store i32 5, ptr %20, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %259, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef %19, i32 noundef %274, ptr noundef nonnull align 4 dereferenceable(4) %20)
          to label %275 unwind label %305

275:                                              ; preds = %271
  store i1 false, ptr %21, align 1
  invoke void @__cxa_throw(ptr %259, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %305

276:                                              ; preds = %2
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %11, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %12, align 4
  br label %284

280:                                              ; preds = %246
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %11, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #9
  br label %284

284:                                              ; preds = %280, %276
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #9
  br label %1956

285:                                              ; preds = %258
  %286 = landingpad { ptr, i32 }
          cleanup
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %11, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %12, align 4
  br label %313

289:                                              ; preds = %263
  %290 = landingpad { ptr, i32 }
          cleanup
  %291 = extractvalue { ptr, i32 } %290, 0
  store ptr %291, ptr %11, align 8
  %292 = extractvalue { ptr, i32 } %290, 1
  store i32 %292, ptr %12, align 4
  br label %312

293:                                              ; preds = %264
  %294 = landingpad { ptr, i32 }
          cleanup
  %295 = extractvalue { ptr, i32 } %294, 0
  store ptr %295, ptr %11, align 8
  %296 = extractvalue { ptr, i32 } %294, 1
  store i32 %296, ptr %12, align 4
  br label %311

297:                                              ; preds = %267
  %298 = landingpad { ptr, i32 }
          cleanup
  %299 = extractvalue { ptr, i32 } %298, 0
  store ptr %299, ptr %11, align 8
  %300 = extractvalue { ptr, i32 } %298, 1
  store i32 %300, ptr %12, align 4
  br label %310

301:                                              ; preds = %268
  %302 = landingpad { ptr, i32 }
          cleanup
  %303 = extractvalue { ptr, i32 } %302, 0
  store ptr %303, ptr %11, align 8
  %304 = extractvalue { ptr, i32 } %302, 1
  store i32 %304, ptr %12, align 4
  br label %309

305:                                              ; preds = %275, %271
  %306 = landingpad { ptr, i32 }
          cleanup
  %307 = extractvalue { ptr, i32 } %306, 0
  store ptr %307, ptr %11, align 8
  %308 = extractvalue { ptr, i32 } %306, 1
  store i32 %308, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #9
  br label %309

309:                                              ; preds = %305, %301
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #9
  br label %310

310:                                              ; preds = %309, %297
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #9
  br label %311

311:                                              ; preds = %310, %293
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #9
  br label %312

312:                                              ; preds = %311, %289
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #9
  br label %313

313:                                              ; preds = %312, %285
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #9
  %314 = load i1, ptr %21, align 1
  br i1 %314, label %315, label %316

315:                                              ; preds = %313
  call void @__cxa_free_exception(ptr %259) #9
  br label %316

316:                                              ; preds = %315, %313
  br label %1955

317:                                              ; preds = %247
  call void @llvm.lifetime.start.p0(i64 48, ptr %22) #9
  call void @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #9
  store ptr null, ptr %23, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #9
  store i8 0, ptr %24, align 1, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #9
  store i8 0, ptr %25, align 1, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #9
  store i8 0, ptr %26, align 1, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #9
  store i32 0, ptr %27, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #9
  store i32 0, ptr %28, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #9
  store i32 0, ptr %29, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #9
  store i8 0, ptr %30, align 1, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #9
  store i32 0, ptr %31, align 4, !tbaa !9
  %318 = load ptr, ptr %4, align 8, !tbaa !5
  %319 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %318, i32 0, i32 4
  %320 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %319) #9
  %321 = icmp ugt i64 %320, 1
  br i1 %321, label %322, label %399

322:                                              ; preds = %317
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #9
  %323 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %324 = load ptr, ptr %4, align 8, !tbaa !5
  %325 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %324, i32 0, i32 4
  %326 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %325, i64 noundef 1) #9
  %327 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %323, ptr noundef nonnull align 8 dereferenceable(32) %326)
          to label %328 unwind label %352

328:                                              ; preds = %322
  %329 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %32, i32 0, i32 0
  store ptr %327, ptr %329, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #9
  %330 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %331 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %330) #9
  %332 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %33, i32 0, i32 0
  store ptr %331, ptr %332, align 8
  %333 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %33) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #9
  br i1 %333, label %334, label %388

334:                                              ; preds = %328
  store i1 true, ptr %40, align 1
  %335 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #9
  %336 = load ptr, ptr %4, align 8, !tbaa !5
  %337 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %336, i32 0, i32 4
  %338 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %337, i64 noundef 1) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %338)
          to label %339 unwind label %356

339:                                              ; preds = %334
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef @.str.164)
          to label %340 unwind label %360

340:                                              ; preds = %339
  %341 = load ptr, ptr %4, align 8, !tbaa !5
  %342 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %341, i32 0, i32 2
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %342)
          to label %343 unwind label %364

343:                                              ; preds = %340
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef @.str.58)
          to label %344 unwind label %368

344:                                              ; preds = %343
  %345 = load ptr, ptr %4, align 8, !tbaa !5
  %346 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %345, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %346)
          to label %347 unwind label %372

347:                                              ; preds = %344
  %348 = load ptr, ptr %4, align 8, !tbaa !5
  %349 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %348, i32 0, i32 9
  %350 = load i32, ptr %349, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  store i32 5, ptr %39, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %335, ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef %38, i32 noundef %350, ptr noundef nonnull align 4 dereferenceable(4) %39)
          to label %351 unwind label %376

351:                                              ; preds = %347
  store i1 false, ptr %40, align 1
  invoke void @__cxa_throw(ptr %335, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %376

352:                                              ; preds = %322
  %353 = landingpad { ptr, i32 }
          cleanup
  %354 = extractvalue { ptr, i32 } %353, 0
  store ptr %354, ptr %11, align 8
  %355 = extractvalue { ptr, i32 } %353, 1
  store i32 %355, ptr %12, align 4
  br label %398

356:                                              ; preds = %334
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %11, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %12, align 4
  br label %384

360:                                              ; preds = %339
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %11, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %12, align 4
  br label %383

364:                                              ; preds = %340
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %11, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %12, align 4
  br label %382

368:                                              ; preds = %343
  %369 = landingpad { ptr, i32 }
          cleanup
  %370 = extractvalue { ptr, i32 } %369, 0
  store ptr %370, ptr %11, align 8
  %371 = extractvalue { ptr, i32 } %369, 1
  store i32 %371, ptr %12, align 4
  br label %381

372:                                              ; preds = %344
  %373 = landingpad { ptr, i32 }
          cleanup
  %374 = extractvalue { ptr, i32 } %373, 0
  store ptr %374, ptr %11, align 8
  %375 = extractvalue { ptr, i32 } %373, 1
  store i32 %375, ptr %12, align 4
  br label %380

376:                                              ; preds = %351, %347
  %377 = landingpad { ptr, i32 }
          cleanup
  %378 = extractvalue { ptr, i32 } %377, 0
  store ptr %378, ptr %11, align 8
  %379 = extractvalue { ptr, i32 } %377, 1
  store i32 %379, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #9
  br label %380

380:                                              ; preds = %376, %372
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  br label %381

381:                                              ; preds = %380, %368
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #9
  br label %382

382:                                              ; preds = %381, %364
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #9
  br label %383

383:                                              ; preds = %382, %360
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #9
  br label %384

384:                                              ; preds = %383, %356
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #9
  %385 = load i1, ptr %40, align 1
  br i1 %385, label %386, label %387

386:                                              ; preds = %384
  call void @__cxa_free_exception(ptr %335) #9
  br label %387

387:                                              ; preds = %386, %384
  br label %398

388:                                              ; preds = %328
  %389 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  %390 = getelementptr inbounds %"struct.std::pair.78", ptr %389, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #9
  store i32 35632, ptr %41, align 4, !tbaa !9
  %391 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull align 4 dereferenceable(4) %41)
          to label %392 unwind label %393

392:                                              ; preds = %388
  store ptr %390, ptr %391, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %397

393:                                              ; preds = %388
  %394 = landingpad { ptr, i32 }
          cleanup
  %395 = extractvalue { ptr, i32 } %394, 0
  store ptr %395, ptr %11, align 8
  %396 = extractvalue { ptr, i32 } %394, 1
  store i32 %396, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %398

397:                                              ; preds = %392
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  br label %399

398:                                              ; preds = %393, %387, %352
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  br label %1954

399:                                              ; preds = %397, %317
  %400 = load ptr, ptr %4, align 8, !tbaa !5
  %401 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %400, i32 0, i32 7
  %402 = load i8, ptr %401, align 2, !tbaa !24, !range !25, !noundef !26
  %403 = trunc i8 %402 to i1
  br i1 %403, label %1868, label %404

404:                                              ; preds = %399
  %405 = load ptr, ptr %4, align 8, !tbaa !5
  %406 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %405, i32 0, i32 3
  %407 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %406) #9
  br i1 %407, label %1868, label %408

408:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 56, ptr %42) #9
  %409 = load ptr, ptr %4, align 8, !tbaa !5
  %410 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %409, i32 0, i32 3
  %411 = load ptr, ptr %4, align 8, !tbaa !5
  %412 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %411, i32 0, i32 0
  %413 = load ptr, ptr %4, align 8, !tbaa !5
  %414 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %413, i32 0, i32 10
  %415 = load i32, ptr %414, align 8, !tbaa !27
  invoke void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i(ptr noundef nonnull align 8 dereferenceable(56) %42, ptr noundef nonnull align 8 dereferenceable(32) %410, ptr noundef nonnull align 8 dereferenceable(32) %412, i32 noundef %415)
          to label %416 unwind label %451

416:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 48, ptr %43) #9
  call void @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #9
  store i32 35633, ptr %44, align 4, !tbaa !9
  %417 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %44)
          to label %418 unwind label %455

418:                                              ; preds = %416
  store i8 0, ptr %417, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  store i32 35632, ptr %46, align 4, !tbaa !9
  %419 = invoke ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEE4findERS7_(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %420 unwind label %459

420:                                              ; preds = %418
  %421 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.150", ptr %45, i32 0, i32 0
  store ptr %419, ptr %421, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #9
  %422 = call ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %22) #9
  %423 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.150", ptr %47, i32 0, i32 0
  store ptr %422, ptr %423, align 8
  %424 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjPN4Glip6CoreGL12ShaderSourceEEES9_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(8) %47) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  store i32 35632, ptr %48, align 4, !tbaa !9
  %425 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %48)
          to label %426 unwind label %463

426:                                              ; preds = %420
  %427 = zext i1 %424 to i8
  store i8 %427, ptr %425, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  store i32 37305, ptr %49, align 4, !tbaa !9
  %428 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %49)
          to label %429 unwind label %468

429:                                              ; preds = %426
  store i8 0, ptr %428, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #9
  store i32 36488, ptr %50, align 4, !tbaa !9
  %430 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %50)
          to label %431 unwind label %472

431:                                              ; preds = %429
  store i8 0, ptr %430, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #9
  store i32 36487, ptr %51, align 4, !tbaa !9
  %432 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %51)
          to label %433 unwind label %476

433:                                              ; preds = %431
  store i8 0, ptr %432, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #9
  store i32 36313, ptr %52, align 4, !tbaa !9
  %434 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %52)
          to label %435 unwind label %480

435:                                              ; preds = %433
  store i8 0, ptr %434, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #9
  store i32 5376, ptr %53, align 4, !tbaa !9
  %436 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %53)
          to label %437 unwind label %484

437:                                              ; preds = %435
  store i8 0, ptr %436, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #9
  store i32 3042, ptr %54, align 4, !tbaa !9
  %438 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %54)
          to label %439 unwind label %488

439:                                              ; preds = %437
  store i8 0, ptr %438, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #9
  store i32 2929, ptr %55, align 4, !tbaa !9
  %440 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %55)
          to label %441 unwind label %492

441:                                              ; preds = %439
  store i8 0, ptr %440, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  store i32 7168, ptr %56, align 4, !tbaa !9
  %442 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %56)
          to label %443 unwind label %496

443:                                              ; preds = %441
  store i8 0, ptr %442, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  store i32 0, ptr %57, align 4, !tbaa !9
  br label %444

444:                                              ; preds = %1807, %443
  %445 = load i32, ptr %57, align 4, !tbaa !9
  %446 = zext i32 %445 to i64
  %447 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %448 = call noundef i64 @_ZNKSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %447) #9
  %449 = icmp ult i64 %446, %448
  br i1 %449, label %500, label %450

450:                                              ; preds = %444
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %1811

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

455:                                              ; preds = %416
  %456 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %11, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  br label %1812

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

463:                                              ; preds = %420
  %464 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %11, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  br label %467

467:                                              ; preds = %463, %459
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  br label %1812

468:                                              ; preds = %426
  %469 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %470 = extractvalue { ptr, i32 } %469, 0
  store ptr %470, ptr %11, align 8
  %471 = extractvalue { ptr, i32 } %469, 1
  store i32 %471, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %1812

472:                                              ; preds = %429
  %473 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %11, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %1812

476:                                              ; preds = %431
  %477 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %11, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %1812

480:                                              ; preds = %433
  %481 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %11, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  br label %1812

484:                                              ; preds = %435
  %485 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %11, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  br label %1812

488:                                              ; preds = %437
  %489 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %11, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  br label %1812

492:                                              ; preds = %439
  %493 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %494 = extractvalue { ptr, i32 } %493, 0
  store ptr %494, ptr %11, align 8
  %495 = extractvalue { ptr, i32 } %493, 1
  store i32 %495, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  br label %1812

496:                                              ; preds = %441
  %497 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %498 = extractvalue { ptr, i32 } %497, 0
  store ptr %498, ptr %11, align 8
  %499 = extractvalue { ptr, i32 } %497, 1
  store i32 %499, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %1812

500:                                              ; preds = %444
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #9
  %501 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %502 = load i32, ptr %57, align 4, !tbaa !9
  %503 = zext i32 %502 to i64
  %504 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %501, i64 noundef %503) #9
  %505 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %504, i32 0, i32 1
  %506 = invoke noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %505)
          to label %507 unwind label %531

507:                                              ; preds = %500
  store i32 %506, ptr %58, align 4, !tbaa !9
  %508 = load i32, ptr %58, align 4, !tbaa !9
  %509 = icmp eq i32 %508, 35633
  br i1 %509, label %510, label %648

510:                                              ; preds = %507
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  store i32 35633, ptr %59, align 4, !tbaa !9
  %511 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %59)
          to label %512 unwind label %535

512:                                              ; preds = %510
  %513 = load i8, ptr %511, align 1, !tbaa !23, !range !25, !noundef !26
  %514 = trunc i8 %513 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br i1 %514, label %515, label %556

515:                                              ; preds = %512
  store i1 true, ptr %64, align 1
  %516 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.166, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %517 unwind label %539

517:                                              ; preds = %515
  %518 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %519 = load i32, ptr %57, align 4, !tbaa !9
  %520 = zext i32 %519 to i64
  %521 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %518, i64 noundef %520) #9
  %522 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %521, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %522)
          to label %523 unwind label %543

523:                                              ; preds = %517
  %524 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %525 = load i32, ptr %57, align 4, !tbaa !9
  %526 = zext i32 %525 to i64
  %527 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %524, i64 noundef %526) #9
  %528 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %527, i32 0, i32 9
  %529 = load i32, ptr %528, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #9
  store i32 5, ptr %63, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %516, ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef %62, i32 noundef %529, ptr noundef nonnull align 4 dereferenceable(4) %63)
          to label %530 unwind label %547

530:                                              ; preds = %523
  store i1 false, ptr %64, align 1
  invoke void @__cxa_throw(ptr %516, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %547

531:                                              ; preds = %1734, %1663, %1655, %1647, %1531, %1516, %500
  %532 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %533 = extractvalue { ptr, i32 } %532, 0
  store ptr %533, ptr %11, align 8
  %534 = extractvalue { ptr, i32 } %532, 1
  store i32 %534, ptr %12, align 4
  br label %1810

535:                                              ; preds = %510
  %536 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %537 = extractvalue { ptr, i32 } %536, 0
  store ptr %537, ptr %11, align 8
  %538 = extractvalue { ptr, i32 } %536, 1
  store i32 %538, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br label %1810

539:                                              ; preds = %515
  %540 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %541 = extractvalue { ptr, i32 } %540, 0
  store ptr %541, ptr %11, align 8
  %542 = extractvalue { ptr, i32 } %540, 1
  store i32 %542, ptr %12, align 4
  br label %552

543:                                              ; preds = %517
  %544 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %11, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %12, align 4
  br label %551

547:                                              ; preds = %530, %523
  %548 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %11, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #9
  br label %551

551:                                              ; preds = %547, %543
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #9
  br label %552

552:                                              ; preds = %551, %539
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #9
  %553 = load i1, ptr %64, align 1
  br i1 %553, label %554, label %555

554:                                              ; preds = %552
  call void @__cxa_free_exception(ptr %516) #9
  br label %555

555:                                              ; preds = %554, %552
  br label %1810

556:                                              ; preds = %512
  %557 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %558 = load i32, ptr %57, align 4, !tbaa !9
  %559 = zext i32 %558 to i64
  %560 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %557, i64 noundef %559) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #9
  store i32 -1, ptr %65, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  store i32 1, ptr %66, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #9
  store i32 1, ptr %67, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #9
  store i32 -1, ptr %68, align 4, !tbaa !9
  %561 = load ptr, ptr %4, align 8, !tbaa !5
  %562 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %561, i32 0, i32 2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %560, ptr noundef nonnull align 4 dereferenceable(4) %65, ptr noundef nonnull align 4 dereferenceable(4) %66, ptr noundef nonnull align 4 dereferenceable(4) %67, ptr noundef nonnull align 4 dereferenceable(4) %68, ptr noundef nonnull align 8 dereferenceable(32) %562)
          to label %563 unwind label %601

563:                                              ; preds = %556
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #9
  %564 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %565 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %566 = load i32, ptr %57, align 4, !tbaa !9
  %567 = zext i32 %566 to i64
  %568 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %565, i64 noundef %567) #9
  %569 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %568, i32 0, i32 4
  %570 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %569, i64 noundef 0) #9
  %571 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %564, ptr noundef nonnull align 8 dereferenceable(32) %570)
          to label %572 unwind label %605

572:                                              ; preds = %563
  %573 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %69, i32 0, i32 0
  store ptr %571, ptr %573, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #9
  %574 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %575 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %574) #9
  %576 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %70, i32 0, i32 0
  store ptr %575, ptr %576, align 8
  %577 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef nonnull align 8 dereferenceable(8) %70) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #9
  br i1 %577, label %578, label %631

578:                                              ; preds = %572
  store i1 true, ptr %75, align 1
  %579 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #9
  %580 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %581 = load i32, ptr %57, align 4, !tbaa !9
  %582 = zext i32 %581 to i64
  %583 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %580, i64 noundef %582) #9
  %584 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %583, i32 0, i32 4
  %585 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %584, i64 noundef 0) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %585)
          to label %586 unwind label %609

586:                                              ; preds = %578
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef @.str.167)
          to label %587 unwind label %613

587:                                              ; preds = %586
  %588 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %589 = load i32, ptr %57, align 4, !tbaa !9
  %590 = zext i32 %589 to i64
  %591 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %588, i64 noundef %590) #9
  %592 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %591, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %592)
          to label %593 unwind label %617

593:                                              ; preds = %587
  %594 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %595 = load i32, ptr %57, align 4, !tbaa !9
  %596 = zext i32 %595 to i64
  %597 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %594, i64 noundef %596) #9
  %598 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %597, i32 0, i32 9
  %599 = load i32, ptr %598, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #9
  store i32 5, ptr %74, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %579, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef %73, i32 noundef %599, ptr noundef nonnull align 4 dereferenceable(4) %74)
          to label %600 unwind label %621

600:                                              ; preds = %593
  store i1 false, ptr %75, align 1
  invoke void @__cxa_throw(ptr %579, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %621

601:                                              ; preds = %556
  %602 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %603 = extractvalue { ptr, i32 } %602, 0
  store ptr %603, ptr %11, align 8
  %604 = extractvalue { ptr, i32 } %602, 1
  store i32 %604, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  br label %1810

605:                                              ; preds = %563
  %606 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %607 = extractvalue { ptr, i32 } %606, 0
  store ptr %607, ptr %11, align 8
  %608 = extractvalue { ptr, i32 } %606, 1
  store i32 %608, ptr %12, align 4
  br label %647

609:                                              ; preds = %578
  %610 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %611 = extractvalue { ptr, i32 } %610, 0
  store ptr %611, ptr %11, align 8
  %612 = extractvalue { ptr, i32 } %610, 1
  store i32 %612, ptr %12, align 4
  br label %627

613:                                              ; preds = %586
  %614 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %615 = extractvalue { ptr, i32 } %614, 0
  store ptr %615, ptr %11, align 8
  %616 = extractvalue { ptr, i32 } %614, 1
  store i32 %616, ptr %12, align 4
  br label %626

617:                                              ; preds = %587
  %618 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %619 = extractvalue { ptr, i32 } %618, 0
  store ptr %619, ptr %11, align 8
  %620 = extractvalue { ptr, i32 } %618, 1
  store i32 %620, ptr %12, align 4
  br label %625

621:                                              ; preds = %600, %593
  %622 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %623 = extractvalue { ptr, i32 } %622, 0
  store ptr %623, ptr %11, align 8
  %624 = extractvalue { ptr, i32 } %622, 1
  store i32 %624, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #9
  br label %625

625:                                              ; preds = %621, %617
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #9
  br label %626

626:                                              ; preds = %625, %613
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #9
  br label %627

627:                                              ; preds = %626, %609
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #9
  %628 = load i1, ptr %75, align 1
  br i1 %628, label %629, label %630

629:                                              ; preds = %627
  call void @__cxa_free_exception(ptr %579) #9
  br label %630

630:                                              ; preds = %629, %627
  br label %647

631:                                              ; preds = %572
  %632 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %69) #9
  %633 = getelementptr inbounds %"struct.std::pair.78", ptr %632, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #9
  store i32 35633, ptr %76, align 4, !tbaa !9
  %634 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull align 4 dereferenceable(4) %76)
          to label %635 unwind label %636

635:                                              ; preds = %631
  store ptr %633, ptr %634, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %640

636:                                              ; preds = %631
  %637 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %638 = extractvalue { ptr, i32 } %637, 0
  store ptr %638, ptr %11, align 8
  %639 = extractvalue { ptr, i32 } %637, 1
  store i32 %639, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %647

640:                                              ; preds = %635
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #9
  store i32 35633, ptr %77, align 4, !tbaa !9
  %641 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %77)
          to label %642 unwind label %643

642:                                              ; preds = %640
  store i8 1, ptr %641, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #9
  br label %1806

643:                                              ; preds = %640
  %644 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %645 = extractvalue { ptr, i32 } %644, 0
  store ptr %645, ptr %11, align 8
  %646 = extractvalue { ptr, i32 } %644, 1
  store i32 %646, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  br label %647

647:                                              ; preds = %643, %636, %630, %605
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #9
  br label %1810

648:                                              ; preds = %507
  %649 = load i32, ptr %58, align 4, !tbaa !9
  %650 = icmp eq i32 %649, 35632
  br i1 %650, label %651, label %785

651:                                              ; preds = %648
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #9
  store i32 35632, ptr %78, align 4, !tbaa !9
  %652 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %78)
          to label %653 unwind label %672

653:                                              ; preds = %651
  %654 = load i8, ptr %652, align 1, !tbaa !23, !range !25, !noundef !26
  %655 = trunc i8 %654 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  br i1 %655, label %656, label %693

656:                                              ; preds = %653
  store i1 true, ptr %83, align 1
  %657 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.168, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %658 unwind label %676

658:                                              ; preds = %656
  %659 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %660 = load i32, ptr %57, align 4, !tbaa !9
  %661 = zext i32 %660 to i64
  %662 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %659, i64 noundef %661) #9
  %663 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %662, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(32) %663)
          to label %664 unwind label %680

664:                                              ; preds = %658
  %665 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %666 = load i32, ptr %57, align 4, !tbaa !9
  %667 = zext i32 %666 to i64
  %668 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %665, i64 noundef %667) #9
  %669 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %668, i32 0, i32 9
  %670 = load i32, ptr %669, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #9
  store i32 5, ptr %82, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %657, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef %81, i32 noundef %670, ptr noundef nonnull align 4 dereferenceable(4) %82)
          to label %671 unwind label %684

671:                                              ; preds = %664
  store i1 false, ptr %83, align 1
  invoke void @__cxa_throw(ptr %657, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %684

672:                                              ; preds = %651
  %673 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %674 = extractvalue { ptr, i32 } %673, 0
  store ptr %674, ptr %11, align 8
  %675 = extractvalue { ptr, i32 } %673, 1
  store i32 %675, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  br label %1810

676:                                              ; preds = %656
  %677 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %678 = extractvalue { ptr, i32 } %677, 0
  store ptr %678, ptr %11, align 8
  %679 = extractvalue { ptr, i32 } %677, 1
  store i32 %679, ptr %12, align 4
  br label %689

680:                                              ; preds = %658
  %681 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %682 = extractvalue { ptr, i32 } %681, 0
  store ptr %682, ptr %11, align 8
  %683 = extractvalue { ptr, i32 } %681, 1
  store i32 %683, ptr %12, align 4
  br label %688

684:                                              ; preds = %671, %664
  %685 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %686 = extractvalue { ptr, i32 } %685, 0
  store ptr %686, ptr %11, align 8
  %687 = extractvalue { ptr, i32 } %685, 1
  store i32 %687, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #9
  br label %688

688:                                              ; preds = %684, %680
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #9
  br label %689

689:                                              ; preds = %688, %676
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #9
  %690 = load i1, ptr %83, align 1
  br i1 %690, label %691, label %692

691:                                              ; preds = %689
  call void @__cxa_free_exception(ptr %657) #9
  br label %692

692:                                              ; preds = %691, %689
  br label %1810

693:                                              ; preds = %653
  %694 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %695 = load i32, ptr %57, align 4, !tbaa !9
  %696 = zext i32 %695 to i64
  %697 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %694, i64 noundef %696) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #9
  store i32 -1, ptr %84, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #9
  store i32 1, ptr %85, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #9
  store i32 1, ptr %86, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #9
  store i32 -1, ptr %87, align 4, !tbaa !9
  %698 = load ptr, ptr %4, align 8, !tbaa !5
  %699 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %698, i32 0, i32 2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %697, ptr noundef nonnull align 4 dereferenceable(4) %84, ptr noundef nonnull align 4 dereferenceable(4) %85, ptr noundef nonnull align 4 dereferenceable(4) %86, ptr noundef nonnull align 4 dereferenceable(4) %87, ptr noundef nonnull align 8 dereferenceable(32) %699)
          to label %700 unwind label %738

700:                                              ; preds = %693
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #9
  %701 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %702 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %703 = load i32, ptr %57, align 4, !tbaa !9
  %704 = zext i32 %703 to i64
  %705 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %702, i64 noundef %704) #9
  %706 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %705, i32 0, i32 4
  %707 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %706, i64 noundef 0) #9
  %708 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %701, ptr noundef nonnull align 8 dereferenceable(32) %707)
          to label %709 unwind label %742

709:                                              ; preds = %700
  %710 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %88, i32 0, i32 0
  store ptr %708, ptr %710, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #9
  %711 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %712 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %711) #9
  %713 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %89, i32 0, i32 0
  store ptr %712, ptr %713, align 8
  %714 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %88, ptr noundef nonnull align 8 dereferenceable(8) %89) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #9
  br i1 %714, label %715, label %768

715:                                              ; preds = %709
  store i1 true, ptr %94, align 1
  %716 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %91) #9
  %717 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %718 = load i32, ptr %57, align 4, !tbaa !9
  %719 = zext i32 %718 to i64
  %720 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %717, i64 noundef %719) #9
  %721 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %720, i32 0, i32 4
  %722 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %721, i64 noundef 0) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %91, ptr noundef @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %722)
          to label %723 unwind label %746

723:                                              ; preds = %715
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef @.str.169)
          to label %724 unwind label %750

724:                                              ; preds = %723
  %725 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %726 = load i32, ptr %57, align 4, !tbaa !9
  %727 = zext i32 %726 to i64
  %728 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %725, i64 noundef %727) #9
  %729 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %728, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull align 8 dereferenceable(32) %729)
          to label %730 unwind label %754

730:                                              ; preds = %724
  %731 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %732 = load i32, ptr %57, align 4, !tbaa !9
  %733 = zext i32 %732 to i64
  %734 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %731, i64 noundef %733) #9
  %735 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %734, i32 0, i32 9
  %736 = load i32, ptr %735, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #9
  store i32 5, ptr %93, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %716, ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef %92, i32 noundef %736, ptr noundef nonnull align 4 dereferenceable(4) %93)
          to label %737 unwind label %758

737:                                              ; preds = %730
  store i1 false, ptr %94, align 1
  invoke void @__cxa_throw(ptr %716, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %758

738:                                              ; preds = %693
  %739 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %740 = extractvalue { ptr, i32 } %739, 0
  store ptr %740, ptr %11, align 8
  %741 = extractvalue { ptr, i32 } %739, 1
  store i32 %741, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %1810

742:                                              ; preds = %700
  %743 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %744 = extractvalue { ptr, i32 } %743, 0
  store ptr %744, ptr %11, align 8
  %745 = extractvalue { ptr, i32 } %743, 1
  store i32 %745, ptr %12, align 4
  br label %784

746:                                              ; preds = %715
  %747 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %748 = extractvalue { ptr, i32 } %747, 0
  store ptr %748, ptr %11, align 8
  %749 = extractvalue { ptr, i32 } %747, 1
  store i32 %749, ptr %12, align 4
  br label %764

750:                                              ; preds = %723
  %751 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %752 = extractvalue { ptr, i32 } %751, 0
  store ptr %752, ptr %11, align 8
  %753 = extractvalue { ptr, i32 } %751, 1
  store i32 %753, ptr %12, align 4
  br label %763

754:                                              ; preds = %724
  %755 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %756 = extractvalue { ptr, i32 } %755, 0
  store ptr %756, ptr %11, align 8
  %757 = extractvalue { ptr, i32 } %755, 1
  store i32 %757, ptr %12, align 4
  br label %762

758:                                              ; preds = %737, %730
  %759 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %760 = extractvalue { ptr, i32 } %759, 0
  store ptr %760, ptr %11, align 8
  %761 = extractvalue { ptr, i32 } %759, 1
  store i32 %761, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #9
  br label %762

762:                                              ; preds = %758, %754
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #9
  br label %763

763:                                              ; preds = %762, %750
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  br label %764

764:                                              ; preds = %763, %746
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #9
  %765 = load i1, ptr %94, align 1
  br i1 %765, label %766, label %767

766:                                              ; preds = %764
  call void @__cxa_free_exception(ptr %716) #9
  br label %767

767:                                              ; preds = %766, %764
  br label %784

768:                                              ; preds = %709
  %769 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %88) #9
  %770 = getelementptr inbounds %"struct.std::pair.78", ptr %769, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #9
  store i32 35632, ptr %95, align 4, !tbaa !9
  %771 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull align 4 dereferenceable(4) %95)
          to label %772 unwind label %773

772:                                              ; preds = %768
  store ptr %770, ptr %771, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #9
  br label %777

773:                                              ; preds = %768
  %774 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %775 = extractvalue { ptr, i32 } %774, 0
  store ptr %775, ptr %11, align 8
  %776 = extractvalue { ptr, i32 } %774, 1
  store i32 %776, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #9
  br label %784

777:                                              ; preds = %772
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #9
  store i32 35632, ptr %96, align 4, !tbaa !9
  %778 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %96)
          to label %779 unwind label %780

779:                                              ; preds = %777
  store i8 1, ptr %778, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #9
  br label %1805

780:                                              ; preds = %777
  %781 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %782 = extractvalue { ptr, i32 } %781, 0
  store ptr %782, ptr %11, align 8
  %783 = extractvalue { ptr, i32 } %781, 1
  store i32 %783, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #9
  br label %784

784:                                              ; preds = %780, %773, %767, %742
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #9
  br label %1810

785:                                              ; preds = %648
  %786 = load i32, ptr %58, align 4, !tbaa !9
  %787 = icmp eq i32 %786, 37305
  br i1 %787, label %788, label %922

788:                                              ; preds = %785
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #9
  store i32 37305, ptr %97, align 4, !tbaa !9
  %789 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %97)
          to label %790 unwind label %809

790:                                              ; preds = %788
  %791 = load i8, ptr %789, align 1, !tbaa !23, !range !25, !noundef !26
  %792 = trunc i8 %791 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br i1 %792, label %793, label %830

793:                                              ; preds = %790
  store i1 true, ptr %102, align 1
  %794 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %98) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef @.str.170, ptr noundef nonnull align 1 dereferenceable(1) %99)
          to label %795 unwind label %813

795:                                              ; preds = %793
  %796 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %797 = load i32, ptr %57, align 4, !tbaa !9
  %798 = zext i32 %797 to i64
  %799 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %796, i64 noundef %798) #9
  %800 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %799, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(32) %800)
          to label %801 unwind label %817

801:                                              ; preds = %795
  %802 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %803 = load i32, ptr %57, align 4, !tbaa !9
  %804 = zext i32 %803 to i64
  %805 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %802, i64 noundef %804) #9
  %806 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %805, i32 0, i32 9
  %807 = load i32, ptr %806, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #9
  store i32 5, ptr %101, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %794, ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef %100, i32 noundef %807, ptr noundef nonnull align 4 dereferenceable(4) %101)
          to label %808 unwind label %821

808:                                              ; preds = %801
  store i1 false, ptr %102, align 1
  invoke void @__cxa_throw(ptr %794, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %821

809:                                              ; preds = %788
  %810 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %11, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %1810

813:                                              ; preds = %793
  %814 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %815 = extractvalue { ptr, i32 } %814, 0
  store ptr %815, ptr %11, align 8
  %816 = extractvalue { ptr, i32 } %814, 1
  store i32 %816, ptr %12, align 4
  br label %826

817:                                              ; preds = %795
  %818 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %819 = extractvalue { ptr, i32 } %818, 0
  store ptr %819, ptr %11, align 8
  %820 = extractvalue { ptr, i32 } %818, 1
  store i32 %820, ptr %12, align 4
  br label %825

821:                                              ; preds = %808, %801
  %822 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %823 = extractvalue { ptr, i32 } %822, 0
  store ptr %823, ptr %11, align 8
  %824 = extractvalue { ptr, i32 } %822, 1
  store i32 %824, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #9
  br label %825

825:                                              ; preds = %821, %817
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #9
  br label %826

826:                                              ; preds = %825, %813
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %98) #9
  %827 = load i1, ptr %102, align 1
  br i1 %827, label %828, label %829

828:                                              ; preds = %826
  call void @__cxa_free_exception(ptr %794) #9
  br label %829

829:                                              ; preds = %828, %826
  br label %1810

830:                                              ; preds = %790
  %831 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %832 = load i32, ptr %57, align 4, !tbaa !9
  %833 = zext i32 %832 to i64
  %834 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %831, i64 noundef %833) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #9
  store i32 -1, ptr %103, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #9
  store i32 1, ptr %104, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #9
  store i32 1, ptr %105, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #9
  store i32 -1, ptr %106, align 4, !tbaa !9
  %835 = load ptr, ptr %4, align 8, !tbaa !5
  %836 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %835, i32 0, i32 2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %834, ptr noundef nonnull align 4 dereferenceable(4) %103, ptr noundef nonnull align 4 dereferenceable(4) %104, ptr noundef nonnull align 4 dereferenceable(4) %105, ptr noundef nonnull align 4 dereferenceable(4) %106, ptr noundef nonnull align 8 dereferenceable(32) %836)
          to label %837 unwind label %875

837:                                              ; preds = %830
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #9
  %838 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %839 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %840 = load i32, ptr %57, align 4, !tbaa !9
  %841 = zext i32 %840 to i64
  %842 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %839, i64 noundef %841) #9
  %843 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %842, i32 0, i32 4
  %844 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %843, i64 noundef 0) #9
  %845 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %838, ptr noundef nonnull align 8 dereferenceable(32) %844)
          to label %846 unwind label %879

846:                                              ; preds = %837
  %847 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %107, i32 0, i32 0
  store ptr %845, ptr %847, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #9
  %848 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %849 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %848) #9
  %850 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %108, i32 0, i32 0
  store ptr %849, ptr %850, align 8
  %851 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %107, ptr noundef nonnull align 8 dereferenceable(8) %108) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #9
  br i1 %851, label %852, label %905

852:                                              ; preds = %846
  store i1 true, ptr %113, align 1
  %853 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #9
  %854 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %855 = load i32, ptr %57, align 4, !tbaa !9
  %856 = zext i32 %855 to i64
  %857 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %854, i64 noundef %856) #9
  %858 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %857, i32 0, i32 4
  %859 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %858, i64 noundef 0) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %110, ptr noundef @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %859)
          to label %860 unwind label %883

860:                                              ; preds = %852
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.171)
          to label %861 unwind label %887

861:                                              ; preds = %860
  %862 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %863 = load i32, ptr %57, align 4, !tbaa !9
  %864 = zext i32 %863 to i64
  %865 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %862, i64 noundef %864) #9
  %866 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %865, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(32) %866)
          to label %867 unwind label %891

867:                                              ; preds = %861
  %868 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %869 = load i32, ptr %57, align 4, !tbaa !9
  %870 = zext i32 %869 to i64
  %871 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %868, i64 noundef %870) #9
  %872 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %871, i32 0, i32 9
  %873 = load i32, ptr %872, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #9
  store i32 5, ptr %112, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %853, ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef %111, i32 noundef %873, ptr noundef nonnull align 4 dereferenceable(4) %112)
          to label %874 unwind label %895

874:                                              ; preds = %867
  store i1 false, ptr %113, align 1
  invoke void @__cxa_throw(ptr %853, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %895

875:                                              ; preds = %830
  %876 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %877 = extractvalue { ptr, i32 } %876, 0
  store ptr %877, ptr %11, align 8
  %878 = extractvalue { ptr, i32 } %876, 1
  store i32 %878, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #9
  br label %1810

879:                                              ; preds = %837
  %880 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %881 = extractvalue { ptr, i32 } %880, 0
  store ptr %881, ptr %11, align 8
  %882 = extractvalue { ptr, i32 } %880, 1
  store i32 %882, ptr %12, align 4
  br label %921

883:                                              ; preds = %852
  %884 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %885 = extractvalue { ptr, i32 } %884, 0
  store ptr %885, ptr %11, align 8
  %886 = extractvalue { ptr, i32 } %884, 1
  store i32 %886, ptr %12, align 4
  br label %901

887:                                              ; preds = %860
  %888 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %889 = extractvalue { ptr, i32 } %888, 0
  store ptr %889, ptr %11, align 8
  %890 = extractvalue { ptr, i32 } %888, 1
  store i32 %890, ptr %12, align 4
  br label %900

891:                                              ; preds = %861
  %892 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %893 = extractvalue { ptr, i32 } %892, 0
  store ptr %893, ptr %11, align 8
  %894 = extractvalue { ptr, i32 } %892, 1
  store i32 %894, ptr %12, align 4
  br label %899

895:                                              ; preds = %874, %867
  %896 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %897 = extractvalue { ptr, i32 } %896, 0
  store ptr %897, ptr %11, align 8
  %898 = extractvalue { ptr, i32 } %896, 1
  store i32 %898, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #9
  br label %899

899:                                              ; preds = %895, %891
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #9
  br label %900

900:                                              ; preds = %899, %887
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #9
  br label %901

901:                                              ; preds = %900, %883
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #9
  %902 = load i1, ptr %113, align 1
  br i1 %902, label %903, label %904

903:                                              ; preds = %901
  call void @__cxa_free_exception(ptr %853) #9
  br label %904

904:                                              ; preds = %903, %901
  br label %921

905:                                              ; preds = %846
  %906 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %107) #9
  %907 = getelementptr inbounds %"struct.std::pair.78", ptr %906, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #9
  store i32 37305, ptr %114, align 4, !tbaa !9
  %908 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull align 4 dereferenceable(4) %114)
          to label %909 unwind label %910

909:                                              ; preds = %905
  store ptr %907, ptr %908, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #9
  br label %914

910:                                              ; preds = %905
  %911 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %912 = extractvalue { ptr, i32 } %911, 0
  store ptr %912, ptr %11, align 8
  %913 = extractvalue { ptr, i32 } %911, 1
  store i32 %913, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #9
  br label %921

914:                                              ; preds = %909
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #9
  store i32 37305, ptr %115, align 4, !tbaa !9
  %915 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %115)
          to label %916 unwind label %917

916:                                              ; preds = %914
  store i8 1, ptr %915, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #9
  br label %1804

917:                                              ; preds = %914
  %918 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %919 = extractvalue { ptr, i32 } %918, 0
  store ptr %919, ptr %11, align 8
  %920 = extractvalue { ptr, i32 } %918, 1
  store i32 %920, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  br label %921

921:                                              ; preds = %917, %910, %904, %879
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #9
  br label %1810

922:                                              ; preds = %785
  %923 = load i32, ptr %58, align 4, !tbaa !9
  %924 = icmp eq i32 %923, 36488
  br i1 %924, label %925, label %1059

925:                                              ; preds = %922
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #9
  store i32 36488, ptr %116, align 4, !tbaa !9
  %926 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %116)
          to label %927 unwind label %946

927:                                              ; preds = %925
  %928 = load i8, ptr %926, align 1, !tbaa !23, !range !25, !noundef !26
  %929 = trunc i8 %928 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  br i1 %929, label %930, label %967

930:                                              ; preds = %927
  store i1 true, ptr %121, align 1
  %931 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %117) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %118) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef @.str.172, ptr noundef nonnull align 1 dereferenceable(1) %118)
          to label %932 unwind label %950

932:                                              ; preds = %930
  %933 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %934 = load i32, ptr %57, align 4, !tbaa !9
  %935 = zext i32 %934 to i64
  %936 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %933, i64 noundef %935) #9
  %937 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %936, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull align 8 dereferenceable(32) %937)
          to label %938 unwind label %954

938:                                              ; preds = %932
  %939 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %940 = load i32, ptr %57, align 4, !tbaa !9
  %941 = zext i32 %940 to i64
  %942 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %939, i64 noundef %941) #9
  %943 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %942, i32 0, i32 9
  %944 = load i32, ptr %943, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #9
  store i32 5, ptr %120, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %931, ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef %119, i32 noundef %944, ptr noundef nonnull align 4 dereferenceable(4) %120)
          to label %945 unwind label %958

945:                                              ; preds = %938
  store i1 false, ptr %121, align 1
  invoke void @__cxa_throw(ptr %931, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %958

946:                                              ; preds = %925
  %947 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %948 = extractvalue { ptr, i32 } %947, 0
  store ptr %948, ptr %11, align 8
  %949 = extractvalue { ptr, i32 } %947, 1
  store i32 %949, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  br label %1810

950:                                              ; preds = %930
  %951 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %952 = extractvalue { ptr, i32 } %951, 0
  store ptr %952, ptr %11, align 8
  %953 = extractvalue { ptr, i32 } %951, 1
  store i32 %953, ptr %12, align 4
  br label %963

954:                                              ; preds = %932
  %955 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %956 = extractvalue { ptr, i32 } %955, 0
  store ptr %956, ptr %11, align 8
  %957 = extractvalue { ptr, i32 } %955, 1
  store i32 %957, ptr %12, align 4
  br label %962

958:                                              ; preds = %945, %938
  %959 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %960 = extractvalue { ptr, i32 } %959, 0
  store ptr %960, ptr %11, align 8
  %961 = extractvalue { ptr, i32 } %959, 1
  store i32 %961, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #9
  br label %962

962:                                              ; preds = %958, %954
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #9
  br label %963

963:                                              ; preds = %962, %950
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #9
  %964 = load i1, ptr %121, align 1
  br i1 %964, label %965, label %966

965:                                              ; preds = %963
  call void @__cxa_free_exception(ptr %931) #9
  br label %966

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

967:                                              ; preds = %927
  %968 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %969 = load i32, ptr %57, align 4, !tbaa !9
  %970 = zext i32 %969 to i64
  %971 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %968, i64 noundef %970) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #9
  store i32 -1, ptr %122, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #9
  store i32 1, ptr %123, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #9
  store i32 1, ptr %124, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #9
  store i32 -1, ptr %125, align 4, !tbaa !9
  %972 = load ptr, ptr %4, align 8, !tbaa !5
  %973 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %972, i32 0, i32 2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %971, ptr noundef nonnull align 4 dereferenceable(4) %122, ptr noundef nonnull align 4 dereferenceable(4) %123, ptr noundef nonnull align 4 dereferenceable(4) %124, ptr noundef nonnull align 4 dereferenceable(4) %125, ptr noundef nonnull align 8 dereferenceable(32) %973)
          to label %974 unwind label %1012

974:                                              ; preds = %967
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #9
  %975 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %976 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %977 = load i32, ptr %57, align 4, !tbaa !9
  %978 = zext i32 %977 to i64
  %979 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %976, i64 noundef %978) #9
  %980 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %979, i32 0, i32 4
  %981 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %980, i64 noundef 0) #9
  %982 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %975, ptr noundef nonnull align 8 dereferenceable(32) %981)
          to label %983 unwind label %1016

983:                                              ; preds = %974
  %984 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %126, i32 0, i32 0
  store ptr %982, ptr %984, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %127) #9
  %985 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %986 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %985) #9
  %987 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %127, i32 0, i32 0
  store ptr %986, ptr %987, align 8
  %988 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %126, ptr noundef nonnull align 8 dereferenceable(8) %127) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #9
  br i1 %988, label %989, label %1042

989:                                              ; preds = %983
  store i1 true, ptr %132, align 1
  %990 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %128) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %129) #9
  %991 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %992 = load i32, ptr %57, align 4, !tbaa !9
  %993 = zext i32 %992 to i64
  %994 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %991, i64 noundef %993) #9
  %995 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %994, i32 0, i32 4
  %996 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %995, i64 noundef 0) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %129, ptr noundef @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %996)
          to label %997 unwind label %1020

997:                                              ; preds = %989
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %128, ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef @.str.173)
          to label %998 unwind label %1024

998:                                              ; preds = %997
  %999 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1000 = load i32, ptr %57, align 4, !tbaa !9
  %1001 = zext i32 %1000 to i64
  %1002 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %999, i64 noundef %1001) #9
  %1003 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1002, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull align 8 dereferenceable(32) %1003)
          to label %1004 unwind label %1028

1004:                                             ; preds = %998
  %1005 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1006 = load i32, ptr %57, align 4, !tbaa !9
  %1007 = zext i32 %1006 to i64
  %1008 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1005, i64 noundef %1007) #9
  %1009 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1008, i32 0, i32 9
  %1010 = load i32, ptr %1009, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #9
  store i32 5, ptr %131, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %990, ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef %130, i32 noundef %1010, ptr noundef nonnull align 4 dereferenceable(4) %131)
          to label %1011 unwind label %1032

1011:                                             ; preds = %1004
  store i1 false, ptr %132, align 1
  invoke void @__cxa_throw(ptr %990, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1032

1012:                                             ; preds = %967
  %1013 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1014 = extractvalue { ptr, i32 } %1013, 0
  store ptr %1014, ptr %11, align 8
  %1015 = extractvalue { ptr, i32 } %1013, 1
  store i32 %1015, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  br label %1810

1016:                                             ; preds = %974
  %1017 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1018 = extractvalue { ptr, i32 } %1017, 0
  store ptr %1018, ptr %11, align 8
  %1019 = extractvalue { ptr, i32 } %1017, 1
  store i32 %1019, ptr %12, align 4
  br label %1058

1020:                                             ; preds = %989
  %1021 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1022 = extractvalue { ptr, i32 } %1021, 0
  store ptr %1022, ptr %11, align 8
  %1023 = extractvalue { ptr, i32 } %1021, 1
  store i32 %1023, ptr %12, align 4
  br label %1038

1024:                                             ; preds = %997
  %1025 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1026 = extractvalue { ptr, i32 } %1025, 0
  store ptr %1026, ptr %11, align 8
  %1027 = extractvalue { ptr, i32 } %1025, 1
  store i32 %1027, ptr %12, align 4
  br label %1037

1028:                                             ; preds = %998
  %1029 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1030 = extractvalue { ptr, i32 } %1029, 0
  store ptr %1030, ptr %11, align 8
  %1031 = extractvalue { ptr, i32 } %1029, 1
  store i32 %1031, ptr %12, align 4
  br label %1036

1032:                                             ; preds = %1011, %1004
  %1033 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1034 = extractvalue { ptr, i32 } %1033, 0
  store ptr %1034, ptr %11, align 8
  %1035 = extractvalue { ptr, i32 } %1033, 1
  store i32 %1035, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #9
  br label %1036

1036:                                             ; preds = %1032, %1028
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #9
  br label %1037

1037:                                             ; preds = %1036, %1024
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #9
  br label %1038

1038:                                             ; preds = %1037, %1020
  call void @llvm.lifetime.end.p0(i64 32, ptr %129) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #9
  %1039 = load i1, ptr %132, align 1
  br i1 %1039, label %1040, label %1041

1040:                                             ; preds = %1038
  call void @__cxa_free_exception(ptr %990) #9
  br label %1041

1041:                                             ; preds = %1040, %1038
  br label %1058

1042:                                             ; preds = %983
  %1043 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %126) #9
  %1044 = getelementptr inbounds %"struct.std::pair.78", ptr %1043, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #9
  store i32 36488, ptr %133, align 4, !tbaa !9
  %1045 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull align 4 dereferenceable(4) %133)
          to label %1046 unwind label %1047

1046:                                             ; preds = %1042
  store ptr %1044, ptr %1045, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #9
  br label %1051

1047:                                             ; preds = %1042
  %1048 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1049 = extractvalue { ptr, i32 } %1048, 0
  store ptr %1049, ptr %11, align 8
  %1050 = extractvalue { ptr, i32 } %1048, 1
  store i32 %1050, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #9
  br label %1058

1051:                                             ; preds = %1046
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #9
  store i32 36488, ptr %134, align 4, !tbaa !9
  %1052 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %134)
          to label %1053 unwind label %1054

1053:                                             ; preds = %1051
  store i8 1, ptr %1052, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #9
  br label %1803

1054:                                             ; preds = %1051
  %1055 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1056 = extractvalue { ptr, i32 } %1055, 0
  store ptr %1056, ptr %11, align 8
  %1057 = extractvalue { ptr, i32 } %1055, 1
  store i32 %1057, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #9
  br label %1058

1058:                                             ; preds = %1054, %1047, %1041, %1016
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #9
  br label %1810

1059:                                             ; preds = %922
  %1060 = load i32, ptr %58, align 4, !tbaa !9
  %1061 = icmp eq i32 %1060, 36487
  br i1 %1061, label %1062, label %1196

1062:                                             ; preds = %1059
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #9
  store i32 36487, ptr %135, align 4, !tbaa !9
  %1063 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %135)
          to label %1064 unwind label %1083

1064:                                             ; preds = %1062
  %1065 = load i8, ptr %1063, align 1, !tbaa !23, !range !25, !noundef !26
  %1066 = trunc i8 %1065 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #9
  br i1 %1066, label %1067, label %1104

1067:                                             ; preds = %1064
  store i1 true, ptr %140, align 1
  %1068 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %136) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %137) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %137) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %136, ptr noundef @.str.174, ptr noundef nonnull align 1 dereferenceable(1) %137)
          to label %1069 unwind label %1087

1069:                                             ; preds = %1067
  %1070 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1071 = load i32, ptr %57, align 4, !tbaa !9
  %1072 = zext i32 %1071 to i64
  %1073 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1070, i64 noundef %1072) #9
  %1074 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1073, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull align 8 dereferenceable(32) %1074)
          to label %1075 unwind label %1091

1075:                                             ; preds = %1069
  %1076 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1077 = load i32, ptr %57, align 4, !tbaa !9
  %1078 = zext i32 %1077 to i64
  %1079 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1076, i64 noundef %1078) #9
  %1080 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1079, i32 0, i32 9
  %1081 = load i32, ptr %1080, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #9
  store i32 5, ptr %139, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1068, ptr noundef nonnull align 8 dereferenceable(32) %136, ptr noundef %138, i32 noundef %1081, ptr noundef nonnull align 4 dereferenceable(4) %139)
          to label %1082 unwind label %1095

1082:                                             ; preds = %1075
  store i1 false, ptr %140, align 1
  invoke void @__cxa_throw(ptr %1068, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1095

1083:                                             ; preds = %1062
  %1084 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1085 = extractvalue { ptr, i32 } %1084, 0
  store ptr %1085, ptr %11, align 8
  %1086 = extractvalue { ptr, i32 } %1084, 1
  store i32 %1086, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #9
  br label %1810

1087:                                             ; preds = %1067
  %1088 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1089 = extractvalue { ptr, i32 } %1088, 0
  store ptr %1089, ptr %11, align 8
  %1090 = extractvalue { ptr, i32 } %1088, 1
  store i32 %1090, ptr %12, align 4
  br label %1100

1091:                                             ; preds = %1069
  %1092 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1093 = extractvalue { ptr, i32 } %1092, 0
  store ptr %1093, ptr %11, align 8
  %1094 = extractvalue { ptr, i32 } %1092, 1
  store i32 %1094, ptr %12, align 4
  br label %1099

1095:                                             ; preds = %1082, %1075
  %1096 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1097 = extractvalue { ptr, i32 } %1096, 0
  store ptr %1097, ptr %11, align 8
  %1098 = extractvalue { ptr, i32 } %1096, 1
  store i32 %1098, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #9
  br label %1099

1099:                                             ; preds = %1095, %1091
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #9
  br label %1100

1100:                                             ; preds = %1099, %1087
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %137) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %137) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %136) #9
  %1101 = load i1, ptr %140, align 1
  br i1 %1101, label %1102, label %1103

1102:                                             ; preds = %1100
  call void @__cxa_free_exception(ptr %1068) #9
  br label %1103

1103:                                             ; preds = %1102, %1100
  br label %1810

1104:                                             ; preds = %1064
  %1105 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1106 = load i32, ptr %57, align 4, !tbaa !9
  %1107 = zext i32 %1106 to i64
  %1108 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1105, i64 noundef %1107) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #9
  store i32 -1, ptr %141, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #9
  store i32 1, ptr %142, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #9
  store i32 1, ptr %143, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #9
  store i32 -1, ptr %144, align 4, !tbaa !9
  %1109 = load ptr, ptr %4, align 8, !tbaa !5
  %1110 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1109, i32 0, i32 2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %1108, ptr noundef nonnull align 4 dereferenceable(4) %141, ptr noundef nonnull align 4 dereferenceable(4) %142, ptr noundef nonnull align 4 dereferenceable(4) %143, ptr noundef nonnull align 4 dereferenceable(4) %144, ptr noundef nonnull align 8 dereferenceable(32) %1110)
          to label %1111 unwind label %1149

1111:                                             ; preds = %1104
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #9
  %1112 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %1113 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1114 = load i32, ptr %57, align 4, !tbaa !9
  %1115 = zext i32 %1114 to i64
  %1116 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1113, i64 noundef %1115) #9
  %1117 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1116, i32 0, i32 4
  %1118 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1117, i64 noundef 0) #9
  %1119 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %1112, ptr noundef nonnull align 8 dereferenceable(32) %1118)
          to label %1120 unwind label %1153

1120:                                             ; preds = %1111
  %1121 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %145, i32 0, i32 0
  store ptr %1119, ptr %1121, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #9
  %1122 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %1123 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1122) #9
  %1124 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %146, i32 0, i32 0
  store ptr %1123, ptr %1124, align 8
  %1125 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %145, ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #9
  br i1 %1125, label %1126, label %1179

1126:                                             ; preds = %1120
  store i1 true, ptr %151, align 1
  %1127 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %147) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %148) #9
  %1128 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1129 = load i32, ptr %57, align 4, !tbaa !9
  %1130 = zext i32 %1129 to i64
  %1131 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1128, i64 noundef %1130) #9
  %1132 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1131, i32 0, i32 4
  %1133 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1132, i64 noundef 0) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %148, ptr noundef @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %1133)
          to label %1134 unwind label %1157

1134:                                             ; preds = %1126
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %147, ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef @.str.175)
          to label %1135 unwind label %1161

1135:                                             ; preds = %1134
  %1136 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1137 = load i32, ptr %57, align 4, !tbaa !9
  %1138 = zext i32 %1137 to i64
  %1139 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1136, i64 noundef %1138) #9
  %1140 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1139, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull align 8 dereferenceable(32) %1140)
          to label %1141 unwind label %1165

1141:                                             ; preds = %1135
  %1142 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1143 = load i32, ptr %57, align 4, !tbaa !9
  %1144 = zext i32 %1143 to i64
  %1145 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1142, i64 noundef %1144) #9
  %1146 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1145, i32 0, i32 9
  %1147 = load i32, ptr %1146, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #9
  store i32 5, ptr %150, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1127, ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef %149, i32 noundef %1147, ptr noundef nonnull align 4 dereferenceable(4) %150)
          to label %1148 unwind label %1169

1148:                                             ; preds = %1141
  store i1 false, ptr %151, align 1
  invoke void @__cxa_throw(ptr %1127, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1169

1149:                                             ; preds = %1104
  %1150 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1151 = extractvalue { ptr, i32 } %1150, 0
  store ptr %1151, ptr %11, align 8
  %1152 = extractvalue { ptr, i32 } %1150, 1
  store i32 %1152, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #9
  br label %1810

1153:                                             ; preds = %1111
  %1154 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1155 = extractvalue { ptr, i32 } %1154, 0
  store ptr %1155, ptr %11, align 8
  %1156 = extractvalue { ptr, i32 } %1154, 1
  store i32 %1156, ptr %12, align 4
  br label %1195

1157:                                             ; preds = %1126
  %1158 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1159 = extractvalue { ptr, i32 } %1158, 0
  store ptr %1159, ptr %11, align 8
  %1160 = extractvalue { ptr, i32 } %1158, 1
  store i32 %1160, ptr %12, align 4
  br label %1175

1161:                                             ; preds = %1134
  %1162 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1163 = extractvalue { ptr, i32 } %1162, 0
  store ptr %1163, ptr %11, align 8
  %1164 = extractvalue { ptr, i32 } %1162, 1
  store i32 %1164, ptr %12, align 4
  br label %1174

1165:                                             ; preds = %1135
  %1166 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1167 = extractvalue { ptr, i32 } %1166, 0
  store ptr %1167, ptr %11, align 8
  %1168 = extractvalue { ptr, i32 } %1166, 1
  store i32 %1168, ptr %12, align 4
  br label %1173

1169:                                             ; preds = %1148, %1141
  %1170 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1171 = extractvalue { ptr, i32 } %1170, 0
  store ptr %1171, ptr %11, align 8
  %1172 = extractvalue { ptr, i32 } %1170, 1
  store i32 %1172, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #9
  br label %1173

1173:                                             ; preds = %1169, %1165
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #9
  br label %1174

1174:                                             ; preds = %1173, %1161
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #9
  br label %1175

1175:                                             ; preds = %1174, %1157
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #9
  %1176 = load i1, ptr %151, align 1
  br i1 %1176, label %1177, label %1178

1177:                                             ; preds = %1175
  call void @__cxa_free_exception(ptr %1127) #9
  br label %1178

1178:                                             ; preds = %1177, %1175
  br label %1195

1179:                                             ; preds = %1120
  %1180 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %145) #9
  %1181 = getelementptr inbounds %"struct.std::pair.78", ptr %1180, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #9
  store i32 36487, ptr %152, align 4, !tbaa !9
  %1182 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull align 4 dereferenceable(4) %152)
          to label %1183 unwind label %1184

1183:                                             ; preds = %1179
  store ptr %1181, ptr %1182, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #9
  br label %1188

1184:                                             ; preds = %1179
  %1185 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1186 = extractvalue { ptr, i32 } %1185, 0
  store ptr %1186, ptr %11, align 8
  %1187 = extractvalue { ptr, i32 } %1185, 1
  store i32 %1187, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #9
  br label %1195

1188:                                             ; preds = %1183
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #9
  store i32 36487, ptr %153, align 4, !tbaa !9
  %1189 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %153)
          to label %1190 unwind label %1191

1190:                                             ; preds = %1188
  store i8 1, ptr %1189, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #9
  br label %1802

1191:                                             ; preds = %1188
  %1192 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1193 = extractvalue { ptr, i32 } %1192, 0
  store ptr %1193, ptr %11, align 8
  %1194 = extractvalue { ptr, i32 } %1192, 1
  store i32 %1194, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #9
  br label %1195

1195:                                             ; preds = %1191, %1184, %1178, %1153
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #9
  br label %1810

1196:                                             ; preds = %1059
  %1197 = load i32, ptr %58, align 4, !tbaa !9
  %1198 = icmp eq i32 %1197, 36313
  br i1 %1198, label %1199, label %1333

1199:                                             ; preds = %1196
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #9
  store i32 36313, ptr %154, align 4, !tbaa !9
  %1200 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %154)
          to label %1201 unwind label %1220

1201:                                             ; preds = %1199
  %1202 = load i8, ptr %1200, align 1, !tbaa !23, !range !25, !noundef !26
  %1203 = trunc i8 %1202 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #9
  br i1 %1203, label %1204, label %1241

1204:                                             ; preds = %1201
  store i1 true, ptr %159, align 1
  %1205 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %155) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %156) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef @.str.176, ptr noundef nonnull align 1 dereferenceable(1) %156)
          to label %1206 unwind label %1224

1206:                                             ; preds = %1204
  %1207 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1208 = load i32, ptr %57, align 4, !tbaa !9
  %1209 = zext i32 %1208 to i64
  %1210 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1207, i64 noundef %1209) #9
  %1211 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1210, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef nonnull align 8 dereferenceable(32) %1211)
          to label %1212 unwind label %1228

1212:                                             ; preds = %1206
  %1213 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1214 = load i32, ptr %57, align 4, !tbaa !9
  %1215 = zext i32 %1214 to i64
  %1216 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1213, i64 noundef %1215) #9
  %1217 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1216, i32 0, i32 9
  %1218 = load i32, ptr %1217, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #9
  store i32 5, ptr %158, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1205, ptr noundef nonnull align 8 dereferenceable(32) %155, ptr noundef %157, i32 noundef %1218, ptr noundef nonnull align 4 dereferenceable(4) %158)
          to label %1219 unwind label %1232

1219:                                             ; preds = %1212
  store i1 false, ptr %159, align 1
  invoke void @__cxa_throw(ptr %1205, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1232

1220:                                             ; preds = %1199
  %1221 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1222 = extractvalue { ptr, i32 } %1221, 0
  store ptr %1222, ptr %11, align 8
  %1223 = extractvalue { ptr, i32 } %1221, 1
  store i32 %1223, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #9
  br label %1810

1224:                                             ; preds = %1204
  %1225 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1226 = extractvalue { ptr, i32 } %1225, 0
  store ptr %1226, ptr %11, align 8
  %1227 = extractvalue { ptr, i32 } %1225, 1
  store i32 %1227, ptr %12, align 4
  br label %1237

1228:                                             ; preds = %1206
  %1229 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1230 = extractvalue { ptr, i32 } %1229, 0
  store ptr %1230, ptr %11, align 8
  %1231 = extractvalue { ptr, i32 } %1229, 1
  store i32 %1231, ptr %12, align 4
  br label %1236

1232:                                             ; preds = %1219, %1212
  %1233 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1234 = extractvalue { ptr, i32 } %1233, 0
  store ptr %1234, ptr %11, align 8
  %1235 = extractvalue { ptr, i32 } %1233, 1
  store i32 %1235, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #9
  br label %1236

1236:                                             ; preds = %1232, %1228
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #9
  br label %1237

1237:                                             ; preds = %1236, %1224
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %156) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %155) #9
  %1238 = load i1, ptr %159, align 1
  br i1 %1238, label %1239, label %1240

1239:                                             ; preds = %1237
  call void @__cxa_free_exception(ptr %1205) #9
  br label %1240

1240:                                             ; preds = %1239, %1237
  br label %1810

1241:                                             ; preds = %1201
  %1242 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1243 = load i32, ptr %57, align 4, !tbaa !9
  %1244 = zext i32 %1243 to i64
  %1245 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1242, i64 noundef %1244) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #9
  store i32 -1, ptr %160, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #9
  store i32 1, ptr %161, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #9
  store i32 1, ptr %162, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #9
  store i32 -1, ptr %163, align 4, !tbaa !9
  %1246 = load ptr, ptr %4, align 8, !tbaa !5
  %1247 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1246, i32 0, i32 2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %1245, ptr noundef nonnull align 4 dereferenceable(4) %160, ptr noundef nonnull align 4 dereferenceable(4) %161, ptr noundef nonnull align 4 dereferenceable(4) %162, ptr noundef nonnull align 4 dereferenceable(4) %163, ptr noundef nonnull align 8 dereferenceable(32) %1247)
          to label %1248 unwind label %1286

1248:                                             ; preds = %1241
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %164) #9
  %1249 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %1250 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1251 = load i32, ptr %57, align 4, !tbaa !9
  %1252 = zext i32 %1251 to i64
  %1253 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1250, i64 noundef %1252) #9
  %1254 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1253, i32 0, i32 4
  %1255 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1254, i64 noundef 0) #9
  %1256 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %1249, ptr noundef nonnull align 8 dereferenceable(32) %1255)
          to label %1257 unwind label %1290

1257:                                             ; preds = %1248
  %1258 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %164, i32 0, i32 0
  store ptr %1256, ptr %1258, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %165) #9
  %1259 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 7
  %1260 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1259) #9
  %1261 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %165, i32 0, i32 0
  store ptr %1260, ptr %1261, align 8
  %1262 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull align 8 dereferenceable(8) %165) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #9
  br i1 %1262, label %1263, label %1316

1263:                                             ; preds = %1257
  store i1 true, ptr %170, align 1
  %1264 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %166) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %167) #9
  %1265 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1266 = load i32, ptr %57, align 4, !tbaa !9
  %1267 = zext i32 %1266 to i64
  %1268 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1265, i64 noundef %1267) #9
  %1269 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1268, i32 0, i32 4
  %1270 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1269, i64 noundef 0) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %167, ptr noundef @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %1270)
          to label %1271 unwind label %1294

1271:                                             ; preds = %1263
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %166, ptr noundef nonnull align 8 dereferenceable(32) %167, ptr noundef @.str.177)
          to label %1272 unwind label %1298

1272:                                             ; preds = %1271
  %1273 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1274 = load i32, ptr %57, align 4, !tbaa !9
  %1275 = zext i32 %1274 to i64
  %1276 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1273, i64 noundef %1275) #9
  %1277 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1276, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %168, ptr noundef nonnull align 8 dereferenceable(32) %1277)
          to label %1278 unwind label %1302

1278:                                             ; preds = %1272
  %1279 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1280 = load i32, ptr %57, align 4, !tbaa !9
  %1281 = zext i32 %1280 to i64
  %1282 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1279, i64 noundef %1281) #9
  %1283 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1282, i32 0, i32 9
  %1284 = load i32, ptr %1283, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #9
  store i32 5, ptr %169, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1264, ptr noundef nonnull align 8 dereferenceable(32) %166, ptr noundef %168, i32 noundef %1284, ptr noundef nonnull align 4 dereferenceable(4) %169)
          to label %1285 unwind label %1306

1285:                                             ; preds = %1278
  store i1 false, ptr %170, align 1
  invoke void @__cxa_throw(ptr %1264, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1306

1286:                                             ; preds = %1241
  %1287 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1288 = extractvalue { ptr, i32 } %1287, 0
  store ptr %1288, ptr %11, align 8
  %1289 = extractvalue { ptr, i32 } %1287, 1
  store i32 %1289, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #9
  br label %1810

1290:                                             ; preds = %1248
  %1291 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1292 = extractvalue { ptr, i32 } %1291, 0
  store ptr %1292, ptr %11, align 8
  %1293 = extractvalue { ptr, i32 } %1291, 1
  store i32 %1293, ptr %12, align 4
  br label %1332

1294:                                             ; preds = %1263
  %1295 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1296 = extractvalue { ptr, i32 } %1295, 0
  store ptr %1296, ptr %11, align 8
  %1297 = extractvalue { ptr, i32 } %1295, 1
  store i32 %1297, ptr %12, align 4
  br label %1312

1298:                                             ; preds = %1271
  %1299 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1300 = extractvalue { ptr, i32 } %1299, 0
  store ptr %1300, ptr %11, align 8
  %1301 = extractvalue { ptr, i32 } %1299, 1
  store i32 %1301, ptr %12, align 4
  br label %1311

1302:                                             ; preds = %1272
  %1303 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1304 = extractvalue { ptr, i32 } %1303, 0
  store ptr %1304, ptr %11, align 8
  %1305 = extractvalue { ptr, i32 } %1303, 1
  store i32 %1305, ptr %12, align 4
  br label %1310

1306:                                             ; preds = %1285, %1278
  %1307 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1308 = extractvalue { ptr, i32 } %1307, 0
  store ptr %1308, ptr %11, align 8
  %1309 = extractvalue { ptr, i32 } %1307, 1
  store i32 %1309, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #9
  br label %1310

1310:                                             ; preds = %1306, %1302
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #9
  br label %1311

1311:                                             ; preds = %1310, %1298
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #9
  br label %1312

1312:                                             ; preds = %1311, %1294
  call void @llvm.lifetime.end.p0(i64 32, ptr %167) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %166) #9
  %1313 = load i1, ptr %170, align 1
  br i1 %1313, label %1314, label %1315

1314:                                             ; preds = %1312
  call void @__cxa_free_exception(ptr %1264) #9
  br label %1315

1315:                                             ; preds = %1314, %1312
  br label %1332

1316:                                             ; preds = %1257
  %1317 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %164) #9
  %1318 = getelementptr inbounds %"struct.std::pair.78", ptr %1317, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #9
  store i32 36313, ptr %171, align 4, !tbaa !9
  %1319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef nonnull align 4 dereferenceable(4) %171)
          to label %1320 unwind label %1321

1320:                                             ; preds = %1316
  store ptr %1318, ptr %1319, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #9
  br label %1325

1321:                                             ; preds = %1316
  %1322 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1323 = extractvalue { ptr, i32 } %1322, 0
  store ptr %1323, ptr %11, align 8
  %1324 = extractvalue { ptr, i32 } %1322, 1
  store i32 %1324, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #9
  br label %1332

1325:                                             ; preds = %1320
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #9
  store i32 36313, ptr %172, align 4, !tbaa !9
  %1326 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %172)
          to label %1327 unwind label %1328

1327:                                             ; preds = %1325
  store i8 1, ptr %1326, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #9
  br label %1801

1328:                                             ; preds = %1325
  %1329 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1330 = extractvalue { ptr, i32 } %1329, 0
  store ptr %1330, ptr %11, align 8
  %1331 = extractvalue { ptr, i32 } %1329, 1
  store i32 %1331, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #9
  br label %1332

1332:                                             ; preds = %1328, %1321, %1315, %1290
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #9
  br label %1810

1333:                                             ; preds = %1196
  %1334 = load i32, ptr %58, align 4, !tbaa !9
  %1335 = icmp eq i32 %1334, 7168
  br i1 %1335, label %1336, label %1464

1336:                                             ; preds = %1333
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #9
  store i32 7168, ptr %173, align 4, !tbaa !9
  %1337 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %173)
          to label %1338 unwind label %1357

1338:                                             ; preds = %1336
  %1339 = load i8, ptr %1337, align 1, !tbaa !23, !range !25, !noundef !26
  %1340 = trunc i8 %1339 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #9
  br i1 %1340, label %1341, label %1378

1341:                                             ; preds = %1338
  store i1 true, ptr %178, align 1
  %1342 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %174) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %175) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef @.str.176, ptr noundef nonnull align 1 dereferenceable(1) %175)
          to label %1343 unwind label %1361

1343:                                             ; preds = %1341
  %1344 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1345 = load i32, ptr %57, align 4, !tbaa !9
  %1346 = zext i32 %1345 to i64
  %1347 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1344, i64 noundef %1346) #9
  %1348 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1347, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %176, ptr noundef nonnull align 8 dereferenceable(32) %1348)
          to label %1349 unwind label %1365

1349:                                             ; preds = %1343
  %1350 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1351 = load i32, ptr %57, align 4, !tbaa !9
  %1352 = zext i32 %1351 to i64
  %1353 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1350, i64 noundef %1352) #9
  %1354 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1353, i32 0, i32 9
  %1355 = load i32, ptr %1354, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #9
  store i32 5, ptr %177, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1342, ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef %176, i32 noundef %1355, ptr noundef nonnull align 4 dereferenceable(4) %177)
          to label %1356 unwind label %1369

1356:                                             ; preds = %1349
  store i1 false, ptr %178, align 1
  invoke void @__cxa_throw(ptr %1342, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1369

1357:                                             ; preds = %1336
  %1358 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1359 = extractvalue { ptr, i32 } %1358, 0
  store ptr %1359, ptr %11, align 8
  %1360 = extractvalue { ptr, i32 } %1358, 1
  store i32 %1360, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #9
  br label %1810

1361:                                             ; preds = %1341
  %1362 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1363 = extractvalue { ptr, i32 } %1362, 0
  store ptr %1363, ptr %11, align 8
  %1364 = extractvalue { ptr, i32 } %1362, 1
  store i32 %1364, ptr %12, align 4
  br label %1374

1365:                                             ; preds = %1343
  %1366 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1367 = extractvalue { ptr, i32 } %1366, 0
  store ptr %1367, ptr %11, align 8
  %1368 = extractvalue { ptr, i32 } %1366, 1
  store i32 %1368, ptr %12, align 4
  br label %1373

1369:                                             ; preds = %1356, %1349
  %1370 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1371 = extractvalue { ptr, i32 } %1370, 0
  store ptr %1371, ptr %11, align 8
  %1372 = extractvalue { ptr, i32 } %1370, 1
  store i32 %1372, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #9
  br label %1373

1373:                                             ; preds = %1369, %1365
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #9
  br label %1374

1374:                                             ; preds = %1373, %1361
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %175) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %175) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #9
  %1375 = load i1, ptr %178, align 1
  br i1 %1375, label %1376, label %1377

1376:                                             ; preds = %1374
  call void @__cxa_free_exception(ptr %1342) #9
  br label %1377

1377:                                             ; preds = %1376, %1374
  br label %1810

1378:                                             ; preds = %1338
  %1379 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1380 = load i32, ptr %57, align 4, !tbaa !9
  %1381 = zext i32 %1380 to i64
  %1382 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1379, i64 noundef %1381) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #9
  store i32 -1, ptr %179, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #9
  store i32 1, ptr %180, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #9
  store i32 1, ptr %181, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #9
  store i32 -1, ptr %182, align 4, !tbaa !9
  %1383 = load ptr, ptr %4, align 8, !tbaa !5
  %1384 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1383, i32 0, i32 2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %1382, ptr noundef nonnull align 4 dereferenceable(4) %179, ptr noundef nonnull align 4 dereferenceable(4) %180, ptr noundef nonnull align 4 dereferenceable(4) %181, ptr noundef nonnull align 4 dereferenceable(4) %182, ptr noundef nonnull align 8 dereferenceable(32) %1384)
          to label %1385 unwind label %1423

1385:                                             ; preds = %1378
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %183) #9
  %1386 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 8
  %1387 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1388 = load i32, ptr %57, align 4, !tbaa !9
  %1389 = zext i32 %1388 to i64
  %1390 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1387, i64 noundef %1389) #9
  %1391 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1390, i32 0, i32 4
  %1392 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1391, i64 noundef 0) #9
  %1393 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %1386, ptr noundef nonnull align 8 dereferenceable(32) %1392)
          to label %1394 unwind label %1427

1394:                                             ; preds = %1385
  %1395 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %183, i32 0, i32 0
  store ptr %1393, ptr %1395, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %184) #9
  %1396 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 8
  %1397 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1396) #9
  %1398 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %184, i32 0, i32 0
  store ptr %1397, ptr %1398, align 8
  %1399 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %183, ptr noundef nonnull align 8 dereferenceable(8) %184) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #9
  br i1 %1399, label %1400, label %1453

1400:                                             ; preds = %1394
  store i1 true, ptr %189, align 1
  %1401 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %185) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %186) #9
  %1402 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1403 = load i32, ptr %57, align 4, !tbaa !9
  %1404 = zext i32 %1403 to i64
  %1405 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1402, i64 noundef %1404) #9
  %1406 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1405, i32 0, i32 4
  %1407 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1406, i64 noundef 0) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %186, ptr noundef @.str.178, ptr noundef nonnull align 8 dereferenceable(32) %1407)
          to label %1408 unwind label %1431

1408:                                             ; preds = %1400
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %185, ptr noundef nonnull align 8 dereferenceable(32) %186, ptr noundef @.str.179)
          to label %1409 unwind label %1435

1409:                                             ; preds = %1408
  %1410 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1411 = load i32, ptr %57, align 4, !tbaa !9
  %1412 = zext i32 %1411 to i64
  %1413 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1410, i64 noundef %1412) #9
  %1414 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1413, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef nonnull align 8 dereferenceable(32) %1414)
          to label %1415 unwind label %1439

1415:                                             ; preds = %1409
  %1416 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1417 = load i32, ptr %57, align 4, !tbaa !9
  %1418 = zext i32 %1417 to i64
  %1419 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1416, i64 noundef %1418) #9
  %1420 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1419, i32 0, i32 9
  %1421 = load i32, ptr %1420, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #9
  store i32 5, ptr %188, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1401, ptr noundef nonnull align 8 dereferenceable(32) %185, ptr noundef %187, i32 noundef %1421, ptr noundef nonnull align 4 dereferenceable(4) %188)
          to label %1422 unwind label %1443

1422:                                             ; preds = %1415
  store i1 false, ptr %189, align 1
  invoke void @__cxa_throw(ptr %1401, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1443

1423:                                             ; preds = %1378
  %1424 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1425 = extractvalue { ptr, i32 } %1424, 0
  store ptr %1425, ptr %11, align 8
  %1426 = extractvalue { ptr, i32 } %1424, 1
  store i32 %1426, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #9
  br label %1810

1427:                                             ; preds = %1385
  %1428 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1429 = extractvalue { ptr, i32 } %1428, 0
  store ptr %1429, ptr %11, align 8
  %1430 = extractvalue { ptr, i32 } %1428, 1
  store i32 %1430, ptr %12, align 4
  br label %1463

1431:                                             ; preds = %1400
  %1432 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1433 = extractvalue { ptr, i32 } %1432, 0
  store ptr %1433, ptr %11, align 8
  %1434 = extractvalue { ptr, i32 } %1432, 1
  store i32 %1434, ptr %12, align 4
  br label %1449

1435:                                             ; preds = %1408
  %1436 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1437 = extractvalue { ptr, i32 } %1436, 0
  store ptr %1437, ptr %11, align 8
  %1438 = extractvalue { ptr, i32 } %1436, 1
  store i32 %1438, ptr %12, align 4
  br label %1448

1439:                                             ; preds = %1409
  %1440 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1441 = extractvalue { ptr, i32 } %1440, 0
  store ptr %1441, ptr %11, align 8
  %1442 = extractvalue { ptr, i32 } %1440, 1
  store i32 %1442, ptr %12, align 4
  br label %1447

1443:                                             ; preds = %1422, %1415
  %1444 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1445 = extractvalue { ptr, i32 } %1444, 0
  store ptr %1445, ptr %11, align 8
  %1446 = extractvalue { ptr, i32 } %1444, 1
  store i32 %1446, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #9
  br label %1447

1447:                                             ; preds = %1443, %1439
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #9
  br label %1448

1448:                                             ; preds = %1447, %1435
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #9
  br label %1449

1449:                                             ; preds = %1448, %1431
  call void @llvm.lifetime.end.p0(i64 32, ptr %186) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #9
  %1450 = load i1, ptr %189, align 1
  br i1 %1450, label %1451, label %1452

1451:                                             ; preds = %1449
  call void @__cxa_free_exception(ptr %1401) #9
  br label %1452

1452:                                             ; preds = %1451, %1449
  br label %1463

1453:                                             ; preds = %1394
  %1454 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %183) #9
  %1455 = getelementptr inbounds %"struct.std::pair.87", ptr %1454, i32 0, i32 1
  store ptr %1455, ptr %23, align 8, !tbaa !5
  br label %1456

1456:                                             ; preds = %1453
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #9
  store i32 7168, ptr %190, align 4, !tbaa !9
  %1457 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %190)
          to label %1458 unwind label %1459

1458:                                             ; preds = %1456
  store i8 1, ptr %1457, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #9
  br label %1800

1459:                                             ; preds = %1456
  %1460 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1461 = extractvalue { ptr, i32 } %1460, 0
  store ptr %1461, ptr %11, align 8
  %1462 = extractvalue { ptr, i32 } %1460, 1
  store i32 %1462, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #9
  br label %1463

1463:                                             ; preds = %1459, %1452, %1427
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #9
  br label %1810

1464:                                             ; preds = %1333
  %1465 = load i32, ptr %58, align 4, !tbaa !9
  %1466 = icmp eq i32 %1465, 5376
  br i1 %1466, label %1467, label %1595

1467:                                             ; preds = %1464
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #9
  store i32 5376, ptr %191, align 4, !tbaa !9
  %1468 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %191)
          to label %1469 unwind label %1488

1469:                                             ; preds = %1467
  %1470 = load i8, ptr %1468, align 1, !tbaa !23, !range !25, !noundef !26
  %1471 = trunc i8 %1470 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #9
  br i1 %1471, label %1472, label %1509

1472:                                             ; preds = %1469
  store i1 true, ptr %196, align 1
  %1473 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %192) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %193) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %192, ptr noundef @.str.180, ptr noundef nonnull align 1 dereferenceable(1) %193)
          to label %1474 unwind label %1492

1474:                                             ; preds = %1472
  %1475 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1476 = load i32, ptr %57, align 4, !tbaa !9
  %1477 = zext i32 %1476 to i64
  %1478 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1475, i64 noundef %1477) #9
  %1479 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1478, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %194, ptr noundef nonnull align 8 dereferenceable(32) %1479)
          to label %1480 unwind label %1496

1480:                                             ; preds = %1474
  %1481 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1482 = load i32, ptr %57, align 4, !tbaa !9
  %1483 = zext i32 %1482 to i64
  %1484 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1481, i64 noundef %1483) #9
  %1485 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1484, i32 0, i32 9
  %1486 = load i32, ptr %1485, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #9
  store i32 5, ptr %195, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1473, ptr noundef nonnull align 8 dereferenceable(32) %192, ptr noundef %194, i32 noundef %1486, ptr noundef nonnull align 4 dereferenceable(4) %195)
          to label %1487 unwind label %1500

1487:                                             ; preds = %1480
  store i1 false, ptr %196, align 1
  invoke void @__cxa_throw(ptr %1473, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1500

1488:                                             ; preds = %1467
  %1489 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1490 = extractvalue { ptr, i32 } %1489, 0
  store ptr %1490, ptr %11, align 8
  %1491 = extractvalue { ptr, i32 } %1489, 1
  store i32 %1491, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #9
  br label %1810

1492:                                             ; preds = %1472
  %1493 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1494 = extractvalue { ptr, i32 } %1493, 0
  store ptr %1494, ptr %11, align 8
  %1495 = extractvalue { ptr, i32 } %1493, 1
  store i32 %1495, ptr %12, align 4
  br label %1505

1496:                                             ; preds = %1474
  %1497 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1498 = extractvalue { ptr, i32 } %1497, 0
  store ptr %1498, ptr %11, align 8
  %1499 = extractvalue { ptr, i32 } %1497, 1
  store i32 %1499, ptr %12, align 4
  br label %1504

1500:                                             ; preds = %1487, %1480
  %1501 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1502 = extractvalue { ptr, i32 } %1501, 0
  store ptr %1502, ptr %11, align 8
  %1503 = extractvalue { ptr, i32 } %1501, 1
  store i32 %1503, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #9
  br label %1504

1504:                                             ; preds = %1500, %1496
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #9
  br label %1505

1505:                                             ; preds = %1504, %1492
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %193) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %192) #9
  %1506 = load i1, ptr %196, align 1
  br i1 %1506, label %1507, label %1508

1507:                                             ; preds = %1505
  call void @__cxa_free_exception(ptr %1473) #9
  br label %1508

1508:                                             ; preds = %1507, %1505
  br label %1810

1509:                                             ; preds = %1469
  %1510 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1511 = load i32, ptr %57, align 4, !tbaa !9
  %1512 = zext i32 %1511 to i64
  %1513 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1510, i64 noundef %1512) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #9
  store i32 -1, ptr %197, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #9
  store i32 1, ptr %198, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #9
  store i32 1, ptr %199, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #9
  store i32 -1, ptr %200, align 4, !tbaa !9
  %1514 = load ptr, ptr %4, align 8, !tbaa !5
  %1515 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1514, i32 0, i32 2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %1513, ptr noundef nonnull align 4 dereferenceable(4) %197, ptr noundef nonnull align 4 dereferenceable(4) %198, ptr noundef nonnull align 4 dereferenceable(4) %199, ptr noundef nonnull align 4 dereferenceable(4) %200, ptr noundef nonnull align 8 dereferenceable(32) %1515)
          to label %1516 unwind label %1527

1516:                                             ; preds = %1509
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #9
  store i8 1, ptr %24, align 1, !tbaa !23
  %1517 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1518 = load i32, ptr %57, align 4, !tbaa !9
  %1519 = zext i32 %1518 to i64
  %1520 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1517, i64 noundef %1519) #9
  %1521 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1520, i32 0, i32 4
  %1522 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1521, i64 noundef 0) #9
  %1523 = load ptr, ptr @_ZN4Glip7Modules12LayoutLoader8keywordsE, align 16, !tbaa !5
  %1524 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %1522, ptr noundef %1523)
          to label %1525 unwind label %531

1525:                                             ; preds = %1516
  br i1 %1524, label %1526, label %1531

1526:                                             ; preds = %1525
  store i8 1, ptr %25, align 1, !tbaa !23
  br label %1588

1527:                                             ; preds = %1509
  %1528 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1529 = extractvalue { ptr, i32 } %1528, 0
  store ptr %1529, ptr %11, align 8
  %1530 = extractvalue { ptr, i32 } %1528, 1
  store i32 %1530, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #9
  br label %1810

1531:                                             ; preds = %1525
  %1532 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1533 = load i32, ptr %57, align 4, !tbaa !9
  %1534 = zext i32 %1533 to i64
  %1535 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1532, i64 noundef %1534) #9
  %1536 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1535, i32 0, i32 4
  %1537 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1536, i64 noundef 0) #9
  %1538 = load ptr, ptr getelementptr inbounds ([30 x ptr], ptr @_ZN4Glip7Modules12LayoutLoader8keywordsE, i64 0, i64 1), align 8, !tbaa !5
  %1539 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %1537, ptr noundef %1538)
          to label %1540 unwind label %531

1540:                                             ; preds = %1531
  br i1 %1539, label %1541, label %1542

1541:                                             ; preds = %1540
  store i8 0, ptr %25, align 1, !tbaa !23
  br label %1587

1542:                                             ; preds = %1540
  store i1 true, ptr %205, align 1
  %1543 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %201) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %202) #9
  %1544 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1545 = load i32, ptr %57, align 4, !tbaa !9
  %1546 = zext i32 %1545 to i64
  %1547 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1544, i64 noundef %1546) #9
  %1548 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1547, i32 0, i32 4
  %1549 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1548, i64 noundef 0) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %202, ptr noundef @.str.181, ptr noundef nonnull align 8 dereferenceable(32) %1549)
          to label %1550 unwind label %1565

1550:                                             ; preds = %1542
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %201, ptr noundef nonnull align 8 dereferenceable(32) %202, ptr noundef @.str.58)
          to label %1551 unwind label %1569

1551:                                             ; preds = %1550
  %1552 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1553 = load i32, ptr %57, align 4, !tbaa !9
  %1554 = zext i32 %1553 to i64
  %1555 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1552, i64 noundef %1554) #9
  %1556 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1555, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %203, ptr noundef nonnull align 8 dereferenceable(32) %1556)
          to label %1557 unwind label %1573

1557:                                             ; preds = %1551
  %1558 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1559 = load i32, ptr %57, align 4, !tbaa !9
  %1560 = zext i32 %1559 to i64
  %1561 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1558, i64 noundef %1560) #9
  %1562 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1561, i32 0, i32 9
  %1563 = load i32, ptr %1562, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #9
  store i32 5, ptr %204, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1543, ptr noundef nonnull align 8 dereferenceable(32) %201, ptr noundef %203, i32 noundef %1563, ptr noundef nonnull align 4 dereferenceable(4) %204)
          to label %1564 unwind label %1577

1564:                                             ; preds = %1557
  store i1 false, ptr %205, align 1
  invoke void @__cxa_throw(ptr %1543, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1577

1565:                                             ; preds = %1542
  %1566 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1567 = extractvalue { ptr, i32 } %1566, 0
  store ptr %1567, ptr %11, align 8
  %1568 = extractvalue { ptr, i32 } %1566, 1
  store i32 %1568, ptr %12, align 4
  br label %1583

1569:                                             ; preds = %1550
  %1570 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1571 = extractvalue { ptr, i32 } %1570, 0
  store ptr %1571, ptr %11, align 8
  %1572 = extractvalue { ptr, i32 } %1570, 1
  store i32 %1572, ptr %12, align 4
  br label %1582

1573:                                             ; preds = %1551
  %1574 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1575 = extractvalue { ptr, i32 } %1574, 0
  store ptr %1575, ptr %11, align 8
  %1576 = extractvalue { ptr, i32 } %1574, 1
  store i32 %1576, ptr %12, align 4
  br label %1581

1577:                                             ; preds = %1564, %1557
  %1578 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1579 = extractvalue { ptr, i32 } %1578, 0
  store ptr %1579, ptr %11, align 8
  %1580 = extractvalue { ptr, i32 } %1578, 1
  store i32 %1580, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #9
  br label %1581

1581:                                             ; preds = %1577, %1573
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %201) #9
  br label %1582

1582:                                             ; preds = %1581, %1569
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %202) #9
  br label %1583

1583:                                             ; preds = %1582, %1565
  call void @llvm.lifetime.end.p0(i64 32, ptr %202) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %201) #9
  %1584 = load i1, ptr %205, align 1
  br i1 %1584, label %1585, label %1586

1585:                                             ; preds = %1583
  call void @__cxa_free_exception(ptr %1543) #9
  br label %1586

1586:                                             ; preds = %1585, %1583
  br label %1810

1587:                                             ; preds = %1541
  br label %1588

1588:                                             ; preds = %1587, %1526
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #9
  store i32 5376, ptr %206, align 4, !tbaa !9
  %1589 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %206)
          to label %1590 unwind label %1591

1590:                                             ; preds = %1588
  store i8 1, ptr %1589, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #9
  br label %1799

1591:                                             ; preds = %1588
  %1592 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1593 = extractvalue { ptr, i32 } %1592, 0
  store ptr %1593, ptr %11, align 8
  %1594 = extractvalue { ptr, i32 } %1592, 1
  store i32 %1594, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #9
  br label %1810

1595:                                             ; preds = %1464
  %1596 = load i32, ptr %58, align 4, !tbaa !9
  %1597 = icmp eq i32 %1596, 3042
  br i1 %1597, label %1598, label %1682

1598:                                             ; preds = %1595
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #9
  store i32 3042, ptr %207, align 4, !tbaa !9
  %1599 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %207)
          to label %1600 unwind label %1619

1600:                                             ; preds = %1598
  %1601 = load i8, ptr %1599, align 1, !tbaa !23, !range !25, !noundef !26
  %1602 = trunc i8 %1601 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #9
  br i1 %1602, label %1603, label %1640

1603:                                             ; preds = %1600
  store i1 true, ptr %212, align 1
  %1604 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %208) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %209) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %209) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %208, ptr noundef @.str.182, ptr noundef nonnull align 1 dereferenceable(1) %209)
          to label %1605 unwind label %1623

1605:                                             ; preds = %1603
  %1606 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1607 = load i32, ptr %57, align 4, !tbaa !9
  %1608 = zext i32 %1607 to i64
  %1609 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1606, i64 noundef %1608) #9
  %1610 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1609, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %210, ptr noundef nonnull align 8 dereferenceable(32) %1610)
          to label %1611 unwind label %1627

1611:                                             ; preds = %1605
  %1612 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1613 = load i32, ptr %57, align 4, !tbaa !9
  %1614 = zext i32 %1613 to i64
  %1615 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1612, i64 noundef %1614) #9
  %1616 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1615, i32 0, i32 9
  %1617 = load i32, ptr %1616, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #9
  store i32 5, ptr %211, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1604, ptr noundef nonnull align 8 dereferenceable(32) %208, ptr noundef %210, i32 noundef %1617, ptr noundef nonnull align 4 dereferenceable(4) %211)
          to label %1618 unwind label %1631

1618:                                             ; preds = %1611
  store i1 false, ptr %212, align 1
  invoke void @__cxa_throw(ptr %1604, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1631

1619:                                             ; preds = %1598
  %1620 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1621 = extractvalue { ptr, i32 } %1620, 0
  store ptr %1621, ptr %11, align 8
  %1622 = extractvalue { ptr, i32 } %1620, 1
  store i32 %1622, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #9
  br label %1810

1623:                                             ; preds = %1603
  %1624 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1625 = extractvalue { ptr, i32 } %1624, 0
  store ptr %1625, ptr %11, align 8
  %1626 = extractvalue { ptr, i32 } %1624, 1
  store i32 %1626, ptr %12, align 4
  br label %1636

1627:                                             ; preds = %1605
  %1628 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1629 = extractvalue { ptr, i32 } %1628, 0
  store ptr %1629, ptr %11, align 8
  %1630 = extractvalue { ptr, i32 } %1628, 1
  store i32 %1630, ptr %12, align 4
  br label %1635

1631:                                             ; preds = %1618, %1611
  %1632 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1633 = extractvalue { ptr, i32 } %1632, 0
  store ptr %1633, ptr %11, align 8
  %1634 = extractvalue { ptr, i32 } %1632, 1
  store i32 %1634, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %210) #9
  br label %1635

1635:                                             ; preds = %1631, %1627
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #9
  br label %1636

1636:                                             ; preds = %1635, %1623
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %209) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %209) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #9
  %1637 = load i1, ptr %212, align 1
  br i1 %1637, label %1638, label %1639

1638:                                             ; preds = %1636
  call void @__cxa_free_exception(ptr %1604) #9
  br label %1639

1639:                                             ; preds = %1638, %1636
  br label %1810

1640:                                             ; preds = %1600
  %1641 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1642 = load i32, ptr %57, align 4, !tbaa !9
  %1643 = zext i32 %1642 to i64
  %1644 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1641, i64 noundef %1643) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #9
  store i32 -1, ptr %213, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #9
  store i32 3, ptr %214, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #9
  store i32 3, ptr %215, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #9
  store i32 -1, ptr %216, align 4, !tbaa !9
  %1645 = load ptr, ptr %4, align 8, !tbaa !5
  %1646 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1645, i32 0, i32 2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %1644, ptr noundef nonnull align 4 dereferenceable(4) %213, ptr noundef nonnull align 4 dereferenceable(4) %214, ptr noundef nonnull align 4 dereferenceable(4) %215, ptr noundef nonnull align 4 dereferenceable(4) %216, ptr noundef nonnull align 8 dereferenceable(32) %1646)
          to label %1647 unwind label %1674

1647:                                             ; preds = %1640
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #9
  store i8 1, ptr %26, align 1, !tbaa !23
  %1648 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1649 = load i32, ptr %57, align 4, !tbaa !9
  %1650 = zext i32 %1649 to i64
  %1651 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1648, i64 noundef %1650) #9
  %1652 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1651, i32 0, i32 4
  %1653 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1652, i64 noundef 0) #9
  %1654 = invoke noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %1653)
          to label %1655 unwind label %531

1655:                                             ; preds = %1647
  store i32 %1654, ptr %27, align 4, !tbaa !9
  %1656 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1657 = load i32, ptr %57, align 4, !tbaa !9
  %1658 = zext i32 %1657 to i64
  %1659 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1656, i64 noundef %1658) #9
  %1660 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1659, i32 0, i32 4
  %1661 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1660, i64 noundef 1) #9
  %1662 = invoke noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %1661)
          to label %1663 unwind label %531

1663:                                             ; preds = %1655
  store i32 %1662, ptr %28, align 4, !tbaa !9
  %1664 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1665 = load i32, ptr %57, align 4, !tbaa !9
  %1666 = zext i32 %1665 to i64
  %1667 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1664, i64 noundef %1666) #9
  %1668 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1667, i32 0, i32 4
  %1669 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1668, i64 noundef 2) #9
  %1670 = invoke noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %1669)
          to label %1671 unwind label %531

1671:                                             ; preds = %1663
  store i32 %1670, ptr %29, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #9
  store i32 3042, ptr %217, align 4, !tbaa !9
  %1672 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %217)
          to label %1673 unwind label %1678

1673:                                             ; preds = %1671
  store i8 1, ptr %1672, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #9
  br label %1798

1674:                                             ; preds = %1640
  %1675 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1676 = extractvalue { ptr, i32 } %1675, 0
  store ptr %1676, ptr %11, align 8
  %1677 = extractvalue { ptr, i32 } %1675, 1
  store i32 %1677, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #9
  br label %1810

1678:                                             ; preds = %1671
  %1679 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1680 = extractvalue { ptr, i32 } %1679, 0
  store ptr %1680, ptr %11, align 8
  %1681 = extractvalue { ptr, i32 } %1679, 1
  store i32 %1681, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #9
  br label %1810

1682:                                             ; preds = %1595
  %1683 = load i32, ptr %58, align 4, !tbaa !9
  %1684 = icmp eq i32 %1683, 2929
  br i1 %1684, label %1685, label %1753

1685:                                             ; preds = %1682
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #9
  store i32 2929, ptr %218, align 4, !tbaa !9
  %1686 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %218)
          to label %1687 unwind label %1706

1687:                                             ; preds = %1685
  %1688 = load i8, ptr %1686, align 1, !tbaa !23, !range !25, !noundef !26
  %1689 = trunc i8 %1688 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #9
  br i1 %1689, label %1690, label %1727

1690:                                             ; preds = %1687
  store i1 true, ptr %223, align 1
  %1691 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %219) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %220) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %220) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %219, ptr noundef @.str.183, ptr noundef nonnull align 1 dereferenceable(1) %220)
          to label %1692 unwind label %1710

1692:                                             ; preds = %1690
  %1693 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1694 = load i32, ptr %57, align 4, !tbaa !9
  %1695 = zext i32 %1694 to i64
  %1696 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1693, i64 noundef %1695) #9
  %1697 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1696, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %221, ptr noundef nonnull align 8 dereferenceable(32) %1697)
          to label %1698 unwind label %1714

1698:                                             ; preds = %1692
  %1699 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1700 = load i32, ptr %57, align 4, !tbaa !9
  %1701 = zext i32 %1700 to i64
  %1702 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1699, i64 noundef %1701) #9
  %1703 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1702, i32 0, i32 9
  %1704 = load i32, ptr %1703, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #9
  store i32 5, ptr %222, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1691, ptr noundef nonnull align 8 dereferenceable(32) %219, ptr noundef %221, i32 noundef %1704, ptr noundef nonnull align 4 dereferenceable(4) %222)
          to label %1705 unwind label %1718

1705:                                             ; preds = %1698
  store i1 false, ptr %223, align 1
  invoke void @__cxa_throw(ptr %1691, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1718

1706:                                             ; preds = %1685
  %1707 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1708 = extractvalue { ptr, i32 } %1707, 0
  store ptr %1708, ptr %11, align 8
  %1709 = extractvalue { ptr, i32 } %1707, 1
  store i32 %1709, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #9
  br label %1810

1710:                                             ; preds = %1690
  %1711 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1712 = extractvalue { ptr, i32 } %1711, 0
  store ptr %1712, ptr %11, align 8
  %1713 = extractvalue { ptr, i32 } %1711, 1
  store i32 %1713, ptr %12, align 4
  br label %1723

1714:                                             ; preds = %1692
  %1715 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1716 = extractvalue { ptr, i32 } %1715, 0
  store ptr %1716, ptr %11, align 8
  %1717 = extractvalue { ptr, i32 } %1715, 1
  store i32 %1717, ptr %12, align 4
  br label %1722

1718:                                             ; preds = %1705, %1698
  %1719 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1720 = extractvalue { ptr, i32 } %1719, 0
  store ptr %1720, ptr %11, align 8
  %1721 = extractvalue { ptr, i32 } %1719, 1
  store i32 %1721, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #9
  br label %1722

1722:                                             ; preds = %1718, %1714
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %219) #9
  br label %1723

1723:                                             ; preds = %1722, %1710
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %220) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %220) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %219) #9
  %1724 = load i1, ptr %223, align 1
  br i1 %1724, label %1725, label %1726

1725:                                             ; preds = %1723
  call void @__cxa_free_exception(ptr %1691) #9
  br label %1726

1726:                                             ; preds = %1725, %1723
  br label %1810

1727:                                             ; preds = %1687
  %1728 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1729 = load i32, ptr %57, align 4, !tbaa !9
  %1730 = zext i32 %1729 to i64
  %1731 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1728, i64 noundef %1730) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #9
  store i32 -1, ptr %224, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #9
  store i32 1, ptr %225, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #9
  store i32 1, ptr %226, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #9
  store i32 -1, ptr %227, align 4, !tbaa !9
  %1732 = load ptr, ptr %4, align 8, !tbaa !5
  %1733 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1732, i32 0, i32 2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %244, ptr noundef nonnull align 8 dereferenceable(164) %1731, ptr noundef nonnull align 4 dereferenceable(4) %224, ptr noundef nonnull align 4 dereferenceable(4) %225, ptr noundef nonnull align 4 dereferenceable(4) %226, ptr noundef nonnull align 4 dereferenceable(4) %227, ptr noundef nonnull align 8 dereferenceable(32) %1733)
          to label %1734 unwind label %1745

1734:                                             ; preds = %1727
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #9
  store i8 1, ptr %30, align 1, !tbaa !23
  %1735 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1736 = load i32, ptr %57, align 4, !tbaa !9
  %1737 = zext i32 %1736 to i64
  %1738 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1735, i64 noundef %1737) #9
  %1739 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1738, i32 0, i32 4
  %1740 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1739, i64 noundef 0) #9
  %1741 = invoke noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %1740)
          to label %1742 unwind label %531

1742:                                             ; preds = %1734
  store i32 %1741, ptr %31, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #9
  store i32 2929, ptr %228, align 4, !tbaa !9
  %1743 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull align 4 dereferenceable(4) %228)
          to label %1744 unwind label %1749

1744:                                             ; preds = %1742
  store i8 1, ptr %1743, align 1, !tbaa !23
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #9
  br label %1797

1745:                                             ; preds = %1727
  %1746 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1747 = extractvalue { ptr, i32 } %1746, 0
  store ptr %1747, ptr %11, align 8
  %1748 = extractvalue { ptr, i32 } %1746, 1
  store i32 %1748, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #9
  br label %1810

1749:                                             ; preds = %1742
  %1750 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1751 = extractvalue { ptr, i32 } %1750, 0
  store ptr %1751, ptr %11, align 8
  %1752 = extractvalue { ptr, i32 } %1750, 1
  store i32 %1752, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #9
  br label %1810

1753:                                             ; preds = %1682
  store i1 true, ptr %233, align 1
  %1754 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %229) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %230) #9
  %1755 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1756 = load i32, ptr %57, align 4, !tbaa !9
  %1757 = zext i32 %1756 to i64
  %1758 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1755, i64 noundef %1757) #9
  %1759 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1758, 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 %230, ptr noundef @.str.184, ptr noundef nonnull align 8 dereferenceable(32) %1759)
          to label %1760 unwind label %1775

1760:                                             ; preds = %1753
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %229, ptr noundef nonnull align 8 dereferenceable(32) %230, ptr noundef @.str.185)
          to label %1761 unwind label %1779

1761:                                             ; preds = %1760
  %1762 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1763 = load i32, ptr %57, align 4, !tbaa !9
  %1764 = zext i32 %1763 to i64
  %1765 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1762, i64 noundef %1764) #9
  %1766 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1765, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %231, ptr noundef nonnull align 8 dereferenceable(32) %1766)
          to label %1767 unwind label %1783

1767:                                             ; preds = %1761
  %1768 = getelementptr inbounds %"class.Glip::Modules::VanillaParserSpace::VanillaParser", ptr %42, i32 0, i32 1
  %1769 = load i32, ptr %57, align 4, !tbaa !9
  %1770 = zext i32 %1769 to i64
  %1771 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1768, i64 noundef %1770) #9
  %1772 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1771, i32 0, i32 9
  %1773 = load i32, ptr %1772, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #9
  store i32 5, ptr %232, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1754, ptr noundef nonnull align 8 dereferenceable(32) %229, ptr noundef %231, i32 noundef %1773, ptr noundef nonnull align 4 dereferenceable(4) %232)
          to label %1774 unwind label %1787

1774:                                             ; preds = %1767
  store i1 false, ptr %233, align 1
  invoke void @__cxa_throw(ptr %1754, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1787

1775:                                             ; preds = %1753
  %1776 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1777 = extractvalue { ptr, i32 } %1776, 0
  store ptr %1777, ptr %11, align 8
  %1778 = extractvalue { ptr, i32 } %1776, 1
  store i32 %1778, ptr %12, align 4
  br label %1793

1779:                                             ; preds = %1760
  %1780 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1781 = extractvalue { ptr, i32 } %1780, 0
  store ptr %1781, ptr %11, align 8
  %1782 = extractvalue { ptr, i32 } %1780, 1
  store i32 %1782, ptr %12, align 4
  br label %1792

1783:                                             ; preds = %1761
  %1784 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1785 = extractvalue { ptr, i32 } %1784, 0
  store ptr %1785, ptr %11, align 8
  %1786 = extractvalue { ptr, i32 } %1784, 1
  store i32 %1786, ptr %12, align 4
  br label %1791

1787:                                             ; preds = %1774, %1767
  %1788 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  %1789 = extractvalue { ptr, i32 } %1788, 0
  store ptr %1789, ptr %11, align 8
  %1790 = extractvalue { ptr, i32 } %1788, 1
  store i32 %1790, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %231) #9
  br label %1791

1791:                                             ; preds = %1787, %1783
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #9
  br label %1792

1792:                                             ; preds = %1791, %1779
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %230) #9
  br label %1793

1793:                                             ; preds = %1792, %1775
  call void @llvm.lifetime.end.p0(i64 32, ptr %230) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %229) #9
  %1794 = load i1, ptr %233, align 1
  br i1 %1794, label %1795, label %1796

1795:                                             ; preds = %1793
  call void @__cxa_free_exception(ptr %1754) #9
  br label %1796

1796:                                             ; preds = %1795, %1793
  br label %1810

1797:                                             ; preds = %1744
  br label %1798

1798:                                             ; preds = %1797, %1673
  br label %1799

1799:                                             ; preds = %1798, %1590
  br label %1800

1800:                                             ; preds = %1799, %1458
  br label %1801

1801:                                             ; preds = %1800, %1327
  br label %1802

1802:                                             ; preds = %1801, %1190
  br label %1803

1803:                                             ; preds = %1802, %1053
  br label %1804

1804:                                             ; preds = %1803, %916
  br label %1805

1805:                                             ; preds = %1804, %779
  br label %1806

1806:                                             ; preds = %1805, %642
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %1807

1807:                                             ; preds = %1806
  %1808 = load i32, ptr %57, align 4, !tbaa !9
  %1809 = add i32 %1808, 1
  store i32 %1809, ptr %57, align 4, !tbaa !9
  br label %444, !llvm.loop !28

1810:                                             ; preds = %1796, %1749, %1745, %1726, %1706, %1678, %1674, %1639, %1619, %1591, %1586, %1527, %1508, %1488, %1463, %1423, %1377, %1357, %1332, %1286, %1240, %1220, %1195, %1149, %1103, %1083, %1058, %1012, %966, %946, %921, %875, %829, %809, %784, %738, %692, %672, %647, %601, %555, %535, %531
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %1812

1811:                                             ; preds = %450
  call void @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %43) #9
  call void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %42) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr %42) #9
  br label %1867

1812:                                             ; preds = %1810, %496, %492, %488, %484, %480, %476, %472, %468, %467, %455
  call void @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %43) #9
  call void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %42) #9
  br label %1813

1813:                                             ; preds = %1812, %451
  call void @llvm.lifetime.end.p0(i64 56, ptr %42) #9
  br label %1814

1814:                                             ; preds = %1813
  %1815 = load i32, ptr %12, align 4
  %1816 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTIN4Glip9ExceptionE) #9
  %1817 = icmp eq i32 %1815, %1816
  br i1 %1817, label %1818, label %1954

1818:                                             ; preds = %1814
  call void @llvm.lifetime.start.p0(i64 8, ptr %234) #9
  %1819 = load ptr, ptr %11, align 8
  %1820 = call ptr @__cxa_begin_catch(ptr %1819) #9
  store ptr %1820, ptr %234, align 8
  call void @llvm.lifetime.start.p0(i64 152, ptr %235) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %236) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %237) #9
  %1821 = load ptr, ptr %4, align 8, !tbaa !5
  %1822 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1821, i32 0, i32 2
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %237, ptr noundef @.str.186, ptr noundef nonnull align 8 dereferenceable(32) %1822)
          to label %1823 unwind label %1837

1823:                                             ; preds = %1818
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %236, ptr noundef nonnull align 8 dereferenceable(32) %237, ptr noundef @.str.58)
          to label %1824 unwind label %1841

1824:                                             ; preds = %1823
  %1825 = load ptr, ptr %4, align 8, !tbaa !5
  %1826 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1825, i32 0, i32 0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %238, ptr noundef nonnull align 8 dereferenceable(32) %1826)
          to label %1827 unwind label %1845

1827:                                             ; preds = %1824
  %1828 = load ptr, ptr %4, align 8, !tbaa !5
  %1829 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1828, i32 0, i32 9
  %1830 = load i32, ptr %1829, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #9
  store i32 5, ptr %239, align 4, !tbaa !21
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %235, ptr noundef nonnull align 8 dereferenceable(32) %236, ptr noundef %238, i32 noundef %1830, ptr noundef nonnull align 4 dereferenceable(4) %239)
          to label %1831 unwind label %1849

1831:                                             ; preds = %1827
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %238) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %237) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %236) #9
  %1832 = load ptr, ptr %234, align 8, !tbaa !5
  %1833 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %235, ptr noundef nonnull align 8 dereferenceable(152) %1832)
          to label %1834 unwind label %1856

1834:                                             ; preds = %1831
  %1835 = call ptr @__cxa_allocate_exception(i64 152) #9
  invoke void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %1835, ptr noundef nonnull align 8 dereferenceable(152) %235)
          to label %1836 unwind label %1860

1836:                                             ; preds = %1834
  invoke void @__cxa_throw(ptr %1835, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %1964 unwind label %1856

1837:                                             ; preds = %1818
  %1838 = landingpad { ptr, i32 }
          cleanup
  %1839 = extractvalue { ptr, i32 } %1838, 0
  store ptr %1839, ptr %11, align 8
  %1840 = extractvalue { ptr, i32 } %1838, 1
  store i32 %1840, ptr %12, align 4
  br label %1855

1841:                                             ; preds = %1823
  %1842 = landingpad { ptr, i32 }
          cleanup
  %1843 = extractvalue { ptr, i32 } %1842, 0
  store ptr %1843, ptr %11, align 8
  %1844 = extractvalue { ptr, i32 } %1842, 1
  store i32 %1844, ptr %12, align 4
  br label %1854

1845:                                             ; preds = %1824
  %1846 = landingpad { ptr, i32 }
          cleanup
  %1847 = extractvalue { ptr, i32 } %1846, 0
  store ptr %1847, ptr %11, align 8
  %1848 = extractvalue { ptr, i32 } %1846, 1
  store i32 %1848, ptr %12, align 4
  br label %1853

1849:                                             ; preds = %1827
  %1850 = landingpad { ptr, i32 }
          cleanup
  %1851 = extractvalue { ptr, i32 } %1850, 0
  store ptr %1851, ptr %11, align 8
  %1852 = extractvalue { ptr, i32 } %1850, 1
  store i32 %1852, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %238) #9
  br label %1853

1853:                                             ; preds = %1849, %1845
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #9
  br label %1854

1854:                                             ; preds = %1853, %1841
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #9
  br label %1855

1855:                                             ; preds = %1854, %1837
  call void @llvm.lifetime.end.p0(i64 32, ptr %237) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %236) #9
  br label %1865

1856:                                             ; preds = %1836, %1831
  %1857 = landingpad { ptr, i32 }
          cleanup
  %1858 = extractvalue { ptr, i32 } %1857, 0
  store ptr %1858, ptr %11, align 8
  %1859 = extractvalue { ptr, i32 } %1857, 1
  store i32 %1859, ptr %12, align 4
  br label %1864

1860:                                             ; preds = %1834
  %1861 = landingpad { ptr, i32 }
          cleanup
  %1862 = extractvalue { ptr, i32 } %1861, 0
  store ptr %1862, ptr %11, align 8
  %1863 = extractvalue { ptr, i32 } %1861, 1
  store i32 %1863, ptr %12, align 4
  call void @__cxa_free_exception(ptr %1835) #9
  br label %1864

1864:                                             ; preds = %1860, %1856
  call void @_ZN4Glip9ExceptionD1Ev(ptr noundef nonnull align 8 dereferenceable(152) %235) #9
  br label %1865

1865:                                             ; preds = %1864, %1855
  call void @llvm.lifetime.end.p0(i64 152, ptr %235) #9
  invoke void @__cxa_end_catch()
          to label %1866 unwind label %1961

1866:                                             ; preds = %1865
  call void @llvm.lifetime.end.p0(i64 8, ptr %234) #9
  br label %1954

1867:                                             ; preds = %1811
  br label %1868

1868:                                             ; preds = %1867, %404, %399
  %1869 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 9
  call void @llvm.lifetime.start.p0(i64 272, ptr %240) #9
  %1870 = load ptr, ptr %4, align 8, !tbaa !5
  %1871 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1870, i32 0, i32 2
  call void @llvm.lifetime.start.p0(i64 240, ptr %241) #9
  %1872 = load ptr, ptr %4, align 8, !tbaa !5
  %1873 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1872, i32 0, i32 2
  %1874 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %13) #9
  %1875 = getelementptr inbounds %"struct.std::pair.84", ptr %1874, i32 0, i32 1
  %1876 = load ptr, ptr %23, align 8, !tbaa !5
  invoke void @_ZN4Glip12CorePipeline12FilterLayoutC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_6CoreGL24HdlAbstractTextureFormatERKSt3mapIjPNSA_12ShaderSourceESt4lessIjESaISt4pairIKjSG_EEEPNS0_13GeometryModelE(ptr noundef nonnull align 8 dereferenceable(8) %241, ptr noundef nonnull align 8 dereferenceable(32) %1873, ptr noundef nonnull align 8 dereferenceable(52) %1875, ptr noundef nonnull align 8 dereferenceable(48) %22, ptr noundef %1876)
          to label %1877 unwind label %1904

1877:                                             ; preds = %1868
  invoke void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEC2IRKS5_S8_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISE_SF_EEEbE4typeELb1EEEOSE_OSF_(ptr noundef nonnull align 8 dereferenceable(272) %240, ptr noundef nonnull align 8 dereferenceable(32) %1871, ptr noundef nonnull align 8 dereferenceable(8) %241)
          to label %1878 unwind label %1908

1878:                                             ; preds = %1877
  %1879 = invoke { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISB_IS5_S8_EEENSt9enable_ifIXsr16is_constructibleISD_T_EE5valueESB_ISt17_Rb_tree_iteratorISD_EbEE4typeEOSJ_(ptr noundef nonnull align 8 dereferenceable(48) %1869, ptr noundef nonnull align 8 dereferenceable(272) %240)
          to label %1880 unwind label %1912

1880:                                             ; preds = %1878
  %1881 = getelementptr inbounds { ptr, i8 }, ptr %242, i32 0, i32 0
  %1882 = extractvalue { ptr, i8 } %1879, 0
  store ptr %1882, ptr %1881, align 8
  %1883 = getelementptr inbounds { ptr, i8 }, ptr %242, i32 0, i32 1
  %1884 = extractvalue { ptr, i8 } %1879, 1
  store i8 %1884, ptr %1883, align 8
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEED2Ev(ptr noundef nonnull align 8 dereferenceable(272) %240) #9
  call void @_ZN4Glip12CorePipeline12FilterLayoutD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %241) #9
  call void @llvm.lifetime.end.p0(i64 240, ptr %241) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr %240) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %243) #9
  %1885 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %244, i32 0, i32 9
  %1886 = load ptr, ptr %4, align 8, !tbaa !5
  %1887 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %1886, i32 0, i32 2
  %1888 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %1885, ptr noundef nonnull align 8 dereferenceable(32) %1887)
          to label %1889 unwind label %1918

1889:                                             ; preds = %1880
  %1890 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.94", ptr %243, i32 0, i32 0
  store ptr %1888, ptr %1890, align 8
  %1891 = load i8, ptr %24, align 1, !tbaa !23, !range !25, !noundef !26
  %1892 = trunc i8 %1891 to i1
  br i1 %1892, label %1893, label %1931

1893:                                             ; preds = %1889
  %1894 = load i8, ptr %25, align 1, !tbaa !23, !range !25, !noundef !26
  %1895 = trunc i8 %1894 to i1
  br i1 %1895, label %1896, label %1922

1896:                                             ; preds = %1893
  %1897 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %243) #9
  %1898 = getelementptr inbounds %"struct.std::pair.95", ptr %1897, i32 0, i32 1
  %1899 = load ptr, ptr %1898, align 8, !tbaa !30
  %1900 = getelementptr i8, ptr %1899, i64 -48
  %1901 = load i64, ptr %1900, align 8
  %1902 = getelementptr inbounds i8, ptr %1898, i64 %1901
  invoke void @_ZN4Glip12CorePipeline20AbstractFilterLayout14enableClearingEv(ptr noundef nonnull align 8 dereferenceable(84) %1902)
          to label %1903 unwind label %1918

1903:                                             ; preds = %1896
  br label %1930

1904:                                             ; preds = %1868
  %1905 = landingpad { ptr, i32 }
          cleanup
  %1906 = extractvalue { ptr, i32 } %1905, 0
  store ptr %1906, ptr %11, align 8
  %1907 = extractvalue { ptr, i32 } %1905, 1
  store i32 %1907, ptr %12, align 4
  br label %1917

1908:                                             ; preds = %1877
  %1909 = landingpad { ptr, i32 }
          cleanup
  %1910 = extractvalue { ptr, i32 } %1909, 0
  store ptr %1910, ptr %11, align 8
  %1911 = extractvalue { ptr, i32 } %1909, 1
  store i32 %1911, ptr %12, align 4
  br label %1916

1912:                                             ; preds = %1878
  %1913 = landingpad { ptr, i32 }
          cleanup
  %1914 = extractvalue { ptr, i32 } %1913, 0
  store ptr %1914, ptr %11, align 8
  %1915 = extractvalue { ptr, i32 } %1913, 1
  store i32 %1915, ptr %12, align 4
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEED2Ev(ptr noundef nonnull align 8 dereferenceable(272) %240) #9
  br label %1916

1916:                                             ; preds = %1912, %1908
  call void @_ZN4Glip12CorePipeline12FilterLayoutD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %241) #9
  br label %1917

1917:                                             ; preds = %1916, %1904
  call void @llvm.lifetime.end.p0(i64 240, ptr %241) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr %240) #9
  br label %1954

1918:                                             ; preds = %1945, %1934, %1922, %1896, %1880
  %1919 = landingpad { ptr, i32 }
          cleanup
  %1920 = extractvalue { ptr, i32 } %1919, 0
  store ptr %1920, ptr %11, align 8
  %1921 = extractvalue { ptr, i32 } %1919, 1
  store i32 %1921, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %243) #9
  br label %1954

1922:                                             ; preds = %1893
  %1923 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %243) #9
  %1924 = getelementptr inbounds %"struct.std::pair.95", ptr %1923, i32 0, i32 1
  %1925 = load ptr, ptr %1924, align 8, !tbaa !30
  %1926 = getelementptr i8, ptr %1925, i64 -48
  %1927 = load i64, ptr %1926, align 8
  %1928 = getelementptr inbounds i8, ptr %1924, i64 %1927
  invoke void @_ZN4Glip12CorePipeline20AbstractFilterLayout15disableClearingEv(ptr noundef nonnull align 8 dereferenceable(84) %1928)
          to label %1929 unwind label %1918

1929:                                             ; preds = %1922
  br label %1930

1930:                                             ; preds = %1929, %1903
  br label %1931

1931:                                             ; preds = %1930, %1889
  %1932 = load i8, ptr %26, align 1, !tbaa !23, !range !25, !noundef !26
  %1933 = trunc i8 %1932 to i1
  br i1 %1933, label %1934, label %1942

1934:                                             ; preds = %1931
  %1935 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %243) #9
  %1936 = getelementptr inbounds %"struct.std::pair.95", ptr %1935, i32 0, i32 1
  %1937 = load ptr, ptr %1936, align 8, !tbaa !30
  %1938 = getelementptr i8, ptr %1937, i64 -48
  %1939 = load i64, ptr %1938, align 8
  %1940 = getelementptr inbounds i8, ptr %1936, i64 %1939
  invoke void @_ZN4Glip12CorePipeline20AbstractFilterLayout14enableBlendingERKjS3_S3_(ptr noundef nonnull align 8 dereferenceable(84) %1940, ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %1941 unwind label %1918

1941:                                             ; preds = %1934
  br label %1942

1942:                                             ; preds = %1941, %1931
  %1943 = load i8, ptr %30, align 1, !tbaa !23, !range !25, !noundef !26
  %1944 = trunc i8 %1943 to i1
  br i1 %1944, label %1945, label %1953

1945:                                             ; preds = %1942
  %1946 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %243) #9
  %1947 = getelementptr inbounds %"struct.std::pair.95", ptr %1946, i32 0, i32 1
  %1948 = load ptr, ptr %1947, align 8, !tbaa !30
  %1949 = getelementptr i8, ptr %1948, i64 -48
  %1950 = load i64, ptr %1949, align 8
  %1951 = getelementptr inbounds i8, ptr %1947, i64 %1950
  invoke void @_ZN4Glip12CorePipeline20AbstractFilterLayout18enableDepthTestingERKj(ptr noundef nonnull align 8 dereferenceable(84) %1951, ptr noundef nonnull align 4 dereferenceable(4) %31)
          to label %1952 unwind label %1918

1952:                                             ; preds = %1945
  br label %1953

1953:                                             ; preds = %1952, %1942
  call void @llvm.lifetime.end.p0(i64 8, ptr %243) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  call void @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  ret void

1954:                                             ; preds = %1918, %1917, %1866, %1814, %398
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  call void @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %22) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %22) #9
  br label %1955

1955:                                             ; preds = %1954, %316
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  br label %1956

1956:                                             ; preds = %1955, %284
  %1957 = load ptr, ptr %11, align 8
  %1958 = load i32, ptr %12, align 4
  %1959 = insertvalue { ptr, i32 } poison, ptr %1957, 0
  %1960 = insertvalue { ptr, i32 } %1959, i32 %1958, 1
  resume { ptr, i32 } %1960

1961:                                             ; preds = %1865
  %1962 = landingpad { ptr, i32 }
          catch ptr null
  %1963 = extractvalue { ptr, i32 } %1962, 0
  call void @__clang_call_terminate(ptr %1963) #11
  unreachable

1964:                                             ; preds = %1836, %1774, %1705, %1618, %1564, %1487, %1422, %1356, %1285, %1219, %1148, %1082, %1011, %945, %874, %808, %737, %671, %600, %530, %351, %275
  unreachable
}

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

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

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

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

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

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

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

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

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

declare void @_ZN4Glip12CorePipeline12FilterLayoutC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_6CoreGL24HdlAbstractTextureFormatERKSt3mapIjPNSA_12ShaderSourceESt4lessIjESaISt4pairIKjSG_EEEPNS0_13GeometryModelE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(52), ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) unnamed_addr #5

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

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

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

declare void @_ZN4Glip12CorePipeline20AbstractFilterLayout14enableClearingEv(ptr noundef nonnull align 8 dereferenceable(84)) #5

declare void @_ZN4Glip12CorePipeline20AbstractFilterLayout15disableClearingEv(ptr noundef nonnull align 8 dereferenceable(84)) #5

declare void @_ZN4Glip12CorePipeline20AbstractFilterLayout14enableBlendingERKjS3_S3_(ptr noundef nonnull align 8 dereferenceable(84), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #5

declare void @_ZN4Glip12CorePipeline20AbstractFilterLayout18enableDepthTestingERKj(ptr noundef nonnull align 8 dereferenceable(84), ptr noundef nonnull align 4 dereferenceable(4)) #5

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

; 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 = { 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 = { 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 = !{!"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, !10, i64 156}
!12 = !{!"_ZTSN4Glip7Modules18VanillaParserSpace7ElementE", !13, i64 0, !13, i64 32, !13, i64 64, !13, i64 96, !16, i64 128, !20, i64 152, !20, i64 153, !20, i64 154, !10, i64 156, !10, i64 160}
!13 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !14, i64 0, !15, i64 8, !7, i64 16}
!14 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!15 = !{!"long", !7, i64 0}
!16 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !17, i64 0}
!17 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!20 = !{!"bool", !7, i64 0}
!21 = !{!22, !22, i64 0}
!22 = !{!"_ZTSN4Glip9Exception4TypeE", !7, i64 0}
!23 = !{!20, !20, i64 0}
!24 = !{!12, !20, i64 154}
!25 = !{i8 0, i8 2}
!26 = !{}
!27 = !{!12, !10, i64 160}
!28 = distinct !{!28, !29}
!29 = !{!"llvm.loop.mustprogress"}
!30 = !{!31, !31, i64 0}
!31 = !{!"vtable pointer", !8, i64 0}


; 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.std::allocator" = type { i8 }
%"struct.std::_Rb_tree_iterator.83" = type { ptr }
%"class.std::map.139" = type { %"class.std::_Rb_tree.140" }
%"class.std::_Rb_tree.140" = type { %"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, Glip::CoreGL::ShaderSource *>, std::_Select1st<std::pair<const unsigned int, Glip::CoreGL::ShaderSource *>>, std::less<unsigned int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, Glip::CoreGL::ShaderSource *>, std::_Select1st<std::pair<const unsigned int, Glip::CoreGL::ShaderSource *>>, std::less<unsigned int>>::_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 }
%"struct.std::_Rb_tree_iterator.77" = type { ptr }
%"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.std::map.145" = type { %"class.std::_Rb_tree.146" }
%"class.std::_Rb_tree.146" = type { %"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, bool>, std::_Select1st<std::pair<const unsigned int, bool>>, std::less<unsigned int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, bool>, std::_Select1st<std::pair<const unsigned int, bool>>, std::less<unsigned int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_iterator.150" = type { ptr }
%"struct.std::_Rb_tree_iterator.86" = type { ptr }
%"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 }
%"struct.std::pair.154" = type { %"class.std::__cxx11::basic_string", %"class.Glip::CorePipeline::FilterLayout" }
%"class.Glip::CorePipeline::FilterLayout" = type { %"class.Glip::CorePipeline::ComponentLayout.base", %"class.Glip::CorePipeline::AbstractComponentLayout", %"class.Glip::CorePipeline::AbstractFilterLayout.base", [4 x i8], %"class.Glip::CoreGL::HdlAbstractTextureFormat.base" }
%"class.Glip::CorePipeline::ComponentLayout.base" = type { ptr }
%"class.Glip::CorePipeline::AbstractComponentLayout" = type { ptr, %"class.std::__cxx11::basic_string", %"class.std::vector", %"class.std::vector" }
%"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.Glip::CorePipeline::AbstractFilterLayout.base" = type <{ ptr, [6 x ptr], ptr, i8, i8, i8, i8, i32, i32, i32, i32 }>
%"class.Glip::CoreGL::HdlAbstractTextureFormat.base" = type <{ ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }>
%"struct.std::_Rb_tree_iterator.94" = type { 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.70 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [47 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 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 nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #0 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #0 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: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #0 align 2

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

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

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

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

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

; 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: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #0 align 2

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

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

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

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

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

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

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

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

; 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 nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #0

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

declare noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

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

; 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
define dso_local void @_ZN4Glip7Modules12LayoutLoader11buildFilterERKNS0_18VanillaParserSpace7ElementE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %1) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator", align 1
  %9 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %10 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", 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 i32, align 4
  %17 = alloca %"class.std::map.139", align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %23 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca %"class.Glip::Modules::VanillaParserSpace::VanillaParser", align 8
  %32 = alloca %"class.std::map.145", align 8
  %33 = alloca i32, align 4
  %34 = alloca %"struct.std::_Rb_tree_iterator.150", align 8
  %35 = alloca i32, align 4
  %36 = alloca %"struct.std::_Rb_tree_iterator.150", align 8
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %56 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::allocator", align 1
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %73 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::allocator", align 1
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %90 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::allocator", align 1
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %107 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::allocator", align 1
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %124 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::__cxx11::basic_string", align 8
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::allocator", align 1
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %141 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %142 = alloca %"class.std::__cxx11::basic_string", align 8
  %143 = alloca %"class.std::__cxx11::basic_string", align 8
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca %"class.std::__cxx11::basic_string", align 8
  %150 = alloca %"class.std::allocator", align 1
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %158 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca %"class.std::__cxx11::basic_string", align 8
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca %"class.std::allocator", align 1
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca %"class.std::__cxx11::basic_string", align 8
  %174 = alloca %"class.std::__cxx11::basic_string", align 8
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca %"class.std::__cxx11::basic_string", align 8
  %180 = alloca %"class.std::allocator", align 1
  %181 = alloca %"class.std::__cxx11::basic_string", align 8
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca %"class.std::__cxx11::basic_string", align 8
  %190 = alloca %"class.std::allocator", align 1
  %191 = alloca %"class.std::__cxx11::basic_string", align 8
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca %"class.std::__cxx11::basic_string", align 8
  %199 = alloca %"class.std::__cxx11::basic_string", align 8
  %200 = alloca %"class.std::__cxx11::basic_string", align 8
  %201 = alloca i32, align 4
  %202 = alloca %"class.Glip::Exception", align 8
  %203 = alloca %"class.std::__cxx11::basic_string", align 8
  %204 = alloca %"class.std::__cxx11::basic_string", align 8
  %205 = alloca %"class.std::__cxx11::basic_string", align 8
  %206 = alloca i32, align 4
  %207 = alloca %"struct.std::pair.154", align 8
  %208 = alloca %"class.Glip::CorePipeline::FilterLayout", align 8
  %209 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #9
  store i32 1, ptr %3, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #9
  store i32 1, ptr %4, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #9
  store i32 2, ptr %5, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #9
  store i32 0, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.70, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %210 unwind label %230

210:                                              ; preds = %2
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %1, ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %211 unwind label %232

211:                                              ; preds = %210
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #9
  %212 = getelementptr inbounds i8, ptr %0, i64 120
  %213 = getelementptr inbounds i8, ptr %1, i64 128
  %214 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %213, i64 noundef 0) #9
  %215 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %212, ptr noundef nonnull align 8 dereferenceable(32) %214)
  store ptr %215, ptr %9, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #9
  %216 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %212) #9
  store ptr %216, ptr %10, align 8
  %217 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #9
  br i1 %217, label %218, label %249

218:                                              ; preds = %211
  %219 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #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
  %220 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %213, i64 noundef 0) #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 %14, ptr noundef nonnull @.str.163, ptr noundef nonnull align 8 dereferenceable(32) %220)
          to label %221 unwind label %.thread

221:                                              ; preds = %218
  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.164)
          to label %222 unwind label %.thread432

222:                                              ; preds = %221
  %223 = getelementptr inbounds i8, ptr %1, i64 64
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %223)
          to label %224 unwind label %237

224:                                              ; preds = %222
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.58)
          to label %225 unwind label %239

225:                                              ; preds = %224
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %226 unwind label %241

226:                                              ; preds = %225
  %227 = getelementptr inbounds i8, ptr %1, i64 156
  %228 = load i32, ptr %227, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #9
  store i32 5, ptr %16, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %219, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull %15, i32 noundef %228, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %229 unwind label %243

229:                                              ; preds = %226
  invoke void @__cxa_throw(ptr nonnull %219, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %243

230:                                              ; preds = %2
  %231 = landingpad { ptr, i32 }
          cleanup
  br label %234

232:                                              ; preds = %210
  %233 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #9
  br label %234

234:                                              ; preds = %232, %230
  %.pn = phi { ptr, i32 } [ %233, %232 ], [ %231, %230 ]
  %.0 = extractvalue { ptr, i32 } %.pn, 0
  %.0147 = extractvalue { ptr, i32 } %.pn, 1
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #9
  br label %1115

.thread:                                          ; preds = %218
  %235 = landingpad { ptr, i32 }
          cleanup
  %.5428 = extractvalue { ptr, i32 } %235, 0
  %.5152429 = extractvalue { ptr, i32 } %235, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #9
  br label %248

.thread432:                                       ; preds = %221
  %236 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  %.5435 = extractvalue { ptr, i32 } %236, 0
  %.5152436 = extractvalue { ptr, i32 } %236, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #9
  br label %248

237:                                              ; preds = %222
  %238 = landingpad { ptr, i32 }
          cleanup
  br label %247

239:                                              ; preds = %224
  %240 = landingpad { ptr, i32 }
          cleanup
  br label %246

241:                                              ; preds = %225
  %242 = landingpad { ptr, i32 }
          cleanup
  br label %245

243:                                              ; preds = %229, %226
  %.0227 = phi i1 [ false, %229 ], [ true, %226 ]
  %244 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #9
  br label %245

245:                                              ; preds = %243, %241
  %.1228 = phi i1 [ %.0227, %243 ], [ true, %241 ]
  %.pn420 = phi { ptr, i32 } [ %244, %243 ], [ %242, %241 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  br label %246

246:                                              ; preds = %245, %239
  %.2229 = phi i1 [ %.1228, %245 ], [ true, %239 ]
  %.pn420.pn = phi { ptr, i32 } [ %.pn420, %245 ], [ %240, %239 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #9
  br label %247

247:                                              ; preds = %237, %246
  %.3230 = phi i1 [ %.2229, %246 ], [ true, %237 ]
  %.pn420.pn.pn = phi { ptr, i32 } [ %.pn420.pn, %246 ], [ %238, %237 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  %.5 = extractvalue { ptr, i32 } %.pn420.pn.pn, 0
  %.5152 = extractvalue { ptr, i32 } %.pn420.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #9
  br i1 %.3230, label %248, label %1114

248:                                              ; preds = %.thread432, %.thread, %247
  %.5152431 = phi i32 [ %.5152429, %.thread ], [ %.5152, %247 ], [ %.5152436, %.thread432 ]
  %.5430 = phi ptr [ %.5428, %.thread ], [ %.5, %247 ], [ %.5435, %.thread432 ]
  call void @__cxa_free_exception(ptr %219) #9
  br label %1114

249:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %17) #9
  call void @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #9
  store i32 0, ptr %18, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #9
  store i32 0, ptr %19, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #9
  store i32 0, ptr %20, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #9
  store i32 0, ptr %21, align 4, !tbaa !5
  %250 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %213) #9
  %251 = icmp ugt i64 %250, 1
  br i1 %251, label %252, label %295

252:                                              ; preds = %249
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #9
  %253 = getelementptr inbounds i8, ptr %0, i64 168
  %254 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %213, i64 noundef 1) #9
  %255 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %253, ptr noundef nonnull align 8 dereferenceable(32) %254)
          to label %256 unwind label %271

256:                                              ; preds = %252
  store ptr %255, ptr %22, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #9
  %257 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %253) #9
  store ptr %257, ptr %23, align 8
  %258 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #9
  br i1 %258, label %259, label %287

259:                                              ; preds = %256
  %260 = call ptr @__cxa_allocate_exception(i64 152) #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
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #9
  %261 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %213, i64 noundef 1) #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 %27, ptr noundef nonnull @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %261)
          to label %262 unwind label %.thread437

262:                                              ; preds = %259
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.164)
          to label %263 unwind label %.thread441

263:                                              ; preds = %262
  %264 = getelementptr inbounds i8, ptr %1, i64 64
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %264)
          to label %265 unwind label %275

265:                                              ; preds = %263
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.58)
          to label %266 unwind label %277

266:                                              ; preds = %265
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %267 unwind label %279

267:                                              ; preds = %266
  %268 = getelementptr inbounds i8, ptr %1, i64 156
  %269 = load i32, ptr %268, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #9
  store i32 5, ptr %29, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %260, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull %28, i32 noundef %269, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %270 unwind label %281

270:                                              ; preds = %267
  invoke void @__cxa_throw(ptr nonnull %260, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %281

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

.thread437:                                       ; preds = %259
  %273 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #9
  call void @llvm.lifetime.end.p0(i64 32, 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
  br label %286

.thread441:                                       ; preds = %262
  %274 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #9
  call void @llvm.lifetime.end.p0(i64 32, 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
  br label %286

275:                                              ; preds = %263
  %276 = landingpad { ptr, i32 }
          cleanup
  br label %285

277:                                              ; preds = %265
  %278 = landingpad { ptr, i32 }
          cleanup
  br label %284

279:                                              ; preds = %266
  %280 = landingpad { ptr, i32 }
          cleanup
  br label %283

281:                                              ; preds = %270, %267
  %.0303 = phi i1 [ false, %270 ], [ true, %267 ]
  %282 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #9
  br label %283

283:                                              ; preds = %281, %279
  %.1304 = phi i1 [ %.0303, %281 ], [ true, %279 ]
  %.pn413 = phi { ptr, i32 } [ %282, %281 ], [ %280, %279 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #9
  br label %284

284:                                              ; preds = %283, %277
  %.2305 = phi i1 [ %.1304, %283 ], [ true, %277 ]
  %.pn413.pn = phi { ptr, i32 } [ %.pn413, %283 ], [ %278, %277 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  br label %285

285:                                              ; preds = %275, %284
  %.3306 = phi i1 [ %.2305, %284 ], [ true, %275 ]
  %.pn413.pn.pn = phi { ptr, i32 } [ %.pn413.pn, %284 ], [ %276, %275 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #9
  call void @llvm.lifetime.end.p0(i64 32, 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
  br i1 %.3306, label %286, label %294

286:                                              ; preds = %.thread441, %.thread437, %285
  %.pn413.pn.pn.pn.pn440 = phi { ptr, i32 } [ %273, %.thread437 ], [ %.pn413.pn.pn, %285 ], [ %274, %.thread441 ]
  call void @__cxa_free_exception(ptr %260) #9
  br label %294

287:                                              ; preds = %256
  %288 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #9
  store i32 35632, ptr %30, align 4, !tbaa !5
  %289 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 4 dereferenceable(4) %30)
          to label %290 unwind label %292

290:                                              ; preds = %287
  %291 = getelementptr inbounds i8, ptr %288, i64 32
  store ptr %291, ptr %289, align 8, !tbaa !22
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #9
  br label %295

292:                                              ; preds = %287
  %293 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #9
  br label %294

294:                                              ; preds = %285, %286, %292, %271
  %.pn413.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn413.pn.pn.pn.pn440, %286 ], [ %.pn413.pn.pn, %285 ], [ %293, %292 ], [ %272, %271 ]
  %.11 = extractvalue { ptr, i32 } %.pn413.pn.pn.pn.pn.pn, 0
  %.11158 = extractvalue { ptr, i32 } %.pn413.pn.pn.pn.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #9
  br label %1113

295:                                              ; preds = %290, %249
  %296 = getelementptr inbounds i8, ptr %1, i64 154
  %297 = load i8, ptr %296, align 2, !tbaa !23, !range !24, !noundef !25
  %298 = trunc nuw i8 %297 to i1
  br i1 %298, label %1064, label %299

299:                                              ; preds = %295
  %300 = getelementptr inbounds i8, ptr %1, i64 96
  %301 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %300) #9
  br i1 %301, label %1064, label %302

302:                                              ; preds = %299
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %31) #9
  %303 = getelementptr inbounds i8, ptr %1, i64 160
  %304 = load i32, ptr %303, align 8, !tbaa !26
  invoke void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i(ptr noundef nonnull align 8 dereferenceable(56) %31, ptr noundef nonnull align 8 dereferenceable(32) %300, ptr noundef nonnull align 8 dereferenceable(32) %1, i32 noundef %304)
          to label %305 unwind label %336

305:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %32) #9
  call void @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %32) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #9
  store i32 35633, ptr %33, align 4, !tbaa !5
  %306 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %33)
          to label %307 unwind label %338

307:                                              ; preds = %305
  store i8 0, ptr %306, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #9
  store i32 35632, ptr %35, align 4, !tbaa !5
  %308 = invoke ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEE4findERS7_(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 4 dereferenceable(4) %35)
          to label %309 unwind label %340

309:                                              ; preds = %307
  store ptr %308, ptr %34, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #9
  %310 = call ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %17) #9
  store ptr %310, ptr %36, align 8
  %311 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjPN4Glip6CoreGL12ShaderSourceEEES9_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %36) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #9
  store i32 35632, ptr %37, align 4, !tbaa !5
  %312 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %37)
          to label %313 unwind label %342

313:                                              ; preds = %309
  %314 = zext i1 %311 to i8
  store i8 %314, ptr %312, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #9
  store i32 37305, ptr %38, align 4, !tbaa !5
  %315 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %38)
          to label %316 unwind label %345

316:                                              ; preds = %313
  store i8 0, ptr %315, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #9
  store i32 36488, ptr %39, align 4, !tbaa !5
  %317 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %39)
          to label %318 unwind label %347

318:                                              ; preds = %316
  store i8 0, ptr %317, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #9
  store i32 36487, ptr %40, align 4, !tbaa !5
  %319 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %40)
          to label %320 unwind label %349

320:                                              ; preds = %318
  store i8 0, ptr %319, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #9
  store i32 36313, ptr %41, align 4, !tbaa !5
  %321 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %41)
          to label %322 unwind label %351

322:                                              ; preds = %320
  store i8 0, ptr %321, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #9
  store i32 5376, ptr %42, align 4, !tbaa !5
  %323 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %42)
          to label %324 unwind label %353

324:                                              ; preds = %322
  store i8 0, ptr %323, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #9
  store i32 3042, ptr %43, align 4, !tbaa !5
  %325 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %43)
          to label %326 unwind label %355

326:                                              ; preds = %324
  store i8 0, ptr %325, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #9
  store i32 2929, ptr %44, align 4, !tbaa !5
  %327 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %44)
          to label %328 unwind label %357

328:                                              ; preds = %326
  store i8 0, ptr %327, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #9
  store i32 7168, ptr %45, align 4, !tbaa !5
  %329 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %45)
          to label %330 unwind label %359

330:                                              ; preds = %328
  store i8 0, ptr %329, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #9
  %331 = getelementptr inbounds i8, ptr %31, i64 32
  %332 = call noundef i64 @_ZNKSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %331) #9
  %.not = icmp eq i64 %332, 0
  br i1 %.not, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %330
  %333 = getelementptr inbounds i8, ptr %1, i64 64
  %334 = getelementptr inbounds i8, ptr %0, i64 216
  %335 = getelementptr inbounds i8, ptr %0, i64 168
  br label %361

._crit_edge:                                      ; preds = %1024, %330
  %.0319.lcssa = phi i1 [ false, %330 ], [ %.1320, %1024 ]
  %.0315.lcssa = phi i1 [ false, %330 ], [ %.2317, %1024 ]
  %.0312.lcssa = phi i1 [ false, %330 ], [ %.1313, %1024 ]
  %.0309.lcssa = phi i1 [ false, %330 ], [ %.1310, %1024 ]
  %.0299.lcssa = phi ptr [ null, %330 ], [ %.1300, %1024 ]
  call void @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %32) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) #9
  call void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %31) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %31) #9
  br label %1064

336:                                              ; preds = %302
  %337 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %1030

338:                                              ; preds = %305
  %339 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #9
  br label %1029

340:                                              ; preds = %307
  %341 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %344

342:                                              ; preds = %309
  %343 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #9
  br label %344

344:                                              ; preds = %342, %340
  %.pn325 = phi { ptr, i32 } [ %343, %342 ], [ %341, %340 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #9
  br label %1029

345:                                              ; preds = %313
  %346 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #9
  br label %1029

347:                                              ; preds = %316
  %348 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #9
  br label %1029

349:                                              ; preds = %318
  %350 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #9
  br label %1029

351:                                              ; preds = %320
  %352 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #9
  br label %1029

353:                                              ; preds = %322
  %354 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #9
  br label %1029

355:                                              ; preds = %324
  %356 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #9
  br label %1029

357:                                              ; preds = %326
  %358 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #9
  br label %1029

359:                                              ; preds = %328
  %360 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #9
  br label %1029

361:                                              ; preds = %.lr.ph, %1024
  %362 = phi i64 [ 0, %.lr.ph ], [ %1026, %1024 ]
  %.0299994 = phi ptr [ null, %.lr.ph ], [ %.1300, %1024 ]
  %.0302993 = phi i32 [ 0, %.lr.ph ], [ %1025, %1024 ]
  %.0309992 = phi i1 [ false, %.lr.ph ], [ %.1310, %1024 ]
  %.0312991 = phi i1 [ false, %.lr.ph ], [ %.1313, %1024 ]
  %.0315990 = phi i1 [ false, %.lr.ph ], [ %.2317, %1024 ]
  %.0319989 = phi i1 [ false, %.lr.ph ], [ %.1320, %1024 ]
  %363 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %364 = getelementptr inbounds i8, ptr %363, i64 32
  %365 = invoke noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %364)
          to label %366 unwind label %381

366:                                              ; preds = %361
  switch i32 %365, label %1004 [
    i32 35633, label %367
    i32 35632, label %439
    i32 37305, label %509
    i32 36488, label %579
    i32 36487, label %649
    i32 36313, label %719
    i32 7168, label %789
    i32 5376, label %855
    i32 3042, label %920
    i32 2929, label %967
  ]

367:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #9
  store i32 35633, ptr %46, align 4, !tbaa !5
  %368 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %369 unwind label %383

369:                                              ; preds = %367
  %370 = load i8, ptr %368, align 1, !tbaa !27, !range !24, !noundef !25
  %371 = trunc nuw i8 %370 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #9
  br i1 %371, label %372, label %392

372:                                              ; preds = %369
  %373 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.166, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %374 unwind label %.thread444

374:                                              ; preds = %372
  %375 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %375)
          to label %376 unwind label %386

376:                                              ; preds = %374
  %377 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %378 = getelementptr inbounds i8, ptr %377, i64 156
  %379 = load i32, ptr %378, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #9
  store i32 5, ptr %50, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %373, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull %49, i32 noundef %379, ptr noundef nonnull align 4 dereferenceable(4) %50)
          to label %380 unwind label %388

380:                                              ; preds = %376
  invoke void @__cxa_throw(ptr nonnull %373, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %388

381:                                              ; preds = %992, %955, %950, %945, %361
  %382 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %1029

383:                                              ; preds = %367
  %384 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #9
  br label %1029

.thread444:                                       ; preds = %372
  %385 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #9
  br label %391

386:                                              ; preds = %374
  %387 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %390

388:                                              ; preds = %380, %376
  %.0296 = phi i1 [ false, %380 ], [ true, %376 ]
  %389 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #9
  br label %390

390:                                              ; preds = %386, %388
  %.1297 = phi i1 [ %.0296, %388 ], [ true, %386 ]
  %.pn397 = phi { ptr, i32 } [ %389, %388 ], [ %387, %386 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #9
  br i1 %.1297, label %391, label %1029

391:                                              ; preds = %.thread444, %390
  %.pn397.pn447 = phi { ptr, i32 } [ %385, %.thread444 ], [ %.pn397, %390 ]
  call void @__cxa_free_exception(ptr %373) #9
  br label %1029

392:                                              ; preds = %369
  %393 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #9
  store i32 -1, ptr %51, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #9
  store i32 1, ptr %52, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %53) #9
  store i32 1, ptr %53, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #9
  store i32 -1, ptr %54, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %393, ptr noundef nonnull align 4 dereferenceable(4) %51, ptr noundef nonnull align 4 dereferenceable(4) %52, ptr noundef nonnull align 4 dereferenceable(4) %53, ptr noundef nonnull align 4 dereferenceable(4) %54, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %394 unwind label %415

394:                                              ; preds = %392
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #9
  %395 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %396 = getelementptr inbounds i8, ptr %395, i64 128
  %397 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %396, i64 noundef 0) #9
  %398 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %335, ptr noundef nonnull align 8 dereferenceable(32) %397)
          to label %399 unwind label %417

399:                                              ; preds = %394
  store ptr %398, ptr %55, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #9
  %400 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %335) #9
  store ptr %400, ptr %56, align 8
  %401 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull align 8 dereferenceable(8) %56) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #9
  br i1 %401, label %402, label %427

402:                                              ; preds = %399
  %403 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #9
  %404 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %405 = getelementptr inbounds i8, ptr %404, i64 128
  %406 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %405, i64 noundef 0) #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 %58, ptr noundef nonnull @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %406)
          to label %407 unwind label %.thread448

407:                                              ; preds = %402
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.167)
          to label %408 unwind label %.thread452

408:                                              ; preds = %407
  %409 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 8 dereferenceable(32) %409)
          to label %410 unwind label %421

410:                                              ; preds = %408
  %411 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %412 = getelementptr inbounds i8, ptr %411, i64 156
  %413 = load i32, ptr %412, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %60) #9
  store i32 5, ptr %60, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %403, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull %59, i32 noundef %413, ptr noundef nonnull align 4 dereferenceable(4) %60)
          to label %414 unwind label %423

414:                                              ; preds = %410
  invoke void @__cxa_throw(ptr nonnull %403, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %423

415:                                              ; preds = %392
  %416 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #9
  br label %1029

417:                                              ; preds = %394
  %418 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %438

.thread448:                                       ; preds = %402
  %419 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #9
  br label %426

.thread452:                                       ; preds = %407
  %420 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #9
  br label %426

421:                                              ; preds = %408
  %422 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %425

423:                                              ; preds = %414, %410
  %.0292 = phi i1 [ false, %414 ], [ true, %410 ]
  %424 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #9
  br label %425

425:                                              ; preds = %421, %423
  %.1293 = phi i1 [ %.0292, %423 ], [ true, %421 ]
  %.pn392 = phi { ptr, i32 } [ %424, %423 ], [ %422, %421 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #9
  br i1 %.1293, label %426, label %438

426:                                              ; preds = %.thread452, %.thread448, %425
  %.pn392.pn.pn451 = phi { ptr, i32 } [ %419, %.thread448 ], [ %.pn392, %425 ], [ %420, %.thread452 ]
  call void @__cxa_free_exception(ptr %403) #9
  br label %438

427:                                              ; preds = %399
  %428 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #9
  store i32 35633, ptr %61, align 4, !tbaa !5
  %429 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 4 dereferenceable(4) %61)
          to label %430 unwind label %433

430:                                              ; preds = %427
  %431 = getelementptr inbounds i8, ptr %428, i64 32
  store ptr %431, ptr %429, align 8, !tbaa !22
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %62) #9
  store i32 35633, ptr %62, align 4, !tbaa !5
  %432 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %62)
          to label %435 unwind label %436

433:                                              ; preds = %427
  %434 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #9
  br label %438

435:                                              ; preds = %430
  store i8 1, ptr %432, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #9
  br label %1024

436:                                              ; preds = %430
  %437 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #9
  br label %438

438:                                              ; preds = %425, %426, %436, %433, %417
  %.pn392.pn.pn.pn = phi { ptr, i32 } [ %.pn392.pn.pn451, %426 ], [ %.pn392, %425 ], [ %437, %436 ], [ %434, %433 ], [ %418, %417 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #9
  br label %1029

439:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %63) #9
  store i32 35632, ptr %63, align 4, !tbaa !5
  %440 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %63)
          to label %441 unwind label %453

441:                                              ; preds = %439
  %442 = load i8, ptr %440, align 1, !tbaa !27, !range !24, !noundef !25
  %443 = trunc nuw i8 %442 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #9
  br i1 %443, label %444, label %462

444:                                              ; preds = %441
  %445 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %65) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.168, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %446 unwind label %.thread455

446:                                              ; preds = %444
  %447 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(32) %447)
          to label %448 unwind label %456

448:                                              ; preds = %446
  %449 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %450 = getelementptr inbounds i8, ptr %449, i64 156
  %451 = load i32, ptr %450, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %67) #9
  store i32 5, ptr %67, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %445, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull %66, i32 noundef %451, ptr noundef nonnull align 4 dereferenceable(4) %67)
          to label %452 unwind label %458

452:                                              ; preds = %448
  invoke void @__cxa_throw(ptr nonnull %445, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %458

453:                                              ; preds = %439
  %454 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #9
  br label %1029

.thread455:                                       ; preds = %444
  %455 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #9
  br label %461

456:                                              ; preds = %446
  %457 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %460

458:                                              ; preds = %452, %448
  %.0289 = phi i1 [ false, %452 ], [ true, %448 ]
  %459 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #9
  br label %460

460:                                              ; preds = %456, %458
  %.1290 = phi i1 [ %.0289, %458 ], [ true, %456 ]
  %.pn389 = phi { ptr, i32 } [ %459, %458 ], [ %457, %456 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #9
  br i1 %.1290, label %461, label %1029

461:                                              ; preds = %.thread455, %460
  %.pn389.pn458 = phi { ptr, i32 } [ %455, %.thread455 ], [ %.pn389, %460 ]
  call void @__cxa_free_exception(ptr %445) #9
  br label %1029

462:                                              ; preds = %441
  %463 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %68) #9
  store i32 -1, ptr %68, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %69) #9
  store i32 1, ptr %69, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #9
  store i32 1, ptr %70, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %71) #9
  store i32 -1, ptr %71, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %463, ptr noundef nonnull align 4 dereferenceable(4) %68, ptr noundef nonnull align 4 dereferenceable(4) %69, ptr noundef nonnull align 4 dereferenceable(4) %70, ptr noundef nonnull align 4 dereferenceable(4) %71, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %464 unwind label %485

464:                                              ; preds = %462
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #9
  %465 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %466 = getelementptr inbounds i8, ptr %465, i64 128
  %467 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %466, i64 noundef 0) #9
  %468 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %335, ptr noundef nonnull align 8 dereferenceable(32) %467)
          to label %469 unwind label %487

469:                                              ; preds = %464
  store ptr %468, ptr %72, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #9
  %470 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %335) #9
  store ptr %470, ptr %73, align 8
  %471 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull align 8 dereferenceable(8) %73) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #9
  br i1 %471, label %472, label %497

472:                                              ; preds = %469
  %473 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #9
  %474 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %475 = getelementptr inbounds i8, ptr %474, i64 128
  %476 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %475, i64 noundef 0) #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 %75, ptr noundef nonnull @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %476)
          to label %477 unwind label %.thread459

477:                                              ; preds = %472
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.169)
          to label %478 unwind label %.thread463

478:                                              ; preds = %477
  %479 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %479)
          to label %480 unwind label %491

480:                                              ; preds = %478
  %481 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %482 = getelementptr inbounds i8, ptr %481, i64 156
  %483 = load i32, ptr %482, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %77) #9
  store i32 5, ptr %77, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %473, ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull %76, i32 noundef %483, ptr noundef nonnull align 4 dereferenceable(4) %77)
          to label %484 unwind label %493

484:                                              ; preds = %480
  invoke void @__cxa_throw(ptr nonnull %473, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %493

485:                                              ; preds = %462
  %486 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #9
  br label %1029

487:                                              ; preds = %464
  %488 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %508

.thread459:                                       ; preds = %472
  %489 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #9
  br label %496

.thread463:                                       ; preds = %477
  %490 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #9
  br label %496

491:                                              ; preds = %478
  %492 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %495

493:                                              ; preds = %484, %480
  %.0285 = phi i1 [ false, %484 ], [ true, %480 ]
  %494 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %77) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #9
  br label %495

495:                                              ; preds = %491, %493
  %.1286 = phi i1 [ %.0285, %493 ], [ true, %491 ]
  %.pn384 = phi { ptr, i32 } [ %494, %493 ], [ %492, %491 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #9
  br i1 %.1286, label %496, label %508

496:                                              ; preds = %.thread463, %.thread459, %495
  %.pn384.pn.pn462 = phi { ptr, i32 } [ %489, %.thread459 ], [ %.pn384, %495 ], [ %490, %.thread463 ]
  call void @__cxa_free_exception(ptr %473) #9
  br label %508

497:                                              ; preds = %469
  %498 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %72) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %78) #9
  store i32 35632, ptr %78, align 4, !tbaa !5
  %499 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 4 dereferenceable(4) %78)
          to label %500 unwind label %503

500:                                              ; preds = %497
  %501 = getelementptr inbounds i8, ptr %498, i64 32
  store ptr %501, ptr %499, align 8, !tbaa !22
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %79) #9
  store i32 35632, ptr %79, align 4, !tbaa !5
  %502 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %79)
          to label %505 unwind label %506

503:                                              ; preds = %497
  %504 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #9
  br label %508

505:                                              ; preds = %500
  store i8 1, ptr %502, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %79) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #9
  br label %1024

506:                                              ; preds = %500
  %507 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %79) #9
  br label %508

508:                                              ; preds = %495, %496, %506, %503, %487
  %.pn384.pn.pn.pn = phi { ptr, i32 } [ %.pn384.pn.pn462, %496 ], [ %.pn384, %495 ], [ %507, %506 ], [ %504, %503 ], [ %488, %487 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #9
  br label %1029

509:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %80) #9
  store i32 37305, ptr %80, align 4, !tbaa !5
  %510 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %80)
          to label %511 unwind label %523

511:                                              ; preds = %509
  %512 = load i8, ptr %510, align 1, !tbaa !27, !range !24, !noundef !25
  %513 = trunc nuw i8 %512 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %80) #9
  br i1 %513, label %514, label %532

514:                                              ; preds = %511
  %515 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %82) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull @.str.170, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %516 unwind label %.thread466

516:                                              ; preds = %514
  %517 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(32) %517)
          to label %518 unwind label %526

518:                                              ; preds = %516
  %519 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %520 = getelementptr inbounds i8, ptr %519, i64 156
  %521 = load i32, ptr %520, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %84) #9
  store i32 5, ptr %84, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %515, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull %83, i32 noundef %521, ptr noundef nonnull align 4 dereferenceable(4) %84)
          to label %522 unwind label %528

522:                                              ; preds = %518
  invoke void @__cxa_throw(ptr nonnull %515, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %528

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

.thread466:                                       ; preds = %514
  %525 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %82) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #9
  br label %531

526:                                              ; preds = %516
  %527 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %530

528:                                              ; preds = %522, %518
  %.0282 = phi i1 [ false, %522 ], [ true, %518 ]
  %529 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %84) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #9
  br label %530

530:                                              ; preds = %526, %528
  %.1283 = phi i1 [ %.0282, %528 ], [ true, %526 ]
  %.pn381 = phi { ptr, i32 } [ %529, %528 ], [ %527, %526 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %82) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #9
  br i1 %.1283, label %531, label %1029

531:                                              ; preds = %.thread466, %530
  %.pn381.pn469 = phi { ptr, i32 } [ %525, %.thread466 ], [ %.pn381, %530 ]
  call void @__cxa_free_exception(ptr %515) #9
  br label %1029

532:                                              ; preds = %511
  %533 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %85) #9
  store i32 -1, ptr %85, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %86) #9
  store i32 1, ptr %86, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %87) #9
  store i32 1, ptr %87, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %88) #9
  store i32 -1, ptr %88, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %533, ptr noundef nonnull align 4 dereferenceable(4) %85, ptr noundef nonnull align 4 dereferenceable(4) %86, ptr noundef nonnull align 4 dereferenceable(4) %87, ptr noundef nonnull align 4 dereferenceable(4) %88, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %534 unwind label %555

534:                                              ; preds = %532
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %88) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %87) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %86) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %85) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %89) #9
  %535 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %536 = getelementptr inbounds i8, ptr %535, i64 128
  %537 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %536, i64 noundef 0) #9
  %538 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %335, ptr noundef nonnull align 8 dereferenceable(32) %537)
          to label %539 unwind label %557

539:                                              ; preds = %534
  store ptr %538, ptr %89, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #9
  %540 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %335) #9
  store ptr %540, ptr %90, align 8
  %541 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef nonnull align 8 dereferenceable(8) %90) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #9
  br i1 %541, label %542, label %567

542:                                              ; preds = %539
  %543 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %92) #9
  %544 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %545 = getelementptr inbounds i8, ptr %544, i64 128
  %546 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %545, i64 noundef 0) #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 %92, ptr noundef nonnull @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %546)
          to label %547 unwind label %.thread470

547:                                              ; preds = %542
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %91, ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull @.str.171)
          to label %548 unwind label %.thread474

548:                                              ; preds = %547
  %549 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %549)
          to label %550 unwind label %561

550:                                              ; preds = %548
  %551 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %552 = getelementptr inbounds i8, ptr %551, i64 156
  %553 = load i32, ptr %552, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %94) #9
  store i32 5, ptr %94, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %543, ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull %93, i32 noundef %553, ptr noundef nonnull align 4 dereferenceable(4) %94)
          to label %554 unwind label %563

554:                                              ; preds = %550
  invoke void @__cxa_throw(ptr nonnull %543, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %563

555:                                              ; preds = %532
  %556 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %88) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %87) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %86) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %85) #9
  br label %1029

557:                                              ; preds = %534
  %558 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %578

.thread470:                                       ; preds = %542
  %559 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #9
  br label %566

.thread474:                                       ; preds = %547
  %560 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #9
  br label %566

561:                                              ; preds = %548
  %562 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %565

563:                                              ; preds = %554, %550
  %.0278 = phi i1 [ false, %554 ], [ true, %550 ]
  %564 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #9
  br label %565

565:                                              ; preds = %561, %563
  %.1279 = phi i1 [ %.0278, %563 ], [ true, %561 ]
  %.pn376 = phi { ptr, i32 } [ %564, %563 ], [ %562, %561 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #9
  br i1 %.1279, label %566, label %578

566:                                              ; preds = %.thread474, %.thread470, %565
  %.pn376.pn.pn473 = phi { ptr, i32 } [ %559, %.thread470 ], [ %.pn376, %565 ], [ %560, %.thread474 ]
  call void @__cxa_free_exception(ptr %543) #9
  br label %578

567:                                              ; preds = %539
  %568 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %89) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %95) #9
  store i32 37305, ptr %95, align 4, !tbaa !5
  %569 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 4 dereferenceable(4) %95)
          to label %570 unwind label %573

570:                                              ; preds = %567
  %571 = getelementptr inbounds i8, ptr %568, i64 32
  store ptr %571, ptr %569, align 8, !tbaa !22
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %95) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %96) #9
  store i32 37305, ptr %96, align 4, !tbaa !5
  %572 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %96)
          to label %575 unwind label %576

573:                                              ; preds = %567
  %574 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %95) #9
  br label %578

575:                                              ; preds = %570
  store i8 1, ptr %572, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #9
  br label %1024

576:                                              ; preds = %570
  %577 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #9
  br label %578

578:                                              ; preds = %565, %566, %576, %573, %557
  %.pn376.pn.pn.pn = phi { ptr, i32 } [ %.pn376.pn.pn473, %566 ], [ %.pn376, %565 ], [ %577, %576 ], [ %574, %573 ], [ %558, %557 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #9
  br label %1029

579:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %97) #9
  store i32 36488, ptr %97, align 4, !tbaa !5
  %580 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %97)
          to label %581 unwind label %593

581:                                              ; preds = %579
  %582 = load i8, ptr %580, align 1, !tbaa !27, !range !24, !noundef !25
  %583 = trunc nuw i8 %582 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %97) #9
  br i1 %583, label %584, label %602

584:                                              ; preds = %581
  %585 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %98) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %99) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull @.str.172, ptr noundef nonnull align 1 dereferenceable(1) %99)
          to label %586 unwind label %.thread477

586:                                              ; preds = %584
  %587 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(32) %587)
          to label %588 unwind label %596

588:                                              ; preds = %586
  %589 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %590 = getelementptr inbounds i8, ptr %589, i64 156
  %591 = load i32, ptr %590, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %101) #9
  store i32 5, ptr %101, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %585, ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull %100, i32 noundef %591, ptr noundef nonnull align 4 dereferenceable(4) %101)
          to label %592 unwind label %598

592:                                              ; preds = %588
  invoke void @__cxa_throw(ptr nonnull %585, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %598

593:                                              ; preds = %579
  %594 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %97) #9
  br label %1029

.thread477:                                       ; preds = %584
  %595 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %99) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #9
  br label %601

596:                                              ; preds = %586
  %597 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %600

598:                                              ; preds = %592, %588
  %.0275 = phi i1 [ false, %592 ], [ true, %588 ]
  %599 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %101) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #9
  br label %600

600:                                              ; preds = %596, %598
  %.1276 = phi i1 [ %.0275, %598 ], [ true, %596 ]
  %.pn373 = phi { ptr, i32 } [ %599, %598 ], [ %597, %596 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %99) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #9
  br i1 %.1276, label %601, label %1029

601:                                              ; preds = %.thread477, %600
  %.pn373.pn480 = phi { ptr, i32 } [ %595, %.thread477 ], [ %.pn373, %600 ]
  call void @__cxa_free_exception(ptr %585) #9
  br label %1029

602:                                              ; preds = %581
  %603 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %102) #9
  store i32 -1, ptr %102, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %103) #9
  store i32 1, ptr %103, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %104) #9
  store i32 1, ptr %104, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %105) #9
  store i32 -1, ptr %105, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %603, ptr noundef nonnull align 4 dereferenceable(4) %102, ptr noundef nonnull align 4 dereferenceable(4) %103, ptr noundef nonnull align 4 dereferenceable(4) %104, ptr noundef nonnull align 4 dereferenceable(4) %105, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %604 unwind label %625

604:                                              ; preds = %602
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %105) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %104) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %103) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %102) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #9
  %605 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %606 = getelementptr inbounds i8, ptr %605, i64 128
  %607 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %606, i64 noundef 0) #9
  %608 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %335, ptr noundef nonnull align 8 dereferenceable(32) %607)
          to label %609 unwind label %627

609:                                              ; preds = %604
  store ptr %608, ptr %106, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #9
  %610 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %335) #9
  store ptr %610, ptr %107, align 8
  %611 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %106, ptr noundef nonnull align 8 dereferenceable(8) %107) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #9
  br i1 %611, label %612, label %637

612:                                              ; preds = %609
  %613 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %108) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %109) #9
  %614 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %615 = getelementptr inbounds i8, ptr %614, i64 128
  %616 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %615, i64 noundef 0) #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 %109, ptr noundef nonnull @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %616)
          to label %617 unwind label %.thread481

617:                                              ; preds = %612
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %108, ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull @.str.173)
          to label %618 unwind label %.thread485

618:                                              ; preds = %617
  %619 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(32) %619)
          to label %620 unwind label %631

620:                                              ; preds = %618
  %621 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %622 = getelementptr inbounds i8, ptr %621, i64 156
  %623 = load i32, ptr %622, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %111) #9
  store i32 5, ptr %111, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %613, ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull %110, i32 noundef %623, ptr noundef nonnull align 4 dereferenceable(4) %111)
          to label %624 unwind label %633

624:                                              ; preds = %620
  invoke void @__cxa_throw(ptr nonnull %613, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %633

625:                                              ; preds = %602
  %626 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %105) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %104) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %103) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %102) #9
  br label %1029

627:                                              ; preds = %604
  %628 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %648

.thread481:                                       ; preds = %612
  %629 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #9
  br label %636

.thread485:                                       ; preds = %617
  %630 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #9
  br label %636

631:                                              ; preds = %618
  %632 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %635

633:                                              ; preds = %624, %620
  %.0271 = phi i1 [ false, %624 ], [ true, %620 ]
  %634 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %111) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #9
  br label %635

635:                                              ; preds = %631, %633
  %.1272 = phi i1 [ %.0271, %633 ], [ true, %631 ]
  %.pn368 = phi { ptr, i32 } [ %634, %633 ], [ %632, %631 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #9
  br i1 %.1272, label %636, label %648

636:                                              ; preds = %.thread485, %.thread481, %635
  %.pn368.pn.pn484 = phi { ptr, i32 } [ %629, %.thread481 ], [ %.pn368, %635 ], [ %630, %.thread485 ]
  call void @__cxa_free_exception(ptr %613) #9
  br label %648

637:                                              ; preds = %609
  %638 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %106) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %112) #9
  store i32 36488, ptr %112, align 4, !tbaa !5
  %639 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 4 dereferenceable(4) %112)
          to label %640 unwind label %643

640:                                              ; preds = %637
  %641 = getelementptr inbounds i8, ptr %638, i64 32
  store ptr %641, ptr %639, align 8, !tbaa !22
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %112) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %113) #9
  store i32 36488, ptr %113, align 4, !tbaa !5
  %642 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %113)
          to label %645 unwind label %646

643:                                              ; preds = %637
  %644 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %112) #9
  br label %648

645:                                              ; preds = %640
  store i8 1, ptr %642, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %113) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #9
  br label %1024

646:                                              ; preds = %640
  %647 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %113) #9
  br label %648

648:                                              ; preds = %635, %636, %646, %643, %627
  %.pn368.pn.pn.pn = phi { ptr, i32 } [ %.pn368.pn.pn484, %636 ], [ %.pn368, %635 ], [ %647, %646 ], [ %644, %643 ], [ %628, %627 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #9
  br label %1029

649:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %114) #9
  store i32 36487, ptr %114, align 4, !tbaa !5
  %650 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %114)
          to label %651 unwind label %663

651:                                              ; preds = %649
  %652 = load i8, ptr %650, align 1, !tbaa !27, !range !24, !noundef !25
  %653 = trunc nuw i8 %652 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %114) #9
  br i1 %653, label %654, label %672

654:                                              ; preds = %651
  %655 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %115) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %116) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull @.str.174, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %656 unwind label %.thread488

656:                                              ; preds = %654
  %657 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %657)
          to label %658 unwind label %666

658:                                              ; preds = %656
  %659 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %660 = getelementptr inbounds i8, ptr %659, i64 156
  %661 = load i32, ptr %660, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %118) #9
  store i32 5, ptr %118, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %655, ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull %117, i32 noundef %661, ptr noundef nonnull align 4 dereferenceable(4) %118)
          to label %662 unwind label %668

662:                                              ; preds = %658
  invoke void @__cxa_throw(ptr nonnull %655, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %668

663:                                              ; preds = %649
  %664 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %114) #9
  br label %1029

.thread488:                                       ; preds = %654
  %665 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #9
  br label %671

666:                                              ; preds = %656
  %667 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %670

668:                                              ; preds = %662, %658
  %.0268 = phi i1 [ false, %662 ], [ true, %658 ]
  %669 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %118) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #9
  br label %670

670:                                              ; preds = %666, %668
  %.1269 = phi i1 [ %.0268, %668 ], [ true, %666 ]
  %.pn365 = phi { ptr, i32 } [ %669, %668 ], [ %667, %666 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #9
  br i1 %.1269, label %671, label %1029

671:                                              ; preds = %.thread488, %670
  %.pn365.pn491 = phi { ptr, i32 } [ %665, %.thread488 ], [ %.pn365, %670 ]
  call void @__cxa_free_exception(ptr %655) #9
  br label %1029

672:                                              ; preds = %651
  %673 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %119) #9
  store i32 -1, ptr %119, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %120) #9
  store i32 1, ptr %120, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %121) #9
  store i32 1, ptr %121, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %122) #9
  store i32 -1, ptr %122, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %673, ptr noundef nonnull align 4 dereferenceable(4) %119, ptr noundef nonnull align 4 dereferenceable(4) %120, ptr noundef nonnull align 4 dereferenceable(4) %121, ptr noundef nonnull align 4 dereferenceable(4) %122, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %674 unwind label %695

674:                                              ; preds = %672
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %122) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %121) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %120) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %119) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %123) #9
  %675 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %676 = getelementptr inbounds i8, ptr %675, i64 128
  %677 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %676, i64 noundef 0) #9
  %678 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %335, ptr noundef nonnull align 8 dereferenceable(32) %677)
          to label %679 unwind label %697

679:                                              ; preds = %674
  store ptr %678, ptr %123, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %124) #9
  %680 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %335) #9
  store ptr %680, ptr %124, align 8
  %681 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef nonnull align 8 dereferenceable(8) %124) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %124) #9
  br i1 %681, label %682, label %707

682:                                              ; preds = %679
  %683 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %125) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %126) #9
  %684 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %685 = getelementptr inbounds i8, ptr %684, i64 128
  %686 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %685, i64 noundef 0) #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 %126, ptr noundef nonnull @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %686)
          to label %687 unwind label %.thread492

687:                                              ; preds = %682
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %125, ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull @.str.175)
          to label %688 unwind label %.thread496

688:                                              ; preds = %687
  %689 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull align 8 dereferenceable(32) %689)
          to label %690 unwind label %701

690:                                              ; preds = %688
  %691 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %692 = getelementptr inbounds i8, ptr %691, i64 156
  %693 = load i32, ptr %692, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %128) #9
  store i32 5, ptr %128, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %683, ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull %127, i32 noundef %693, ptr noundef nonnull align 4 dereferenceable(4) %128)
          to label %694 unwind label %703

694:                                              ; preds = %690
  invoke void @__cxa_throw(ptr nonnull %683, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %703

695:                                              ; preds = %672
  %696 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %122) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %121) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %120) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %119) #9
  br label %1029

697:                                              ; preds = %674
  %698 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %718

.thread492:                                       ; preds = %682
  %699 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %125) #9
  br label %706

.thread496:                                       ; preds = %687
  %700 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %125) #9
  br label %706

701:                                              ; preds = %688
  %702 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %705

703:                                              ; preds = %694, %690
  %.0264 = phi i1 [ false, %694 ], [ true, %690 ]
  %704 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %128) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #9
  br label %705

705:                                              ; preds = %701, %703
  %.1265 = phi i1 [ %.0264, %703 ], [ true, %701 ]
  %.pn360 = phi { ptr, i32 } [ %704, %703 ], [ %702, %701 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %125) #9
  br i1 %.1265, label %706, label %718

706:                                              ; preds = %.thread496, %.thread492, %705
  %.pn360.pn.pn495 = phi { ptr, i32 } [ %699, %.thread492 ], [ %.pn360, %705 ], [ %700, %.thread496 ]
  call void @__cxa_free_exception(ptr %683) #9
  br label %718

707:                                              ; preds = %679
  %708 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %123) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %129) #9
  store i32 36487, ptr %129, align 4, !tbaa !5
  %709 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 4 dereferenceable(4) %129)
          to label %710 unwind label %713

710:                                              ; preds = %707
  %711 = getelementptr inbounds i8, ptr %708, i64 32
  store ptr %711, ptr %709, align 8, !tbaa !22
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %129) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %130) #9
  store i32 36487, ptr %130, align 4, !tbaa !5
  %712 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %130)
          to label %715 unwind label %716

713:                                              ; preds = %707
  %714 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %129) #9
  br label %718

715:                                              ; preds = %710
  store i8 1, ptr %712, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %123) #9
  br label %1024

716:                                              ; preds = %710
  %717 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #9
  br label %718

718:                                              ; preds = %705, %706, %716, %713, %697
  %.pn360.pn.pn.pn = phi { ptr, i32 } [ %.pn360.pn.pn495, %706 ], [ %.pn360, %705 ], [ %717, %716 ], [ %714, %713 ], [ %698, %697 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %123) #9
  br label %1029

719:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %131) #9
  store i32 36313, ptr %131, align 4, !tbaa !5
  %720 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %131)
          to label %721 unwind label %733

721:                                              ; preds = %719
  %722 = load i8, ptr %720, align 1, !tbaa !27, !range !24, !noundef !25
  %723 = trunc nuw i8 %722 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %131) #9
  br i1 %723, label %724, label %742

724:                                              ; preds = %721
  %725 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %132) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %133) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull @.str.176, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %726 unwind label %.thread499

726:                                              ; preds = %724
  %727 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef nonnull align 8 dereferenceable(32) %727)
          to label %728 unwind label %736

728:                                              ; preds = %726
  %729 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %730 = getelementptr inbounds i8, ptr %729, i64 156
  %731 = load i32, ptr %730, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %135) #9
  store i32 5, ptr %135, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %725, ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull %134, i32 noundef %731, ptr noundef nonnull align 4 dereferenceable(4) %135)
          to label %732 unwind label %738

732:                                              ; preds = %728
  invoke void @__cxa_throw(ptr nonnull %725, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %738

733:                                              ; preds = %719
  %734 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %131) #9
  br label %1029

.thread499:                                       ; preds = %724
  %735 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #9
  br label %741

736:                                              ; preds = %726
  %737 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %740

738:                                              ; preds = %732, %728
  %.0261 = phi i1 [ false, %732 ], [ true, %728 ]
  %739 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %135) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #9
  br label %740

740:                                              ; preds = %736, %738
  %.1262 = phi i1 [ %.0261, %738 ], [ true, %736 ]
  %.pn357 = phi { ptr, i32 } [ %739, %738 ], [ %737, %736 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #9
  br i1 %.1262, label %741, label %1029

741:                                              ; preds = %.thread499, %740
  %.pn357.pn502 = phi { ptr, i32 } [ %735, %.thread499 ], [ %.pn357, %740 ]
  call void @__cxa_free_exception(ptr %725) #9
  br label %1029

742:                                              ; preds = %721
  %743 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %136) #9
  store i32 -1, ptr %136, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %137) #9
  store i32 1, ptr %137, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %138) #9
  store i32 1, ptr %138, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %139) #9
  store i32 -1, ptr %139, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %743, ptr noundef nonnull align 4 dereferenceable(4) %136, ptr noundef nonnull align 4 dereferenceable(4) %137, ptr noundef nonnull align 4 dereferenceable(4) %138, ptr noundef nonnull align 4 dereferenceable(4) %139, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %744 unwind label %765

744:                                              ; preds = %742
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %139) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %138) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %137) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %136) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %140) #9
  %745 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %746 = getelementptr inbounds i8, ptr %745, i64 128
  %747 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %746, i64 noundef 0) #9
  %748 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %335, ptr noundef nonnull align 8 dereferenceable(32) %747)
          to label %749 unwind label %767

749:                                              ; preds = %744
  store ptr %748, ptr %140, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %141) #9
  %750 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %335) #9
  store ptr %750, ptr %141, align 8
  %751 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %140, ptr noundef nonnull align 8 dereferenceable(8) %141) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %141) #9
  br i1 %751, label %752, label %777

752:                                              ; preds = %749
  %753 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %142) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %143) #9
  %754 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %755 = getelementptr inbounds i8, ptr %754, i64 128
  %756 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %755, i64 noundef 0) #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 %143, ptr noundef nonnull @.str.165, ptr noundef nonnull align 8 dereferenceable(32) %756)
          to label %757 unwind label %.thread503

757:                                              ; preds = %752
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %142, ptr noundef nonnull align 8 dereferenceable(32) %143, ptr noundef nonnull @.str.177)
          to label %758 unwind label %.thread507

758:                                              ; preds = %757
  %759 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull align 8 dereferenceable(32) %759)
          to label %760 unwind label %771

760:                                              ; preds = %758
  %761 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %762 = getelementptr inbounds i8, ptr %761, i64 156
  %763 = load i32, ptr %762, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %145) #9
  store i32 5, ptr %145, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %753, ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull %144, i32 noundef %763, ptr noundef nonnull align 4 dereferenceable(4) %145)
          to label %764 unwind label %773

764:                                              ; preds = %760
  invoke void @__cxa_throw(ptr nonnull %753, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %773

765:                                              ; preds = %742
  %766 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %139) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %138) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %137) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %136) #9
  br label %1029

767:                                              ; preds = %744
  %768 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %788

.thread503:                                       ; preds = %752
  %769 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #9
  br label %776

.thread507:                                       ; preds = %757
  %770 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #9
  br label %776

771:                                              ; preds = %758
  %772 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %775

773:                                              ; preds = %764, %760
  %.0257 = phi i1 [ false, %764 ], [ true, %760 ]
  %774 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %145) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #9
  br label %775

775:                                              ; preds = %771, %773
  %.1258 = phi i1 [ %.0257, %773 ], [ true, %771 ]
  %.pn352 = phi { ptr, i32 } [ %774, %773 ], [ %772, %771 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #9
  br i1 %.1258, label %776, label %788

776:                                              ; preds = %.thread507, %.thread503, %775
  %.pn352.pn.pn506 = phi { ptr, i32 } [ %769, %.thread503 ], [ %.pn352, %775 ], [ %770, %.thread507 ]
  call void @__cxa_free_exception(ptr %753) #9
  br label %788

777:                                              ; preds = %749
  %778 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %140) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %146) #9
  store i32 36313, ptr %146, align 4, !tbaa !5
  %779 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef nonnull align 4 dereferenceable(4) %146)
          to label %780 unwind label %783

780:                                              ; preds = %777
  %781 = getelementptr inbounds i8, ptr %778, i64 32
  store ptr %781, ptr %779, align 8, !tbaa !22
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %146) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %147) #9
  store i32 36313, ptr %147, align 4, !tbaa !5
  %782 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %147)
          to label %785 unwind label %786

783:                                              ; preds = %777
  %784 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %146) #9
  br label %788

785:                                              ; preds = %780
  store i8 1, ptr %782, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %147) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %140) #9
  br label %1024

786:                                              ; preds = %780
  %787 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %147) #9
  br label %788

788:                                              ; preds = %775, %776, %786, %783, %767
  %.pn352.pn.pn.pn = phi { ptr, i32 } [ %.pn352.pn.pn506, %776 ], [ %.pn352, %775 ], [ %787, %786 ], [ %784, %783 ], [ %768, %767 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %140) #9
  br label %1029

789:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %148) #9
  store i32 7168, ptr %148, align 4, !tbaa !5
  %790 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %148)
          to label %791 unwind label %803

791:                                              ; preds = %789
  %792 = load i8, ptr %790, align 1, !tbaa !27, !range !24, !noundef !25
  %793 = trunc nuw i8 %792 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %148) #9
  br i1 %793, label %794, label %812

794:                                              ; preds = %791
  %795 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %149) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %150) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull @.str.176, ptr noundef nonnull align 1 dereferenceable(1) %150)
          to label %796 unwind label %.thread510

796:                                              ; preds = %794
  %797 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %151, ptr noundef nonnull align 8 dereferenceable(32) %797)
          to label %798 unwind label %806

798:                                              ; preds = %796
  %799 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %800 = getelementptr inbounds i8, ptr %799, i64 156
  %801 = load i32, ptr %800, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %152) #9
  store i32 5, ptr %152, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %795, ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull %151, i32 noundef %801, ptr noundef nonnull align 4 dereferenceable(4) %152)
          to label %802 unwind label %808

802:                                              ; preds = %798
  invoke void @__cxa_throw(ptr nonnull %795, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %808

803:                                              ; preds = %789
  %804 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %148) #9
  br label %1029

.thread510:                                       ; preds = %794
  %805 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %150) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #9
  br label %811

806:                                              ; preds = %796
  %807 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %810

808:                                              ; preds = %802, %798
  %.0254 = phi i1 [ false, %802 ], [ true, %798 ]
  %809 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %152) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #9
  br label %810

810:                                              ; preds = %806, %808
  %.1255 = phi i1 [ %.0254, %808 ], [ true, %806 ]
  %.pn349 = phi { ptr, i32 } [ %809, %808 ], [ %807, %806 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %150) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #9
  br i1 %.1255, label %811, label %1029

811:                                              ; preds = %.thread510, %810
  %.pn349.pn513 = phi { ptr, i32 } [ %805, %.thread510 ], [ %.pn349, %810 ]
  call void @__cxa_free_exception(ptr %795) #9
  br label %1029

812:                                              ; preds = %791
  %813 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %153) #9
  store i32 -1, ptr %153, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %154) #9
  store i32 1, ptr %154, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %155) #9
  store i32 1, ptr %155, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %156) #9
  store i32 -1, ptr %156, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %813, ptr noundef nonnull align 4 dereferenceable(4) %153, ptr noundef nonnull align 4 dereferenceable(4) %154, ptr noundef nonnull align 4 dereferenceable(4) %155, ptr noundef nonnull align 4 dereferenceable(4) %156, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %814 unwind label %835

814:                                              ; preds = %812
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %156) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %155) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %154) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %153) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %157) #9
  %815 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %816 = getelementptr inbounds i8, ptr %815, i64 128
  %817 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %816, i64 noundef 0) #9
  %818 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %334, ptr noundef nonnull align 8 dereferenceable(32) %817)
          to label %819 unwind label %837

819:                                              ; preds = %814
  store ptr %818, ptr %157, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %158) #9
  %820 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %334) #9
  store ptr %820, ptr %158, align 8
  %821 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull align 8 dereferenceable(8) %158) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %158) #9
  br i1 %821, label %822, label %847

822:                                              ; preds = %819
  %823 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %159) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %160) #9
  %824 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %825 = getelementptr inbounds i8, ptr %824, i64 128
  %826 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %825, i64 noundef 0) #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 %160, ptr noundef nonnull @.str.178, ptr noundef nonnull align 8 dereferenceable(32) %826)
          to label %827 unwind label %.thread514

827:                                              ; preds = %822
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %159, ptr noundef nonnull align 8 dereferenceable(32) %160, ptr noundef nonnull @.str.179)
          to label %828 unwind label %.thread518

828:                                              ; preds = %827
  %829 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef nonnull align 8 dereferenceable(32) %829)
          to label %830 unwind label %841

830:                                              ; preds = %828
  %831 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %832 = getelementptr inbounds i8, ptr %831, i64 156
  %833 = load i32, ptr %832, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %162) #9
  store i32 5, ptr %162, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %823, ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull %161, i32 noundef %833, ptr noundef nonnull align 4 dereferenceable(4) %162)
          to label %834 unwind label %843

834:                                              ; preds = %830
  invoke void @__cxa_throw(ptr nonnull %823, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %843

835:                                              ; preds = %812
  %836 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %156) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %155) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %154) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %153) #9
  br label %1029

837:                                              ; preds = %814
  %838 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %854

.thread514:                                       ; preds = %822
  %839 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #9
  br label %846

.thread518:                                       ; preds = %827
  %840 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #9
  br label %846

841:                                              ; preds = %828
  %842 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %845

843:                                              ; preds = %834, %830
  %.0250 = phi i1 [ false, %834 ], [ true, %830 ]
  %844 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %162) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #9
  br label %845

845:                                              ; preds = %841, %843
  %.1251 = phi i1 [ %.0250, %843 ], [ true, %841 ]
  %.pn344 = phi { ptr, i32 } [ %844, %843 ], [ %842, %841 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #9
  br i1 %.1251, label %846, label %854

846:                                              ; preds = %.thread518, %.thread514, %845
  %.pn344.pn.pn517 = phi { ptr, i32 } [ %839, %.thread514 ], [ %.pn344, %845 ], [ %840, %.thread518 ]
  call void @__cxa_free_exception(ptr %823) #9
  br label %854

847:                                              ; preds = %819
  %848 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %157) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %163) #9
  store i32 7168, ptr %163, align 4, !tbaa !5
  %849 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %163)
          to label %850 unwind label %852

850:                                              ; preds = %847
  %851 = getelementptr inbounds i8, ptr %848, i64 32
  store i8 1, ptr %849, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %163) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %157) #9
  br label %1024

852:                                              ; preds = %847
  %853 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %163) #9
  br label %854

854:                                              ; preds = %845, %846, %852, %837
  %.pn344.pn.pn.pn = phi { ptr, i32 } [ %.pn344.pn.pn517, %846 ], [ %.pn344, %845 ], [ %853, %852 ], [ %838, %837 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %157) #9
  br label %1029

855:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %164) #9
  store i32 5376, ptr %164, align 4, !tbaa !5
  %856 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %164)
          to label %857 unwind label %869

857:                                              ; preds = %855
  %858 = load i8, ptr %856, align 1, !tbaa !27, !range !24, !noundef !25
  %859 = trunc nuw i8 %858 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %164) #9
  br i1 %859, label %860, label %878

860:                                              ; preds = %857
  %861 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %165) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %166) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull @.str.180, ptr noundef nonnull align 1 dereferenceable(1) %166)
          to label %862 unwind label %.thread521

862:                                              ; preds = %860
  %863 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %167, ptr noundef nonnull align 8 dereferenceable(32) %863)
          to label %864 unwind label %872

864:                                              ; preds = %862
  %865 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %866 = getelementptr inbounds i8, ptr %865, i64 156
  %867 = load i32, ptr %866, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %168) #9
  store i32 5, ptr %168, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %861, ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull %167, i32 noundef %867, ptr noundef nonnull align 4 dereferenceable(4) %168)
          to label %868 unwind label %874

868:                                              ; preds = %864
  invoke void @__cxa_throw(ptr nonnull %861, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %874

869:                                              ; preds = %855
  %870 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %164) #9
  br label %1029

.thread521:                                       ; preds = %860
  %871 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %166) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #9
  br label %877

872:                                              ; preds = %862
  %873 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %876

874:                                              ; preds = %868, %864
  %.0247 = phi i1 [ false, %868 ], [ true, %864 ]
  %875 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %168) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #9
  br label %876

876:                                              ; preds = %872, %874
  %.1248 = phi i1 [ %.0247, %874 ], [ true, %872 ]
  %.pn341 = phi { ptr, i32 } [ %875, %874 ], [ %873, %872 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %166) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #9
  br i1 %.1248, label %877, label %1029

877:                                              ; preds = %.thread521, %876
  %.pn341.pn524 = phi { ptr, i32 } [ %871, %.thread521 ], [ %.pn341, %876 ]
  call void @__cxa_free_exception(ptr %861) #9
  br label %1029

878:                                              ; preds = %857
  %879 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %169) #9
  store i32 -1, ptr %169, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %170) #9
  store i32 1, ptr %170, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %171) #9
  store i32 1, ptr %171, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %172) #9
  store i32 -1, ptr %172, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %879, ptr noundef nonnull align 4 dereferenceable(4) %169, ptr noundef nonnull align 4 dereferenceable(4) %170, ptr noundef nonnull align 4 dereferenceable(4) %171, ptr noundef nonnull align 4 dereferenceable(4) %172, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %880 unwind label %886

880:                                              ; preds = %878
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %172) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %171) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %170) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %169) #9
  %881 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %882 = getelementptr inbounds i8, ptr %881, i64 128
  %883 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %882, i64 noundef 0) #9
  %884 = load ptr, ptr @_ZN4Glip7Modules12LayoutLoader8keywordsE, align 16, !tbaa !22
  %885 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %883, ptr noundef %884)
  br i1 %885, label %915, label %888

886:                                              ; preds = %878
  %887 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %172) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %171) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %170) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %169) #9
  br label %1029

888:                                              ; preds = %880
  %889 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %890 = getelementptr inbounds i8, ptr %889, i64 128
  %891 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %890, i64 noundef 0) #9
  %892 = load ptr, ptr getelementptr inbounds (i8, ptr @_ZN4Glip7Modules12LayoutLoader8keywordsE, i64 8), align 8, !tbaa !22
  %893 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %891, ptr noundef %892)
  br i1 %893, label %915, label %894

894:                                              ; preds = %888
  %895 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %173) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %174) #9
  %896 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %897 = getelementptr inbounds i8, ptr %896, i64 128
  %898 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %897, i64 noundef 0) #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 %174, ptr noundef nonnull @.str.181, ptr noundef nonnull align 8 dereferenceable(32) %898)
          to label %899 unwind label %.thread525

899:                                              ; preds = %894
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %173, ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef nonnull @.str.58)
          to label %900 unwind label %.thread529

900:                                              ; preds = %899
  %901 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %175, ptr noundef nonnull align 8 dereferenceable(32) %901)
          to label %902 unwind label %909

902:                                              ; preds = %900
  %903 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %904 = getelementptr inbounds i8, ptr %903, i64 156
  %905 = load i32, ptr %904, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %176) #9
  store i32 5, ptr %176, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %895, ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull %175, i32 noundef %905, ptr noundef nonnull align 4 dereferenceable(4) %176)
          to label %906 unwind label %911

906:                                              ; preds = %902
  invoke void @__cxa_throw(ptr nonnull %895, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %911

.thread525:                                       ; preds = %894
  %907 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %174) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %173) #9
  br label %914

.thread529:                                       ; preds = %899
  %908 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %174) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %173) #9
  br label %914

909:                                              ; preds = %900
  %910 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %913

911:                                              ; preds = %906, %902
  %.0243 = phi i1 [ false, %906 ], [ true, %902 ]
  %912 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %176) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #9
  br label %913

913:                                              ; preds = %909, %911
  %.1244 = phi i1 [ %.0243, %911 ], [ true, %909 ]
  %.pn337 = phi { ptr, i32 } [ %912, %911 ], [ %910, %909 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %174) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %173) #9
  br i1 %.1244, label %914, label %1029

914:                                              ; preds = %.thread529, %.thread525, %913
  %.pn337.pn.pn528 = phi { ptr, i32 } [ %907, %.thread525 ], [ %.pn337, %913 ], [ %908, %.thread529 ]
  call void @__cxa_free_exception(ptr %895) #9
  br label %1029

915:                                              ; preds = %888, %880
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %177) #9
  store i32 5376, ptr %177, align 4, !tbaa !5
  %916 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %177)
          to label %917 unwind label %918

917:                                              ; preds = %915
  store i8 1, ptr %916, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %177) #9
  br label %1024

918:                                              ; preds = %915
  %919 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %177) #9
  br label %1029

920:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %178) #9
  store i32 3042, ptr %178, align 4, !tbaa !5
  %921 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %178)
          to label %922 unwind label %934

922:                                              ; preds = %920
  %923 = load i8, ptr %921, align 1, !tbaa !27, !range !24, !noundef !25
  %924 = trunc nuw i8 %923 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %178) #9
  br i1 %924, label %925, label %943

925:                                              ; preds = %922
  %926 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %179) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %180) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %180) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %179, ptr noundef nonnull @.str.182, ptr noundef nonnull align 1 dereferenceable(1) %180)
          to label %927 unwind label %.thread532

927:                                              ; preds = %925
  %928 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef nonnull align 8 dereferenceable(32) %928)
          to label %929 unwind label %937

929:                                              ; preds = %927
  %930 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %931 = getelementptr inbounds i8, ptr %930, i64 156
  %932 = load i32, ptr %931, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %182) #9
  store i32 5, ptr %182, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %926, ptr noundef nonnull align 8 dereferenceable(32) %179, ptr noundef nonnull %181, i32 noundef %932, ptr noundef nonnull align 4 dereferenceable(4) %182)
          to label %933 unwind label %939

933:                                              ; preds = %929
  invoke void @__cxa_throw(ptr nonnull %926, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %939

934:                                              ; preds = %920
  %935 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %178) #9
  br label %1029

.thread532:                                       ; preds = %925
  %936 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %180) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %180) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %179) #9
  br label %942

937:                                              ; preds = %927
  %938 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %941

939:                                              ; preds = %933, %929
  %.0240 = phi i1 [ false, %933 ], [ true, %929 ]
  %940 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %182) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #9
  br label %941

941:                                              ; preds = %937, %939
  %.1241 = phi i1 [ %.0240, %939 ], [ true, %937 ]
  %.pn334 = phi { ptr, i32 } [ %940, %939 ], [ %938, %937 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %180) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %180) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %179) #9
  br i1 %.1241, label %942, label %1029

942:                                              ; preds = %.thread532, %941
  %.pn334.pn535 = phi { ptr, i32 } [ %936, %.thread532 ], [ %.pn334, %941 ]
  call void @__cxa_free_exception(ptr %926) #9
  br label %1029

943:                                              ; preds = %922
  %944 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %183) #9
  store i32 -1, ptr %183, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %184) #9
  store i32 3, ptr %184, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %185) #9
  store i32 3, ptr %185, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %186) #9
  store i32 -1, ptr %186, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %944, ptr noundef nonnull align 4 dereferenceable(4) %183, ptr noundef nonnull align 4 dereferenceable(4) %184, ptr noundef nonnull align 4 dereferenceable(4) %185, ptr noundef nonnull align 4 dereferenceable(4) %186, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %945 unwind label %963

945:                                              ; preds = %943
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %186) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %185) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %184) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %183) #9
  %946 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %947 = getelementptr inbounds i8, ptr %946, i64 128
  %948 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %947, i64 noundef 0) #9
  %949 = invoke noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %948)
          to label %950 unwind label %381

950:                                              ; preds = %945
  store i32 %949, ptr %18, align 4, !tbaa !5
  %951 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %952 = getelementptr inbounds i8, ptr %951, i64 128
  %953 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %952, i64 noundef 1) #9
  %954 = invoke noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %953)
          to label %955 unwind label %381

955:                                              ; preds = %950
  store i32 %954, ptr %19, align 4, !tbaa !5
  %956 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %957 = getelementptr inbounds i8, ptr %956, i64 128
  %958 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %957, i64 noundef 2) #9
  %959 = invoke noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %958)
          to label %960 unwind label %381

960:                                              ; preds = %955
  store i32 %959, ptr %20, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %187) #9
  store i32 3042, ptr %187, align 4, !tbaa !5
  %961 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %187)
          to label %962 unwind label %965

962:                                              ; preds = %960
  store i8 1, ptr %961, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %187) #9
  br label %1024

963:                                              ; preds = %943
  %964 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %186) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %185) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %184) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %183) #9
  br label %1029

965:                                              ; preds = %960
  %966 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %187) #9
  br label %1029

967:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %188) #9
  store i32 2929, ptr %188, align 4, !tbaa !5
  %968 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %188)
          to label %969 unwind label %981

969:                                              ; preds = %967
  %970 = load i8, ptr %968, align 1, !tbaa !27, !range !24, !noundef !25
  %971 = trunc nuw i8 %970 to i1
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %188) #9
  br i1 %971, label %972, label %990

972:                                              ; preds = %969
  %973 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %189) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %190) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %190) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %189, ptr noundef nonnull @.str.183, ptr noundef nonnull align 1 dereferenceable(1) %190)
          to label %974 unwind label %.thread536

974:                                              ; preds = %972
  %975 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef nonnull align 8 dereferenceable(32) %975)
          to label %976 unwind label %984

976:                                              ; preds = %974
  %977 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %978 = getelementptr inbounds i8, ptr %977, i64 156
  %979 = load i32, ptr %978, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %192) #9
  store i32 5, ptr %192, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %973, ptr noundef nonnull align 8 dereferenceable(32) %189, ptr noundef nonnull %191, i32 noundef %979, ptr noundef nonnull align 4 dereferenceable(4) %192)
          to label %980 unwind label %986

980:                                              ; preds = %976
  invoke void @__cxa_throw(ptr nonnull %973, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %986

981:                                              ; preds = %967
  %982 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %188) #9
  br label %1029

.thread536:                                       ; preds = %972
  %983 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %190) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %190) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %189) #9
  br label %989

984:                                              ; preds = %974
  %985 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %988

986:                                              ; preds = %980, %976
  %.0237 = phi i1 [ false, %980 ], [ true, %976 ]
  %987 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %192) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #9
  br label %988

988:                                              ; preds = %984, %986
  %.1238 = phi i1 [ %.0237, %986 ], [ true, %984 ]
  %.pn331 = phi { ptr, i32 } [ %987, %986 ], [ %985, %984 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %190) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %190) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %189) #9
  br i1 %.1238, label %989, label %1029

989:                                              ; preds = %.thread536, %988
  %.pn331.pn539 = phi { ptr, i32 } [ %983, %.thread536 ], [ %.pn331, %988 ]
  call void @__cxa_free_exception(ptr %973) #9
  br label %1029

990:                                              ; preds = %969
  %991 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %193) #9
  store i32 -1, ptr %193, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %194) #9
  store i32 1, ptr %194, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %195) #9
  store i32 1, ptr %195, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %196) #9
  store i32 -1, ptr %196, align 4, !tbaa !5
  invoke void @_ZN4Glip7Modules12LayoutLoader16preliminaryTestsERKNS0_18VanillaParserSpace7ElementERKiS7_S7_S7_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(164) %991, ptr noundef nonnull align 4 dereferenceable(4) %193, ptr noundef nonnull align 4 dereferenceable(4) %194, ptr noundef nonnull align 4 dereferenceable(4) %195, ptr noundef nonnull align 4 dereferenceable(4) %196, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %992 unwind label %1000

992:                                              ; preds = %990
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %196) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %195) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %194) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %193) #9
  %993 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %994 = getelementptr inbounds i8, ptr %993, i64 128
  %995 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %994, i64 noundef 0) #9
  %996 = invoke noundef i32 @_ZN4Glip6CoreGL9getGLEnumERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %995)
          to label %997 unwind label %381

997:                                              ; preds = %992
  store i32 %996, ptr %21, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %197) #9
  store i32 2929, ptr %197, align 4, !tbaa !5
  %998 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEEixEOj(ptr noundef nonnull align 8 dereferenceable(48) %32, ptr noundef nonnull align 4 dereferenceable(4) %197)
          to label %999 unwind label %1002

999:                                              ; preds = %997
  store i8 1, ptr %998, align 1, !tbaa !27
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %197) #9
  br label %1024

1000:                                             ; preds = %990
  %1001 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %196) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %195) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %194) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %193) #9
  br label %1029

1002:                                             ; preds = %997
  %1003 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %197) #9
  br label %1029

1004:                                             ; preds = %366
  %1005 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %198) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %199) #9
  %1006 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %1007 = getelementptr inbounds i8, ptr %1006, 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 %199, ptr noundef nonnull @.str.184, ptr noundef nonnull align 8 dereferenceable(32) %1007)
          to label %1008 unwind label %.thread540

1008:                                             ; preds = %1004
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %198, ptr noundef nonnull align 8 dereferenceable(32) %199, ptr noundef nonnull @.str.185)
          to label %1009 unwind label %.thread544

1009:                                             ; preds = %1008
  %1010 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %200, ptr noundef nonnull align 8 dereferenceable(32) %1010)
          to label %1011 unwind label %1018

1011:                                             ; preds = %1009
  %1012 = call noundef nonnull align 8 dereferenceable(164) ptr @_ZNSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %362) #9
  %1013 = getelementptr inbounds i8, ptr %1012, i64 156
  %1014 = load i32, ptr %1013, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %201) #9
  store i32 5, ptr %201, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %1005, ptr noundef nonnull align 8 dereferenceable(32) %198, ptr noundef nonnull %200, i32 noundef %1014, ptr noundef nonnull align 4 dereferenceable(4) %201)
          to label %1015 unwind label %1020

1015:                                             ; preds = %1011
  invoke void @__cxa_throw(ptr nonnull %1005, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %1020

.thread540:                                       ; preds = %1004
  %1016 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %199) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %198) #9
  br label %1023

.thread544:                                       ; preds = %1008
  %1017 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %199) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %199) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %198) #9
  br label %1023

1018:                                             ; preds = %1009
  %1019 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  br label %1022

1020:                                             ; preds = %1015, %1011
  %.0233 = phi i1 [ false, %1015 ], [ true, %1011 ]
  %1021 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %201) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #9
  br label %1022

1022:                                             ; preds = %1018, %1020
  %.1234 = phi i1 [ %.0233, %1020 ], [ true, %1018 ]
  %.pn327 = phi { ptr, i32 } [ %1021, %1020 ], [ %1019, %1018 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %198) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %199) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %199) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %198) #9
  br i1 %.1234, label %1023, label %1029

1023:                                             ; preds = %.thread544, %.thread540, %1022
  %.pn327.pn.pn543 = phi { ptr, i32 } [ %1016, %.thread540 ], [ %.pn327, %1022 ], [ %1017, %.thread544 ]
  call void @__cxa_free_exception(ptr %1005) #9
  br label %1029

1024:                                             ; preds = %505, %645, %785, %917, %999, %962, %850, %715, %575, %435
  %.1320 = phi i1 [ %.0319989, %435 ], [ %.0319989, %505 ], [ %.0319989, %575 ], [ %.0319989, %645 ], [ %.0319989, %715 ], [ %.0319989, %785 ], [ %.0319989, %850 ], [ true, %917 ], [ %.0319989, %962 ], [ %.0319989, %999 ]
  %.2317 = phi i1 [ %.0315990, %435 ], [ %.0315990, %505 ], [ %.0315990, %575 ], [ %.0315990, %645 ], [ %.0315990, %715 ], [ %.0315990, %785 ], [ %.0315990, %850 ], [ %885, %917 ], [ %.0315990, %962 ], [ %.0315990, %999 ]
  %.1313 = phi i1 [ %.0312991, %435 ], [ %.0312991, %505 ], [ %.0312991, %575 ], [ %.0312991, %645 ], [ %.0312991, %715 ], [ %.0312991, %785 ], [ %.0312991, %850 ], [ %.0312991, %917 ], [ true, %962 ], [ %.0312991, %999 ]
  %.1310 = phi i1 [ %.0309992, %435 ], [ %.0309992, %505 ], [ %.0309992, %575 ], [ %.0309992, %645 ], [ %.0309992, %715 ], [ %.0309992, %785 ], [ %.0309992, %850 ], [ %.0309992, %917 ], [ %.0309992, %962 ], [ true, %999 ]
  %.1300 = phi ptr [ %.0299994, %435 ], [ %.0299994, %505 ], [ %.0299994, %575 ], [ %.0299994, %645 ], [ %.0299994, %715 ], [ %.0299994, %785 ], [ %851, %850 ], [ %.0299994, %917 ], [ %.0299994, %962 ], [ %.0299994, %999 ]
  %1025 = add i32 %.0302993, 1
  %1026 = zext i32 %1025 to i64
  %1027 = call noundef i64 @_ZNKSt6vectorIN4Glip7Modules18VanillaParserSpace7ElementESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %331) #9
  %1028 = icmp ugt i64 %1027, %1026
  br i1 %1028, label %361, label %._crit_edge, !llvm.loop !28

1029:                                             ; preds = %381, %383, %415, %438, %453, %485, %508, %523, %555, %578, %593, %625, %648, %663, %695, %718, %733, %765, %788, %803, %835, %854, %869, %886, %918, %934, %963, %965, %981, %1000, %1002, %391, %390, %461, %460, %531, %530, %601, %600, %671, %670, %741, %740, %811, %810, %877, %876, %914, %913, %942, %941, %989, %988, %1023, %1022, %359, %357, %355, %353, %351, %349, %347, %345, %344, %338
  %.pn397.pn.pn.pn = phi { ptr, i32 } [ %360, %359 ], [ %358, %357 ], [ %356, %355 ], [ %354, %353 ], [ %352, %351 ], [ %350, %349 ], [ %348, %347 ], [ %346, %345 ], [ %.pn325, %344 ], [ %339, %338 ], [ %.pn397.pn447, %391 ], [ %.pn397, %390 ], [ %.pn392.pn.pn.pn, %438 ], [ %416, %415 ], [ %384, %383 ], [ %.pn389.pn458, %461 ], [ %.pn389, %460 ], [ %.pn384.pn.pn.pn, %508 ], [ %486, %485 ], [ %454, %453 ], [ %.pn381.pn469, %531 ], [ %.pn381, %530 ], [ %.pn376.pn.pn.pn, %578 ], [ %556, %555 ], [ %524, %523 ], [ %.pn373.pn480, %601 ], [ %.pn373, %600 ], [ %.pn368.pn.pn.pn, %648 ], [ %626, %625 ], [ %594, %593 ], [ %.pn365.pn491, %671 ], [ %.pn365, %670 ], [ %.pn360.pn.pn.pn, %718 ], [ %696, %695 ], [ %664, %663 ], [ %.pn357.pn502, %741 ], [ %.pn357, %740 ], [ %.pn352.pn.pn.pn, %788 ], [ %766, %765 ], [ %734, %733 ], [ %.pn349.pn513, %811 ], [ %.pn349, %810 ], [ %.pn344.pn.pn.pn, %854 ], [ %836, %835 ], [ %804, %803 ], [ %.pn341.pn524, %877 ], [ %.pn341, %876 ], [ %919, %918 ], [ %.pn337.pn.pn528, %914 ], [ %.pn337, %913 ], [ %887, %886 ], [ %870, %869 ], [ %.pn334.pn535, %942 ], [ %.pn334, %941 ], [ %966, %965 ], [ %382, %381 ], [ %964, %963 ], [ %935, %934 ], [ %.pn331.pn539, %989 ], [ %.pn331, %988 ], [ %1003, %1002 ], [ %1001, %1000 ], [ %982, %981 ], [ %.pn327.pn.pn543, %1023 ], [ %.pn327, %1022 ]
  call void @_ZNSt3mapIjbSt4lessIjESaISt4pairIKjbEEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %32) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) #9
  call void @_ZN4Glip7Modules18VanillaParserSpace13VanillaParserD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %31) #9
  br label %1030

1030:                                             ; preds = %1029, %336
  %.pn397.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn397.pn.pn.pn, %1029 ], [ %337, %336 ]
  %.69 = extractvalue { ptr, i32 } %.pn397.pn.pn.pn.pn, 0
  %.69216 = extractvalue { ptr, i32 } %.pn397.pn.pn.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %31) #9
  %1031 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTIN4Glip9ExceptionE) #9
  %1032 = icmp eq i32 %.69216, %1031
  br i1 %1032, label %1033, label %1113

1033:                                             ; preds = %1030
  %1034 = call ptr @__cxa_begin_catch(ptr %.69) #9
  call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %202) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %203) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %204) #9
  %1035 = getelementptr inbounds i8, ptr %1, i64 64
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %204, ptr noundef nonnull @.str.186, ptr noundef nonnull align 8 dereferenceable(32) %1035)
          to label %1036 unwind label %1046

1036:                                             ; preds = %1033
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %203, ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef nonnull @.str.58)
          to label %1037 unwind label %1048

1037:                                             ; preds = %1036
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %205, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %1038 unwind label %1050

1038:                                             ; preds = %1037
  %1039 = getelementptr inbounds i8, ptr %1, i64 156
  %1040 = load i32, ptr %1039, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %206) #9
  store i32 5, ptr %206, align 4, !tbaa !20
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %202, ptr noundef nonnull align 8 dereferenceable(32) %203, ptr noundef nonnull %205, i32 noundef %1040, ptr noundef nonnull align 4 dereferenceable(4) %206)
          to label %1041 unwind label %1052

1041:                                             ; preds = %1038
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %206) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %204) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %203) #9
  %1042 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %202, ptr noundef nonnull align 8 dereferenceable(152) %1034)
          to label %1043 unwind label %1057

1043:                                             ; preds = %1041
  %1044 = call ptr @__cxa_allocate_exception(i64 152) #9
  invoke void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %1044, ptr noundef nonnull align 8 dereferenceable(152) %202)
          to label %1045 unwind label %1059

1045:                                             ; preds = %1043
  invoke void @__cxa_throw(ptr nonnull %1044, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %1121 unwind label %1057

1046:                                             ; preds = %1033
  %1047 = landingpad { ptr, i32 }
          cleanup
  br label %1056

1048:                                             ; preds = %1036
  %1049 = landingpad { ptr, i32 }
          cleanup
  br label %1055

1050:                                             ; preds = %1037
  %1051 = landingpad { ptr, i32 }
          cleanup
  br label %1054

1052:                                             ; preds = %1038
  %1053 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %206) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #9
  br label %1054

1054:                                             ; preds = %1052, %1050
  %.pn403 = phi { ptr, i32 } [ %1053, %1052 ], [ %1051, %1050 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #9
  br label %1055

1055:                                             ; preds = %1054, %1048
  %.pn403.pn = phi { ptr, i32 } [ %.pn403, %1054 ], [ %1049, %1048 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #9
  br label %1056

1056:                                             ; preds = %1055, %1046
  %.pn403.pn.pn = phi { ptr, i32 } [ %.pn403.pn, %1055 ], [ %1047, %1046 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %204) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %203) #9
  br label %1062

1057:                                             ; preds = %1045, %1041
  %1058 = landingpad { ptr, i32 }
          cleanup
  br label %1061

1059:                                             ; preds = %1043
  %1060 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %1044) #9
  br label %1061

1061:                                             ; preds = %1059, %1057
  %.pn407 = phi { ptr, i32 } [ %1058, %1057 ], [ %1060, %1059 ]
  call void @_ZN4Glip9ExceptionD1Ev(ptr noundef nonnull align 8 dereferenceable(152) %202) #9
  br label %1062

1062:                                             ; preds = %1061, %1056
  %.pn407.pn = phi { ptr, i32 } [ %.pn407, %1061 ], [ %.pn403.pn.pn, %1056 ]
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %202) #9
  invoke void @__cxa_end_catch()
          to label %1063 unwind label %1118

1063:                                             ; preds = %1062
  %.74 = extractvalue { ptr, i32 } %.pn407.pn, 0
  %.74221 = extractvalue { ptr, i32 } %.pn407.pn, 1
  br label %1113

1064:                                             ; preds = %._crit_edge, %299, %295
  %.2321 = phi i1 [ false, %295 ], [ false, %299 ], [ %.0319.lcssa, %._crit_edge ]
  %.3318 = phi i1 [ false, %295 ], [ false, %299 ], [ %.0315.lcssa, %._crit_edge ]
  %.2314 = phi i1 [ false, %295 ], [ false, %299 ], [ %.0312.lcssa, %._crit_edge ]
  %.2311 = phi i1 [ false, %295 ], [ false, %299 ], [ %.0309.lcssa, %._crit_edge ]
  %.2301 = phi ptr [ null, %295 ], [ null, %299 ], [ %.0299.lcssa, %._crit_edge ]
  %1065 = getelementptr inbounds i8, ptr %0, i64 264
  call void @llvm.lifetime.start.p0(i64 272, ptr nonnull %207) #9
  %1066 = getelementptr inbounds i8, ptr %1, i64 64
  call void @llvm.lifetime.start.p0(i64 240, ptr nonnull %208) #9
  %1067 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #9
  %1068 = getelementptr inbounds i8, ptr %1067, i64 32
  invoke void @_ZN4Glip12CorePipeline12FilterLayoutC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_6CoreGL24HdlAbstractTextureFormatERKSt3mapIjPNSA_12ShaderSourceESt4lessIjESaISt4pairIKjSG_EEEPNS0_13GeometryModelE(ptr noundef nonnull align 8 dereferenceable(8) %208, ptr noundef nonnull align 8 dereferenceable(32) %1066, ptr noundef nonnull align 8 dereferenceable(52) %1068, ptr noundef nonnull align 8 dereferenceable(48) %17, ptr noundef %.2301)
          to label %1069 unwind label %1083

1069:                                             ; preds = %1064
  invoke void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEC2IRKS5_S8_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISE_SF_EEEbE4typeELb1EEEOSE_OSF_(ptr noundef nonnull align 8 dereferenceable(272) %207, ptr noundef nonnull align 8 dereferenceable(32) %1066, ptr noundef nonnull align 8 dereferenceable(8) %208)
          to label %1070 unwind label %1085

1070:                                             ; preds = %1069
  %1071 = invoke { ptr, i8 } @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISB_IS5_S8_EEENSt9enable_ifIXsr16is_constructibleISD_T_EE5valueESB_ISt17_Rb_tree_iteratorISD_EbEE4typeEOSJ_(ptr noundef nonnull align 8 dereferenceable(48) %1065, ptr noundef nonnull align 8 dereferenceable(272) %207)
          to label %1072 unwind label %1087

1072:                                             ; preds = %1070
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEED2Ev(ptr noundef nonnull align 8 dereferenceable(272) %207) #9
  call void @_ZN4Glip12CorePipeline12FilterLayoutD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %208) #9
  call void @llvm.lifetime.end.p0(i64 240, ptr nonnull %208) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %207) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %209) #9
  %1073 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %1065, ptr noundef nonnull align 8 dereferenceable(32) %1066)
          to label %1074 unwind label %1091

1074:                                             ; preds = %1072
  store ptr %1073, ptr %209, align 8
  br i1 %.2321, label %1075, label %1096

1075:                                             ; preds = %1074
  %1076 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %209) #9
  %1077 = getelementptr inbounds i8, ptr %1076, i64 32
  %1078 = load ptr, ptr %1077, align 8, !tbaa !30
  %1079 = getelementptr i8, ptr %1078, i64 -48
  %1080 = load i64, ptr %1079, align 8
  %1081 = getelementptr inbounds i8, ptr %1077, i64 %1080
  br i1 %.3318, label %1082, label %1095

1082:                                             ; preds = %1075
  invoke void @_ZN4Glip12CorePipeline20AbstractFilterLayout14enableClearingEv(ptr noundef nonnull align 8 dereferenceable(84) %1081)
          to label %1096 unwind label %1091

1083:                                             ; preds = %1064
  %1084 = landingpad { ptr, i32 }
          cleanup
  br label %1090

1085:                                             ; preds = %1069
  %1086 = landingpad { ptr, i32 }
          cleanup
  br label %1089

1087:                                             ; preds = %1070
  %1088 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEED2Ev(ptr noundef nonnull align 8 dereferenceable(272) %207) #9
  br label %1089

1089:                                             ; preds = %1087, %1085
  %.pn410 = phi { ptr, i32 } [ %1088, %1087 ], [ %1086, %1085 ]
  call void @_ZN4Glip12CorePipeline12FilterLayoutD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %208) #9
  br label %1090

1090:                                             ; preds = %1089, %1083
  %.pn410.pn = phi { ptr, i32 } [ %.pn410, %1089 ], [ %1084, %1083 ]
  %.76 = extractvalue { ptr, i32 } %.pn410.pn, 0
  %.76223 = extractvalue { ptr, i32 } %.pn410.pn, 1
  call void @llvm.lifetime.end.p0(i64 240, ptr nonnull %208) #9
  call void @llvm.lifetime.end.p0(i64 272, ptr nonnull %207) #9
  br label %1113

1091:                                             ; preds = %1105, %1097, %1095, %1082, %1072
  %1092 = landingpad { ptr, i32 }
          cleanup
  %1093 = extractvalue { ptr, i32 } %1092, 0
  %1094 = extractvalue { ptr, i32 } %1092, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %209) #9
  br label %1113

1095:                                             ; preds = %1075
  invoke void @_ZN4Glip12CorePipeline20AbstractFilterLayout15disableClearingEv(ptr noundef nonnull align 8 dereferenceable(84) %1081)
          to label %1096 unwind label %1091

1096:                                             ; preds = %1082, %1095, %1074
  br i1 %.2314, label %1097, label %1104

1097:                                             ; preds = %1096
  %1098 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %209) #9
  %1099 = getelementptr inbounds i8, ptr %1098, i64 32
  %1100 = load ptr, ptr %1099, align 8, !tbaa !30
  %1101 = getelementptr i8, ptr %1100, i64 -48
  %1102 = load i64, ptr %1101, align 8
  %1103 = getelementptr inbounds i8, ptr %1099, i64 %1102
  invoke void @_ZN4Glip12CorePipeline20AbstractFilterLayout14enableBlendingERKjS3_S3_(ptr noundef nonnull align 8 dereferenceable(84) %1103, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef nonnull align 4 dereferenceable(4) %20)
          to label %1104 unwind label %1091

1104:                                             ; preds = %1097, %1096
  br i1 %.2311, label %1105, label %1112

1105:                                             ; preds = %1104
  %1106 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %209) #9
  %1107 = getelementptr inbounds i8, ptr %1106, i64 32
  %1108 = load ptr, ptr %1107, align 8, !tbaa !30
  %1109 = getelementptr i8, ptr %1108, i64 -48
  %1110 = load i64, ptr %1109, align 8
  %1111 = getelementptr inbounds i8, ptr %1107, i64 %1110
  invoke void @_ZN4Glip12CorePipeline20AbstractFilterLayout18enableDepthTestingERKj(ptr noundef nonnull align 8 dereferenceable(84) %1111, ptr noundef nonnull align 4 dereferenceable(4) %21)
          to label %1112 unwind label %1091

1112:                                             ; preds = %1105, %1104
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %209) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #9
  call void @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #9
  ret void

1113:                                             ; preds = %1091, %1090, %1063, %1030, %294
  %.77224 = phi i32 [ %.11158, %294 ], [ %1094, %1091 ], [ %.76223, %1090 ], [ %.74221, %1063 ], [ %.69216, %1030 ]
  %.77 = phi ptr [ %.11, %294 ], [ %1093, %1091 ], [ %.76, %1090 ], [ %.74, %1063 ], [ %.69, %1030 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #9
  call void @_ZNSt3mapIjPN4Glip6CoreGL12ShaderSourceESt4lessIjESaISt4pairIKjS3_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %17) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %17) #9
  br label %1114

1114:                                             ; preds = %247, %248, %1113
  %.78225 = phi i32 [ %.5152431, %248 ], [ %.5152, %247 ], [ %.77224, %1113 ]
  %.78 = phi ptr [ %.5430, %248 ], [ %.5, %247 ], [ %.77, %1113 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #9
  br label %1115

1115:                                             ; preds = %1114, %234
  %.79226 = phi i32 [ %.78225, %1114 ], [ %.0147, %234 ]
  %.79 = phi ptr [ %.78, %1114 ], [ %.0, %234 ]
  %1116 = insertvalue { ptr, i32 } poison, ptr %.79, 0
  %1117 = insertvalue { ptr, i32 } %1116, i32 %.79226, 1
  resume { ptr, i32 } %1117

1118:                                             ; preds = %1062
  %1119 = landingpad { ptr, i32 }
          catch ptr null
  %1120 = extractvalue { ptr, i32 } %1119, 0
  call void @__clang_call_terminate(ptr %1120) #11
  unreachable

1121:                                             ; preds = %1045, %1015, %980, %933, %906, %868, %834, %802, %764, %732, %694, %662, %624, %592, %554, %522, %484, %452, %414, %380, %270, %229
  unreachable
}

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

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

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

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

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

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

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

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

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

declare void @_ZN4Glip12CorePipeline12FilterLayoutC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_6CoreGL24HdlAbstractTextureFormatERKSt3mapIjPNSA_12ShaderSourceESt4lessIjESaISt4pairIKjSG_EEEPNS0_13GeometryModelE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(52), ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) unnamed_addr #5

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

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

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

declare void @_ZN4Glip12CorePipeline20AbstractFilterLayout14enableClearingEv(ptr noundef nonnull align 8 dereferenceable(84)) local_unnamed_addr #5

declare void @_ZN4Glip12CorePipeline20AbstractFilterLayout15disableClearingEv(ptr noundef nonnull align 8 dereferenceable(84)) local_unnamed_addr #5

declare void @_ZN4Glip12CorePipeline20AbstractFilterLayout14enableBlendingERKjS3_S3_(ptr noundef nonnull align 8 dereferenceable(84), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #5

declare void @_ZN4Glip12CorePipeline20AbstractFilterLayout18enableDepthTestingERKj(ptr noundef nonnull align 8 dereferenceable(84), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #5

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

; 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, !6, i64 156}
!10 = !{!"_ZTSN4Glip7Modules18VanillaParserSpace7ElementE", !11, i64 0, !11, i64 32, !11, i64 64, !11, i64 96, !15, i64 128, !19, i64 152, !19, i64 153, !19, i64 154, !6, i64 156, !6, i64 160}
!11 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !12, i64 0, !14, i64 8, !7, i64 16}
!12 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !13, i64 0}
!13 = !{!"any pointer", !7, i64 0}
!14 = !{!"long", !7, i64 0}
!15 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !13, i64 0, !13, i64 8, !13, i64 16}
!19 = !{!"bool", !7, i64 0}
!20 = !{!21, !21, i64 0}
!21 = !{!"_ZTSN4Glip9Exception4TypeE", !7, i64 0}
!22 = !{!13, !13, i64 0}
!23 = !{!10, !19, i64 154}
!24 = !{i8 0, i8 2}
!25 = !{}
!26 = !{!10, !6, i64 160}
!27 = !{!19, !19, i64 0}
!28 = distinct !{!28, !29}
!29 = !{!"llvm.loop.mustprogress"}
!30 = !{!31, !31, i64 0}
!31 = !{!"vtable pointer", !8, i64 0}


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