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

; 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] }
%"struct.std::_Rb_tree_iterator.83" = type { ptr }
%"class.std::allocator" = type { i8 }
%"struct.std::_Rb_tree_iterator.77" = type { ptr }
%"struct.std::_Rb_tree_iterator.86" = type { ptr }
%"struct.std::_Rb_tree_iterator.94" = type { ptr }
%"struct.std::_Rb_tree_iterator.97" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.80" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.50" = 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" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::HdlTextureFormat>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::HdlTextureFormat>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::HdlTextureFormat>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::HdlTextureFormat>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.11" = type { %"class.std::_Rb_tree.12" }
%"class.std::_Rb_tree.12" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::ShaderSource>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::ShaderSource>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::ShaderSource>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CoreGL::ShaderSource>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.16" = type { %"class.std::_Rb_tree.17" }
%"class.std::_Rb_tree.17" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::GeometryModel>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::GeometryModel>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::GeometryModel>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::GeometryModel>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.26" = type { %"class.std::_Rb_tree.27" }
%"class.std::_Rb_tree.27" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::PipelineLayout>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::PipelineLayout>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::PipelineLayout>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::CorePipeline::PipelineLayout>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.31" = type { %"class.std::_Rb_tree.32" }
%"class.std::_Rb_tree.32" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::Modules::LayoutLoaderModule *>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::Modules::LayoutLoaderModule *>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, Glip::Modules::LayoutLoaderModule *>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, Glip::Modules::LayoutLoaderModule *>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.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] }
%"class.Glip::CoreGL::HdlAbstractTextureFormat.base" = type <{ ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }>
%"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.95" = 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.Glip::CorePipeline::AbstractFilterLayout.base" = type <{ ptr, [6 x ptr], ptr, i8, i8, i8, i8, i32, i32, i32, i32 }>
%"struct.std::pair.98" = type { %"class.std::__cxx11::basic_string", %"class.Glip::CorePipeline::PipelineLayout" }
%"class.Glip::CorePipeline::PipelineLayout" = type { %"class.Glip::CorePipeline::ComponentLayout.base", %"class.Glip::CorePipeline::AbstractComponentLayout", %"class.Glip::CorePipeline::AbstractPipelineLayout.base" }
%"class.Glip::CorePipeline::AbstractPipelineLayout.base" = type { ptr, %"class.std::vector.100", %"class.std::vector.105", %"class.std::vector.110", %"class.std::vector", %"class.std::vector.115" }
%"class.std::vector.100" = type { %"struct.std::_Vector_base.101" }
%"struct.std::_Vector_base.101" = type { %"struct.std::_Vector_base<Glip::CorePipeline::AbstractPipelineLayout::Connection, std::allocator<Glip::CorePipeline::AbstractPipelineLayout::Connection>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::CorePipeline::AbstractPipelineLayout::Connection, std::allocator<Glip::CorePipeline::AbstractPipelineLayout::Connection>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::CorePipeline::AbstractPipelineLayout::Connection, std::allocator<Glip::CorePipeline::AbstractPipelineLayout::Connection>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::CorePipeline::AbstractPipelineLayout::Connection, std::allocator<Glip::CorePipeline::AbstractPipelineLayout::Connection>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.105" = type { %"struct.std::_Vector_base.106" }
%"struct.std::_Vector_base.106" = type { %"struct.std::_Vector_base<Glip::CorePipeline::AbstractComponentLayout *, std::allocator<Glip::CorePipeline::AbstractComponentLayout *>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::CorePipeline::AbstractComponentLayout *, std::allocator<Glip::CorePipeline::AbstractComponentLayout *>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::CorePipeline::AbstractComponentLayout *, std::allocator<Glip::CorePipeline::AbstractComponentLayout *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::CorePipeline::AbstractComponentLayout *, std::allocator<Glip::CorePipeline::AbstractComponentLayout *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.110" = type { %"struct.std::_Vector_base.111" }
%"struct.std::_Vector_base.111" = type { %"struct.std::_Vector_base<Glip::CorePipeline::AbstractPipelineLayout::ComponentKind, std::allocator<Glip::CorePipeline::AbstractPipelineLayout::ComponentKind>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::CorePipeline::AbstractPipelineLayout::ComponentKind, std::allocator<Glip::CorePipeline::AbstractPipelineLayout::ComponentKind>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::CorePipeline::AbstractPipelineLayout::ComponentKind, std::allocator<Glip::CorePipeline::AbstractPipelineLayout::ComponentKind>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::CorePipeline::AbstractPipelineLayout::ComponentKind, std::allocator<Glip::CorePipeline::AbstractPipelineLayout::ComponentKind>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.115" = type { %"struct.std::_Vector_base.116" }
%"struct.std::_Vector_base.116" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@_ZTIN4Glip9ExceptionE = external constant ptr
@.str.63 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [15 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: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

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

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

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

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

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Glip7Modules12LayoutLoader6appendERS1_(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(624) %1) #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %6 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %7 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %8 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", 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::allocator", align 1
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator", align 1
  %19 = alloca i32, align 4
  %20 = alloca i1, align 1
  %21 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %22 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %23 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %24 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %25 = alloca %"struct.std::_Rb_tree_iterator.77", 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 %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator", align 1
  %34 = alloca i32, align 4
  %35 = alloca i1, align 1
  %36 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %37 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %38 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %39 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %40 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::allocator", align 1
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator", align 1
  %49 = alloca i32, align 4
  %50 = alloca i1, align 1
  %51 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %52 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %53 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %54 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %55 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %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 %"class.std::allocator", align 1
  %64 = alloca i32, align 4
  %65 = alloca i1, align 1
  %66 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %67 = alloca %"struct.std::_Rb_tree_iterator.97", align 8
  %68 = alloca %"struct.std::_Rb_tree_iterator.97", align 8
  %69 = alloca %"struct.std::_Rb_tree_iterator.97", align 8
  %70 = alloca %"struct.std::_Rb_tree_iterator.97", 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 %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::allocator", align 1
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::allocator", align 1
  %79 = alloca i32, align 4
  %80 = alloca i1, align 1
  %81 = alloca %"struct.std::_Rb_tree_iterator.97", align 8
  %82 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %83 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %84 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %85 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %86 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %87 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %88 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %89 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %90 = alloca %"struct.std::_Rb_tree_iterator.97", align 8
  %91 = alloca %"struct.std::_Rb_tree_iterator.97", align 8
  %92 = alloca %"class.__gnu_cxx::__normal_iterator.80", align 8
  %93 = alloca %"class.__gnu_cxx::__normal_iterator.50", align 8
  %94 = alloca %"class.__gnu_cxx::__normal_iterator.50", align 8
  %95 = alloca %"class.__gnu_cxx::__normal_iterator.50", align 8
  %96 = alloca %"class.__gnu_cxx::__normal_iterator.50", align 8
  %97 = alloca %"class.__gnu_cxx::__normal_iterator.50", align 8
  %98 = alloca %"class.__gnu_cxx::__normal_iterator.50", align 8
  %99 = alloca %"class.__gnu_cxx::__normal_iterator.80", align 8
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %100 = load ptr, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #7
  %101 = load ptr, ptr %4, align 8, !tbaa !5
  %102 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %101, i32 0, i32 6
  %103 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %102) #7
  %104 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %5, i32 0, i32 0
  store ptr %103, ptr %104, align 8
  br label %105

105:                                              ; preds = %171, %2
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #7
  %106 = load ptr, ptr %4, align 8, !tbaa !5
  %107 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %106, i32 0, i32 6
  %108 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %107) #7
  %109 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %6, i32 0, i32 0
  store ptr %108, ptr %109, align 8
  %110 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #7
  br i1 %110, label %112, label %111

111:                                              ; preds = %105
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  br label %174

112:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #7
  %113 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 6
  %114 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #7
  %115 = getelementptr inbounds %"struct.std::pair.84", ptr %114, i32 0, i32 0
  %116 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %113, ptr noundef nonnull align 8 dereferenceable(32) %115)
  %117 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %7, i32 0, i32 0
  store ptr %116, ptr %117, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #7
  %118 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 6
  %119 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %118) #7
  %120 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %8, i32 0, i32 0
  store ptr %119, ptr %120, align 8
  %121 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #7
  br i1 %121, label %122, label %170

122:                                              ; preds = %112
  store i1 true, ptr %20, align 1
  %123 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %124 unwind label %133

124:                                              ; preds = %122
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %125 unwind label %137

125:                                              ; preds = %124
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef @.str.65)
          to label %126 unwind label %141

126:                                              ; preds = %125
  %127 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %5) #7
  %128 = getelementptr inbounds %"struct.std::pair.84", ptr %127, i32 0, i32 0
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %128)
          to label %129 unwind label %145

129:                                              ; preds = %126
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef @.str.66)
          to label %130 unwind label %149

130:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %131 unwind label %153

131:                                              ; preds = %130
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #7
  store i32 5, ptr %19, align 4, !tbaa !9
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %123, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef %17, i32 noundef 387, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %132 unwind label %157

132:                                              ; preds = %131
  store i1 false, ptr %20, align 1
  invoke void @__cxa_throw(ptr %123, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #8
          to label %578 unwind label %157

133:                                              ; preds = %122
  %134 = landingpad { ptr, i32 }
          cleanup
  %135 = extractvalue { ptr, i32 } %134, 0
  store ptr %135, ptr %15, align 8
  %136 = extractvalue { ptr, i32 } %134, 1
  store i32 %136, ptr %16, align 4
  br label %166

137:                                              ; preds = %124
  %138 = landingpad { ptr, i32 }
          cleanup
  %139 = extractvalue { ptr, i32 } %138, 0
  store ptr %139, ptr %15, align 8
  %140 = extractvalue { ptr, i32 } %138, 1
  store i32 %140, ptr %16, align 4
  br label %165

141:                                              ; preds = %125
  %142 = landingpad { ptr, i32 }
          cleanup
  %143 = extractvalue { ptr, i32 } %142, 0
  store ptr %143, ptr %15, align 8
  %144 = extractvalue { ptr, i32 } %142, 1
  store i32 %144, ptr %16, align 4
  br label %164

145:                                              ; preds = %126
  %146 = landingpad { ptr, i32 }
          cleanup
  %147 = extractvalue { ptr, i32 } %146, 0
  store ptr %147, ptr %15, align 8
  %148 = extractvalue { ptr, i32 } %146, 1
  store i32 %148, ptr %16, align 4
  br label %163

149:                                              ; preds = %129
  %150 = landingpad { ptr, i32 }
          cleanup
  %151 = extractvalue { ptr, i32 } %150, 0
  store ptr %151, ptr %15, align 8
  %152 = extractvalue { ptr, i32 } %150, 1
  store i32 %152, ptr %16, align 4
  br label %162

153:                                              ; preds = %130
  %154 = landingpad { ptr, i32 }
          cleanup
  %155 = extractvalue { ptr, i32 } %154, 0
  store ptr %155, ptr %15, align 8
  %156 = extractvalue { ptr, i32 } %154, 1
  store i32 %156, ptr %16, align 4
  br label %161

157:                                              ; preds = %132, %131
  %158 = landingpad { ptr, i32 }
          cleanup
  %159 = extractvalue { ptr, i32 } %158, 0
  store ptr %159, ptr %15, align 8
  %160 = extractvalue { ptr, i32 } %158, 1
  store i32 %160, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %161

161:                                              ; preds = %157, %153
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %162

162:                                              ; preds = %161, %149
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %163

163:                                              ; preds = %162, %145
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %164

164:                                              ; preds = %163, %141
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %165

165:                                              ; preds = %164, %137
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %166

166:                                              ; preds = %165, %133
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #7
  %167 = load i1, ptr %20, align 1
  br i1 %167, label %168, label %169

168:                                              ; preds = %166
  call void @__cxa_free_exception(ptr %123) #7
  br label %169

169:                                              ; preds = %168, %166
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #7
  br label %573

170:                                              ; preds = %112
  br label %171

171:                                              ; preds = %170
  %172 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %5, i32 noundef 0) #7
  %173 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %21, i32 0, i32 0
  store ptr %172, ptr %173, align 8
  br label %105, !llvm.loop !11

174:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #7
  %175 = load ptr, ptr %4, align 8, !tbaa !5
  %176 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %175, i32 0, i32 7
  %177 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %176) #7
  %178 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %22, i32 0, i32 0
  store ptr %177, ptr %178, align 8
  br label %179

179:                                              ; preds = %245, %174
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  %180 = load ptr, ptr %4, align 8, !tbaa !5
  %181 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %180, i32 0, i32 7
  %182 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %181) #7
  %183 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %23, i32 0, i32 0
  store ptr %182, ptr %183, align 8
  %184 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  br i1 %184, label %186, label %185

185:                                              ; preds = %179
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  br label %248

186:                                              ; preds = %179
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #7
  %187 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 7
  %188 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  %189 = getelementptr inbounds %"struct.std::pair.78", ptr %188, i32 0, i32 0
  %190 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %187, ptr noundef nonnull align 8 dereferenceable(32) %189)
  %191 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %24, i32 0, i32 0
  store ptr %190, ptr %191, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #7
  %192 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 7
  %193 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %192) #7
  %194 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %25, i32 0, i32 0
  store ptr %193, ptr %194, align 8
  %195 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  br i1 %195, label %196, label %244

196:                                              ; preds = %186
  store i1 true, ptr %35, align 1
  %197 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef @.str.68, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %198 unwind label %207

198:                                              ; preds = %196
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %199 unwind label %211

199:                                              ; preds = %198
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef @.str.65)
          to label %200 unwind label %215

200:                                              ; preds = %199
  %201 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  %202 = getelementptr inbounds %"struct.std::pair.78", ptr %201, i32 0, i32 0
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %202)
          to label %203 unwind label %219

203:                                              ; preds = %200
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.66)
          to label %204 unwind label %223

204:                                              ; preds = %203
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %205 unwind label %227

205:                                              ; preds = %204
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #7
  store i32 5, ptr %34, align 4, !tbaa !9
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %197, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef %32, i32 noundef 388, ptr noundef nonnull align 4 dereferenceable(4) %34)
          to label %206 unwind label %231

206:                                              ; preds = %205
  store i1 false, ptr %35, align 1
  invoke void @__cxa_throw(ptr %197, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #8
          to label %578 unwind label %231

207:                                              ; preds = %196
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %15, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %16, align 4
  br label %240

211:                                              ; preds = %198
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %15, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %16, align 4
  br label %239

215:                                              ; preds = %199
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %15, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %16, align 4
  br label %238

219:                                              ; preds = %200
  %220 = landingpad { ptr, i32 }
          cleanup
  %221 = extractvalue { ptr, i32 } %220, 0
  store ptr %221, ptr %15, align 8
  %222 = extractvalue { ptr, i32 } %220, 1
  store i32 %222, ptr %16, align 4
  br label %237

223:                                              ; preds = %203
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %15, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %16, align 4
  br label %236

227:                                              ; preds = %204
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %15, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %16, align 4
  br label %235

231:                                              ; preds = %206, %205
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %15, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  br label %235

235:                                              ; preds = %231, %227
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %236

236:                                              ; preds = %235, %223
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %237

237:                                              ; preds = %236, %219
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %238

238:                                              ; preds = %237, %215
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %239

239:                                              ; preds = %238, %211
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %240

240:                                              ; preds = %239, %207
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #7
  %241 = load i1, ptr %35, align 1
  br i1 %241, label %242, label %243

242:                                              ; preds = %240
  call void @__cxa_free_exception(ptr %197) #7
  br label %243

243:                                              ; preds = %242, %240
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  br label %573

244:                                              ; preds = %186
  br label %245

245:                                              ; preds = %244
  %246 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %22, i32 noundef 0) #7
  %247 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %36, i32 0, i32 0
  store ptr %246, ptr %247, align 8
  br label %179, !llvm.loop !13

248:                                              ; preds = %185
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  %249 = load ptr, ptr %4, align 8, !tbaa !5
  %250 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %249, i32 0, i32 8
  %251 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %250) #7
  %252 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %37, i32 0, i32 0
  store ptr %251, ptr %252, align 8
  br label %253

253:                                              ; preds = %319, %248
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #7
  %254 = load ptr, ptr %4, align 8, !tbaa !5
  %255 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %254, i32 0, i32 8
  %256 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %255) #7
  %257 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %38, i32 0, i32 0
  store ptr %256, ptr %257, align 8
  %258 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  br i1 %258, label %260, label %259

259:                                              ; preds = %253
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  br label %322

260:                                              ; preds = %253
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #7
  %261 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 8
  %262 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  %263 = getelementptr inbounds %"struct.std::pair.87", ptr %262, i32 0, i32 0
  %264 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %261, ptr noundef nonnull align 8 dereferenceable(32) %263)
  %265 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %39, i32 0, i32 0
  store ptr %264, ptr %265, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #7
  %266 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 8
  %267 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %266) #7
  %268 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %40, i32 0, i32 0
  store ptr %267, ptr %268, align 8
  %269 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  br i1 %269, label %270, label %318

270:                                              ; preds = %260
  store i1 true, ptr %50, align 1
  %271 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef @.str.69, ptr noundef nonnull align 1 dereferenceable(1) %46)
          to label %272 unwind label %281

272:                                              ; preds = %270
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %273 unwind label %285

273:                                              ; preds = %272
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef @.str.65)
          to label %274 unwind label %289

274:                                              ; preds = %273
  %275 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  %276 = getelementptr inbounds %"struct.std::pair.87", ptr %275, i32 0, i32 0
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(32) %276)
          to label %277 unwind label %293

277:                                              ; preds = %274
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef @.str.66)
          to label %278 unwind label %297

278:                                              ; preds = %277
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %279 unwind label %301

279:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #7
  store i32 5, ptr %49, align 4, !tbaa !9
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %271, ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef %47, i32 noundef 389, ptr noundef nonnull align 4 dereferenceable(4) %49)
          to label %280 unwind label %305

280:                                              ; preds = %279
  store i1 false, ptr %50, align 1
  invoke void @__cxa_throw(ptr %271, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #8
          to label %578 unwind label %305

281:                                              ; preds = %270
  %282 = landingpad { ptr, i32 }
          cleanup
  %283 = extractvalue { ptr, i32 } %282, 0
  store ptr %283, ptr %15, align 8
  %284 = extractvalue { ptr, i32 } %282, 1
  store i32 %284, ptr %16, align 4
  br label %314

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

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

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

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

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

305:                                              ; preds = %280, %279
  %306 = landingpad { ptr, i32 }
          cleanup
  %307 = extractvalue { ptr, i32 } %306, 0
  store ptr %307, ptr %15, align 8
  %308 = extractvalue { ptr, i32 } %306, 1
  store i32 %308, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %309

309:                                              ; preds = %305, %301
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %310

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

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

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

313:                                              ; preds = %312, %285
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %314

314:                                              ; preds = %313, %281
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #7
  %315 = load i1, ptr %50, align 1
  br i1 %315, label %316, label %317

316:                                              ; preds = %314
  call void @__cxa_free_exception(ptr %271) #7
  br label %317

317:                                              ; preds = %316, %314
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  br label %573

318:                                              ; preds = %260
  br label %319

319:                                              ; preds = %318
  %320 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %37, i32 noundef 0) #7
  %321 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %51, i32 0, i32 0
  store ptr %320, ptr %321, align 8
  br label %253, !llvm.loop !14

322:                                              ; preds = %259
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #7
  %323 = load ptr, ptr %4, align 8, !tbaa !5
  %324 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %323, i32 0, i32 9
  %325 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %324) #7
  %326 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.94", ptr %52, i32 0, i32 0
  store ptr %325, ptr %326, align 8
  br label %327

327:                                              ; preds = %393, %322
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #7
  %328 = load ptr, ptr %4, align 8, !tbaa !5
  %329 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %328, i32 0, i32 9
  %330 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %329) #7
  %331 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.94", ptr %53, i32 0, i32 0
  store ptr %330, ptr %331, align 8
  %332 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull align 8 dereferenceable(8) %53) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  br i1 %332, label %334, label %333

333:                                              ; preds = %327
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  br label %396

334:                                              ; preds = %327
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #7
  %335 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 9
  %336 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  %337 = getelementptr inbounds %"struct.std::pair.95", ptr %336, i32 0, i32 0
  %338 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %335, ptr noundef nonnull align 8 dereferenceable(32) %337)
  %339 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.94", ptr %54, i32 0, i32 0
  store ptr %338, ptr %339, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #7
  %340 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 9
  %341 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %340) #7
  %342 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.94", ptr %55, i32 0, i32 0
  store ptr %341, ptr %342, align 8
  %343 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  br i1 %343, label %344, label %392

344:                                              ; preds = %334
  store i1 true, ptr %65, align 1
  %345 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.70, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %346 unwind label %355

346:                                              ; preds = %344
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %347 unwind label %359

347:                                              ; preds = %346
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef @.str.65)
          to label %348 unwind label %363

348:                                              ; preds = %347
  %349 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %52) #7
  %350 = getelementptr inbounds %"struct.std::pair.95", ptr %349, i32 0, i32 0
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %350)
          to label %351 unwind label %367

351:                                              ; preds = %348
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef @.str.66)
          to label %352 unwind label %371

352:                                              ; preds = %351
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %353 unwind label %375

353:                                              ; preds = %352
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #7
  store i32 5, ptr %64, align 4, !tbaa !9
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %345, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef %62, i32 noundef 390, ptr noundef nonnull align 4 dereferenceable(4) %64)
          to label %354 unwind label %379

354:                                              ; preds = %353
  store i1 false, ptr %65, align 1
  invoke void @__cxa_throw(ptr %345, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #8
          to label %578 unwind label %379

355:                                              ; preds = %344
  %356 = landingpad { ptr, i32 }
          cleanup
  %357 = extractvalue { ptr, i32 } %356, 0
  store ptr %357, ptr %15, align 8
  %358 = extractvalue { ptr, i32 } %356, 1
  store i32 %358, ptr %16, align 4
  br label %388

359:                                              ; preds = %346
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %15, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %16, align 4
  br label %387

363:                                              ; preds = %347
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %15, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %16, align 4
  br label %386

367:                                              ; preds = %348
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %15, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %16, align 4
  br label %385

371:                                              ; preds = %351
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %15, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %16, align 4
  br label %384

375:                                              ; preds = %352
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %15, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, ptr %16, align 4
  br label %383

379:                                              ; preds = %354, %353
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %15, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %383

383:                                              ; preds = %379, %375
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  br label %384

384:                                              ; preds = %383, %371
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %385

385:                                              ; preds = %384, %367
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %386

386:                                              ; preds = %385, %363
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %387

387:                                              ; preds = %386, %359
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %388

388:                                              ; preds = %387, %355
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #7
  %389 = load i1, ptr %65, align 1
  br i1 %389, label %390, label %391

390:                                              ; preds = %388
  call void @__cxa_free_exception(ptr %345) #7
  br label %391

391:                                              ; preds = %390, %388
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  br label %573

392:                                              ; preds = %334
  br label %393

393:                                              ; preds = %392
  %394 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %52, i32 noundef 0) #7
  %395 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.94", ptr %66, i32 0, i32 0
  store ptr %394, ptr %395, align 8
  br label %327, !llvm.loop !15

396:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #7
  %397 = load ptr, ptr %4, align 8, !tbaa !5
  %398 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %397, i32 0, i32 10
  %399 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %398) #7
  %400 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.97", ptr %67, i32 0, i32 0
  store ptr %399, ptr %400, align 8
  br label %401

401:                                              ; preds = %467, %396
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #7
  %402 = load ptr, ptr %4, align 8, !tbaa !5
  %403 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %402, i32 0, i32 10
  %404 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %403) #7
  %405 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.97", ptr %68, i32 0, i32 0
  store ptr %404, ptr %405, align 8
  %406 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %67, ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  br i1 %406, label %408, label %407

407:                                              ; preds = %401
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  br label %470

408:                                              ; preds = %401
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #7
  %409 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 10
  %410 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  %411 = getelementptr inbounds %"struct.std::pair.98", ptr %410, i32 0, i32 0
  %412 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %409, ptr noundef nonnull align 8 dereferenceable(32) %411)
  %413 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.97", ptr %69, i32 0, i32 0
  store ptr %412, ptr %413, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #7
  %414 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 10
  %415 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %414) #7
  %416 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.97", ptr %70, i32 0, i32 0
  store ptr %415, ptr %416, align 8
  %417 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  br i1 %417, label %418, label %466

418:                                              ; preds = %408
  store i1 true, ptr %80, align 1
  %419 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef @.str.71, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %420 unwind label %429

420:                                              ; preds = %418
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %421 unwind label %433

421:                                              ; preds = %420
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef @.str.65)
          to label %422 unwind label %437

422:                                              ; preds = %421
  %423 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %67) #7
  %424 = getelementptr inbounds %"struct.std::pair.98", ptr %423, i32 0, i32 0
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %424)
          to label %425 unwind label %441

425:                                              ; preds = %422
  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.66)
          to label %426 unwind label %445

426:                                              ; preds = %425
  call void @llvm.lifetime.start.p0(i64 1, ptr %78) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %427 unwind label %449

427:                                              ; preds = %426
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #7
  store i32 5, ptr %79, align 4, !tbaa !9
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %419, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef %77, i32 noundef 391, ptr noundef nonnull align 4 dereferenceable(4) %79)
          to label %428 unwind label %453

428:                                              ; preds = %427
  store i1 false, ptr %80, align 1
  invoke void @__cxa_throw(ptr %419, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #8
          to label %578 unwind label %453

429:                                              ; preds = %418
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %15, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %16, align 4
  br label %462

433:                                              ; preds = %420
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %15, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %16, align 4
  br label %461

437:                                              ; preds = %421
  %438 = landingpad { ptr, i32 }
          cleanup
  %439 = extractvalue { ptr, i32 } %438, 0
  store ptr %439, ptr %15, align 8
  %440 = extractvalue { ptr, i32 } %438, 1
  store i32 %440, ptr %16, align 4
  br label %460

441:                                              ; preds = %422
  %442 = landingpad { ptr, i32 }
          cleanup
  %443 = extractvalue { ptr, i32 } %442, 0
  store ptr %443, ptr %15, align 8
  %444 = extractvalue { ptr, i32 } %442, 1
  store i32 %444, ptr %16, align 4
  br label %459

445:                                              ; preds = %425
  %446 = landingpad { ptr, i32 }
          cleanup
  %447 = extractvalue { ptr, i32 } %446, 0
  store ptr %447, ptr %15, align 8
  %448 = extractvalue { ptr, i32 } %446, 1
  store i32 %448, ptr %16, align 4
  br label %458

449:                                              ; preds = %426
  %450 = landingpad { ptr, i32 }
          cleanup
  %451 = extractvalue { ptr, i32 } %450, 0
  store ptr %451, ptr %15, align 8
  %452 = extractvalue { ptr, i32 } %450, 1
  store i32 %452, ptr %16, align 4
  br label %457

453:                                              ; preds = %428, %427
  %454 = landingpad { ptr, i32 }
          cleanup
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %15, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %457

457:                                              ; preds = %453, %449
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %458

458:                                              ; preds = %457, %445
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  br label %459

459:                                              ; preds = %458, %441
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  br label %460

460:                                              ; preds = %459, %437
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  br label %461

461:                                              ; preds = %460, %433
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  br label %462

462:                                              ; preds = %461, %429
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #7
  %463 = load i1, ptr %80, align 1
  br i1 %463, label %464, label %465

464:                                              ; preds = %462
  call void @__cxa_free_exception(ptr %419) #7
  br label %465

465:                                              ; preds = %464, %462
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  br label %573

466:                                              ; preds = %408
  br label %467

467:                                              ; preds = %466
  %468 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %67, i32 noundef 0) #7
  %469 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.97", ptr %81, i32 0, i32 0
  store ptr %468, ptr %469, align 8
  br label %401, !llvm.loop !16

470:                                              ; preds = %407
  %471 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 6
  %472 = load ptr, ptr %4, align 8, !tbaa !5
  %473 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %472, i32 0, i32 6
  %474 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %473) #7
  %475 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %82, i32 0, i32 0
  store ptr %474, ptr %475, align 8
  %476 = load ptr, ptr %4, align 8, !tbaa !5
  %477 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %476, i32 0, i32 6
  %478 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %477) #7
  %479 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %83, i32 0, i32 0
  store ptr %478, ptr %479, align 8
  %480 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %82, i32 0, i32 0
  %481 = load ptr, ptr %480, align 8
  %482 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.83", ptr %83, i32 0, i32 0
  %483 = load ptr, ptr %482, align 8
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISt17_Rb_tree_iteratorISD_EEEvT_SJ_(ptr noundef nonnull align 8 dereferenceable(48) %471, ptr %481, ptr %483)
  %484 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 7
  %485 = load ptr, ptr %4, align 8, !tbaa !5
  %486 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %485, i32 0, i32 7
  %487 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %486) #7
  %488 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %84, i32 0, i32 0
  store ptr %487, ptr %488, align 8
  %489 = load ptr, ptr %4, align 8, !tbaa !5
  %490 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %489, i32 0, i32 7
  %491 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %490) #7
  %492 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %85, i32 0, i32 0
  store ptr %491, ptr %492, align 8
  %493 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %84, i32 0, i32 0
  %494 = load ptr, ptr %493, align 8
  %495 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.77", ptr %85, i32 0, i32 0
  %496 = load ptr, ptr %495, align 8
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISt17_Rb_tree_iteratorISD_EEEvT_SJ_(ptr noundef nonnull align 8 dereferenceable(48) %484, ptr %494, ptr %496)
  %497 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 8
  %498 = load ptr, ptr %4, align 8, !tbaa !5
  %499 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %498, i32 0, i32 8
  %500 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %499) #7
  %501 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %86, i32 0, i32 0
  store ptr %500, ptr %501, align 8
  %502 = load ptr, ptr %4, align 8, !tbaa !5
  %503 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %502, i32 0, i32 8
  %504 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %503) #7
  %505 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %87, i32 0, i32 0
  store ptr %504, ptr %505, align 8
  %506 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %86, i32 0, i32 0
  %507 = load ptr, ptr %506, align 8
  %508 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.86", ptr %87, i32 0, i32 0
  %509 = load ptr, ptr %508, align 8
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISt17_Rb_tree_iteratorISD_EEEvT_SJ_(ptr noundef nonnull align 8 dereferenceable(48) %497, ptr %507, ptr %509)
  %510 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 9
  %511 = load ptr, ptr %4, align 8, !tbaa !5
  %512 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %511, i32 0, i32 9
  %513 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %512) #7
  %514 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.94", ptr %88, i32 0, i32 0
  store ptr %513, ptr %514, align 8
  %515 = load ptr, ptr %4, align 8, !tbaa !5
  %516 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %515, i32 0, i32 9
  %517 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %516) #7
  %518 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.94", ptr %89, i32 0, i32 0
  store ptr %517, ptr %518, align 8
  %519 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.94", ptr %88, i32 0, i32 0
  %520 = load ptr, ptr %519, align 8
  %521 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.94", ptr %89, i32 0, i32 0
  %522 = load ptr, ptr %521, align 8
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISt17_Rb_tree_iteratorISD_EEEvT_SJ_(ptr noundef nonnull align 8 dereferenceable(48) %510, ptr %520, ptr %522)
  %523 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 10
  %524 = load ptr, ptr %4, align 8, !tbaa !5
  %525 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %524, i32 0, i32 10
  %526 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %525) #7
  %527 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.97", ptr %90, i32 0, i32 0
  store ptr %526, ptr %527, align 8
  %528 = load ptr, ptr %4, align 8, !tbaa !5
  %529 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %528, i32 0, i32 10
  %530 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %529) #7
  %531 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.97", ptr %91, i32 0, i32 0
  store ptr %530, ptr %531, align 8
  %532 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.97", ptr %90, i32 0, i32 0
  %533 = load ptr, ptr %532, align 8
  %534 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.97", ptr %91, i32 0, i32 0
  %535 = load ptr, ptr %534, align 8
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISt17_Rb_tree_iteratorISD_EEEvT_SJ_(ptr noundef nonnull align 8 dereferenceable(48) %523, ptr %533, ptr %535)
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #7
  %536 = load ptr, ptr %4, align 8, !tbaa !5
  %537 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %536, i32 0, i32 5
  %538 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %537) #7
  %539 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.50", ptr %93, i32 0, i32 0
  store ptr %538, ptr %539, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2IPS6_vEERKNS0_IT_SB_EE(ptr noundef nonnull align 8 dereferenceable(8) %92, ptr noundef nonnull align 8 dereferenceable(8) %93) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  br label %540

540:                                              ; preds = %569, %470
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #7
  %541 = load ptr, ptr %4, align 8, !tbaa !5
  %542 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %541, i32 0, i32 5
  %543 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %542) #7
  %544 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.50", ptr %94, i32 0, i32 0
  store ptr %543, ptr %544, align 8
  %545 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPS6_St6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T1_EERKNSD_IT0_SF_EE(ptr noundef nonnull align 8 dereferenceable(8) %92, ptr noundef nonnull align 8 dereferenceable(8) %94) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #7
  br i1 %545, label %547, label %546

546:                                              ; preds = %540
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #7
  br label %572

547:                                              ; preds = %540
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #7
  %548 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 5
  %549 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %548) #7
  %550 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.50", ptr %96, i32 0, i32 0
  store ptr %549, ptr %550, align 8
  %551 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 5
  %552 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %551) #7
  %553 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.50", ptr %97, i32 0, i32 0
  store ptr %552, ptr %553, align 8
  %554 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  %555 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.50", ptr %96, i32 0, i32 0
  %556 = load ptr, ptr %555, align 8
  %557 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.50", ptr %97, i32 0, i32 0
  %558 = load ptr, ptr %557, align 8
  %559 = call ptr @_ZSt4findIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES7_ET_SD_SD_RKT0_(ptr %556, ptr %558, ptr noundef nonnull align 8 dereferenceable(32) %554)
  %560 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.50", ptr %95, i32 0, i32 0
  store ptr %559, ptr %560, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #7
  %561 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 5
  %562 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %561) #7
  %563 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.50", ptr %98, i32 0, i32 0
  store ptr %562, ptr %563, align 8
  %564 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(ptr noundef nonnull align 8 dereferenceable(8) %95, ptr noundef nonnull align 8 dereferenceable(8) %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #7
  br i1 %564, label %565, label %568

565:                                              ; preds = %547
  %566 = getelementptr inbounds %"class.Glip::Modules::LayoutLoader", ptr %100, i32 0, i32 5
  %567 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %92) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %566, ptr noundef nonnull align 8 dereferenceable(32) %567)
  br label %568

568:                                              ; preds = %565, %547
  br label %569

569:                                              ; preds = %568
  %570 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %92, i32 noundef 0) #7
  %571 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.80", ptr %99, i32 0, i32 0
  store ptr %570, ptr %571, align 8
  br label %540, !llvm.loop !17

572:                                              ; preds = %546
  ret void

573:                                              ; preds = %465, %391, %317, %243, %169
  %574 = load ptr, ptr %15, align 8
  %575 = load i32, ptr %16, align 4
  %576 = insertvalue { ptr, i32 } poison, ptr %574, 0
  %577 = insertvalue { ptr, i32 } %576, i32 %575, 1
  resume { ptr, i32 } %577

578:                                              ; preds = %428, %354, %280, %206, %132
  unreachable
}

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEESE_(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_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)) #2 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: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #3

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneRKSt17_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 @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEppEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneRKSt17_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 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)) #2 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 nounwind uwtable
declare dso_local ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEEppEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEESE_(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_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48)) #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)) #2 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 ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEppEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #0 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEppEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #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 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { 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 #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress 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 #7 = { nounwind }
attributes #8 = { noreturn }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"_ZTSN4Glip9Exception4TypeE", !7, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12}
!14 = distinct !{!14, !12}
!15 = distinct !{!15, !12}
!16 = distinct !{!16, !12}
!17 = distinct !{!17, !12}


; 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] }
%"struct.std::_Rb_tree_iterator.83" = type { ptr }
%"class.std::allocator" = type { i8 }
%"struct.std::_Rb_tree_iterator.77" = type { ptr }
%"struct.std::_Rb_tree_iterator.86" = type { ptr }
%"struct.std::_Rb_tree_iterator.94" = type { ptr }
%"struct.std::_Rb_tree_iterator.97" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.80" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.50" = type { ptr }

@_ZTIN4Glip9ExceptionE = external constant ptr
@.str.63 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [15 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: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

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

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

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

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

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

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

; Function Attrs: inlinehint mustprogress uwtable
declare 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 #3

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Glip7Modules12LayoutLoader6appendERS1_(ptr noundef nonnull align 8 dereferenceable(624) %0, ptr noundef nonnull align 8 dereferenceable(624) %1) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %4 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %5 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %6 = alloca %"struct.std::_Rb_tree_iterator.83", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca i32, align 4
  %16 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %17 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %18 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %19 = alloca %"struct.std::_Rb_tree_iterator.77", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator", align 1
  %28 = alloca i32, align 4
  %29 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %30 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %31 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %32 = alloca %"struct.std::_Rb_tree_iterator.86", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::allocator", align 1
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator", align 1
  %41 = alloca i32, align 4
  %42 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %43 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %44 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %45 = alloca %"struct.std::_Rb_tree_iterator.94", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::allocator", align 1
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::allocator", align 1
  %54 = alloca i32, align 4
  %55 = alloca %"struct.std::_Rb_tree_iterator.97", align 8
  %56 = alloca %"struct.std::_Rb_tree_iterator.97", align 8
  %57 = alloca %"struct.std::_Rb_tree_iterator.97", align 8
  %58 = alloca %"struct.std::_Rb_tree_iterator.97", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator", align 1
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::allocator", align 1
  %67 = alloca i32, align 4
  %68 = alloca %"class.__gnu_cxx::__normal_iterator.80", align 8
  %69 = alloca %"class.__gnu_cxx::__normal_iterator.50", align 8
  %70 = alloca %"class.__gnu_cxx::__normal_iterator.50", align 8
  %71 = alloca %"class.__gnu_cxx::__normal_iterator.50", align 8
  %72 = alloca %"class.__gnu_cxx::__normal_iterator.50", align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #7
  %73 = getelementptr inbounds i8, ptr %1, i64 120
  %74 = tail call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %73) #7
  store ptr %74, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #7
  %75 = tail call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %73) #7
  store ptr %75, ptr %4, align 8
  %76 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #7
  br i1 %76, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %2
  %77 = getelementptr inbounds i8, ptr %0, i64 120
  br label %83

._crit_edge:                                      ; preds = %118, %2
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #7
  %78 = getelementptr inbounds i8, ptr %1, i64 168
  %79 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %78) #7
  store ptr %79, ptr %16, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #7
  %80 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %78) #7
  store ptr %80, ptr %17, align 8
  %81 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  br i1 %81, label %.lr.ph172, label %._crit_edge173

.lr.ph172:                                        ; preds = %._crit_edge
  %82 = getelementptr inbounds i8, ptr %0, i64 168
  br label %127

83:                                               ; preds = %.lr.ph, %118
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #7
  %84 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #7
  %85 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %77, ptr noundef nonnull align 8 dereferenceable(32) %84)
  store ptr %85, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  %86 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %77) #7
  store ptr %86, ptr %6, align 8
  %87 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  br i1 %87, label %88, label %118

88:                                               ; preds = %83
  %89 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %90 unwind label %.thread

90:                                               ; preds = %88
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %91 unwind label %99

91:                                               ; preds = %90
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @.str.65)
          to label %92 unwind label %101

92:                                               ; preds = %91
  %93 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %3) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %93)
          to label %94 unwind label %103

94:                                               ; preds = %92
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.66)
          to label %95 unwind label %105

95:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %96 unwind label %107

96:                                               ; preds = %95
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  store i32 5, ptr %15, align 4, !tbaa !5
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %89, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull %13, i32 noundef 387, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %97 unwind label %109

97:                                               ; preds = %96
  invoke void @__cxa_throw(ptr nonnull %89, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #8
          to label %327 unwind label %109

.thread:                                          ; preds = %88
  %98 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %116

99:                                               ; preds = %90
  %100 = landingpad { ptr, i32 }
          cleanup
  br label %115

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

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

105:                                              ; preds = %94
  %106 = landingpad { ptr, i32 }
          cleanup
  br label %112

107:                                              ; preds = %95
  %108 = landingpad { ptr, i32 }
          cleanup
  br label %111

109:                                              ; preds = %97, %96
  %.077 = phi i1 [ false, %97 ], [ true, %96 ]
  %110 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %111

111:                                              ; preds = %109, %107
  %.178 = phi i1 [ %.077, %109 ], [ true, %107 ]
  %.pn139 = phi { ptr, i32 } [ %110, %109 ], [ %108, %107 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %112

112:                                              ; preds = %111, %105
  %.279 = phi i1 [ %.178, %111 ], [ true, %105 ]
  %.pn139.pn = phi { ptr, i32 } [ %.pn139, %111 ], [ %106, %105 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br label %113

113:                                              ; preds = %112, %103
  %.380 = phi i1 [ %.279, %112 ], [ true, %103 ]
  %.pn139.pn.pn = phi { ptr, i32 } [ %.pn139.pn, %112 ], [ %104, %103 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %114

114:                                              ; preds = %113, %101
  %.481 = phi i1 [ %.380, %113 ], [ true, %101 ]
  %.pn139.pn.pn.pn = phi { ptr, i32 } [ %.pn139.pn.pn, %113 ], [ %102, %101 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %115

115:                                              ; preds = %99, %114
  %.582 = phi i1 [ %.481, %114 ], [ true, %99 ]
  %.pn139.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn139.pn.pn.pn, %114 ], [ %100, %99 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br i1 %.582, label %116, label %117

116:                                              ; preds = %.thread, %115
  %.pn139.pn.pn.pn.pn.pn150 = phi { ptr, i32 } [ %98, %.thread ], [ %.pn139.pn.pn.pn.pn, %115 ]
  call void @__cxa_free_exception(ptr %89) #7
  br label %117

117:                                              ; preds = %116, %115
  %.pn139.pn.pn.pn.pn.pn149 = phi { ptr, i32 } [ %.pn139.pn.pn.pn.pn.pn150, %116 ], [ %.pn139.pn.pn.pn.pn, %115 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7
  br label %326

118:                                              ; preds = %83
  %119 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %3, i32 noundef 0) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #7
  %120 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %73) #7
  store ptr %120, ptr %4, align 8
  %121 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #7
  br i1 %121, label %83, label %._crit_edge, !llvm.loop !9

._crit_edge173:                                   ; preds = %162, %._crit_edge
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  %122 = getelementptr inbounds i8, ptr %1, i64 216
  %123 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %122) #7
  store ptr %123, ptr %29, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #7
  %124 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %122) #7
  store ptr %124, ptr %30, align 8
  %125 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  br i1 %125, label %.lr.ph175, label %._crit_edge176

.lr.ph175:                                        ; preds = %._crit_edge173
  %126 = getelementptr inbounds i8, ptr %0, i64 216
  br label %171

127:                                              ; preds = %.lr.ph172, %162
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  %128 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  %129 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %82, ptr noundef nonnull align 8 dereferenceable(32) %128)
  store ptr %129, ptr %18, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #7
  %130 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %82) #7
  store ptr %130, ptr %19, align 8
  %131 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  br i1 %131, label %132, label %162

132:                                              ; preds = %127
  %133 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.68, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %134 unwind label %.thread151

134:                                              ; preds = %132
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %135 unwind label %143

135:                                              ; preds = %134
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.65)
          to label %136 unwind label %145

136:                                              ; preds = %135
  %137 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %137)
          to label %138 unwind label %147

138:                                              ; preds = %136
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.66)
          to label %139 unwind label %149

139:                                              ; preds = %138
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %140 unwind label %151

140:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #7
  store i32 5, ptr %28, align 4, !tbaa !5
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %133, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull %26, i32 noundef 388, ptr noundef nonnull align 4 dereferenceable(4) %28)
          to label %141 unwind label %153

141:                                              ; preds = %140
  invoke void @__cxa_throw(ptr nonnull %133, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #8
          to label %327 unwind label %153

.thread151:                                       ; preds = %132
  %142 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  br label %160

143:                                              ; preds = %134
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %159

145:                                              ; preds = %135
  %146 = landingpad { ptr, i32 }
          cleanup
  br label %158

147:                                              ; preds = %136
  %148 = landingpad { ptr, i32 }
          cleanup
  br label %157

149:                                              ; preds = %138
  %150 = landingpad { ptr, i32 }
          cleanup
  br label %156

151:                                              ; preds = %139
  %152 = landingpad { ptr, i32 }
          cleanup
  br label %155

153:                                              ; preds = %141, %140
  %.084 = phi i1 [ false, %141 ], [ true, %140 ]
  %154 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %155

155:                                              ; preds = %153, %151
  %.185 = phi i1 [ %.084, %153 ], [ true, %151 ]
  %.pn132 = phi { ptr, i32 } [ %154, %153 ], [ %152, %151 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %156

156:                                              ; preds = %155, %149
  %.286 = phi i1 [ %.185, %155 ], [ true, %149 ]
  %.pn132.pn = phi { ptr, i32 } [ %.pn132, %155 ], [ %150, %149 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %157

157:                                              ; preds = %156, %147
  %.387 = phi i1 [ %.286, %156 ], [ true, %147 ]
  %.pn132.pn.pn = phi { ptr, i32 } [ %.pn132.pn, %156 ], [ %148, %147 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %158

158:                                              ; preds = %157, %145
  %.488 = phi i1 [ %.387, %157 ], [ true, %145 ]
  %.pn132.pn.pn.pn = phi { ptr, i32 } [ %.pn132.pn.pn, %157 ], [ %146, %145 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %159

159:                                              ; preds = %143, %158
  %.589 = phi i1 [ %.488, %158 ], [ true, %143 ]
  %.pn132.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn132.pn.pn.pn, %158 ], [ %144, %143 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  br i1 %.589, label %160, label %161

160:                                              ; preds = %.thread151, %159
  %.pn132.pn.pn.pn.pn.pn155 = phi { ptr, i32 } [ %142, %.thread151 ], [ %.pn132.pn.pn.pn.pn, %159 ]
  call void @__cxa_free_exception(ptr %133) #7
  br label %161

161:                                              ; preds = %160, %159
  %.pn132.pn.pn.pn.pn.pn154 = phi { ptr, i32 } [ %.pn132.pn.pn.pn.pn.pn155, %160 ], [ %.pn132.pn.pn.pn.pn, %159 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  br label %326

162:                                              ; preds = %127
  %163 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %16, i32 noundef 0) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #7
  %164 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %78) #7
  store ptr %164, ptr %17, align 8
  %165 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  br i1 %165, label %127, label %._crit_edge173, !llvm.loop !11

._crit_edge176:                                   ; preds = %206, %._crit_edge173
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  %166 = getelementptr inbounds i8, ptr %1, i64 264
  %167 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %166) #7
  store ptr %167, ptr %42, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #7
  %168 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %166) #7
  store ptr %168, ptr %43, align 8
  %169 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  br i1 %169, label %.lr.ph178, label %._crit_edge179

.lr.ph178:                                        ; preds = %._crit_edge176
  %170 = getelementptr inbounds i8, ptr %0, i64 264
  br label %215

171:                                              ; preds = %.lr.ph175, %206
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #7
  %172 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %173 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %126, ptr noundef nonnull align 8 dereferenceable(32) %172)
  store ptr %173, ptr %31, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #7
  %174 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %126) #7
  store ptr %174, ptr %32, align 8
  %175 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #7
  br i1 %175, label %176, label %206

176:                                              ; preds = %171
  %177 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull @.str.69, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %178 unwind label %.thread156

178:                                              ; preds = %176
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %179 unwind label %187

179:                                              ; preds = %178
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.65)
          to label %180 unwind label %189

180:                                              ; preds = %179
  %181 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(32) %181)
          to label %182 unwind label %191

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

183:                                              ; preds = %182
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %184 unwind label %195

184:                                              ; preds = %183
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #7
  store i32 5, ptr %41, align 4, !tbaa !5
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %177, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull %39, i32 noundef 389, ptr noundef nonnull align 4 dereferenceable(4) %41)
          to label %185 unwind label %197

185:                                              ; preds = %184
  invoke void @__cxa_throw(ptr nonnull %177, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #8
          to label %327 unwind label %197

.thread156:                                       ; preds = %176
  %186 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  br label %204

187:                                              ; preds = %178
  %188 = landingpad { ptr, i32 }
          cleanup
  br label %203

189:                                              ; preds = %179
  %190 = landingpad { ptr, i32 }
          cleanup
  br label %202

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

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

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

197:                                              ; preds = %185, %184
  %.091 = phi i1 [ false, %185 ], [ true, %184 ]
  %198 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %199

199:                                              ; preds = %197, %195
  %.192 = phi i1 [ %.091, %197 ], [ true, %195 ]
  %.pn125 = phi { ptr, i32 } [ %198, %197 ], [ %196, %195 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %200

200:                                              ; preds = %199, %193
  %.293 = phi i1 [ %.192, %199 ], [ true, %193 ]
  %.pn125.pn = phi { ptr, i32 } [ %.pn125, %199 ], [ %194, %193 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %201

201:                                              ; preds = %200, %191
  %.394 = phi i1 [ %.293, %200 ], [ true, %191 ]
  %.pn125.pn.pn = phi { ptr, i32 } [ %.pn125.pn, %200 ], [ %192, %191 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %202

202:                                              ; preds = %201, %189
  %.495 = phi i1 [ %.394, %201 ], [ true, %189 ]
  %.pn125.pn.pn.pn = phi { ptr, i32 } [ %.pn125.pn.pn, %201 ], [ %190, %189 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %203

203:                                              ; preds = %187, %202
  %.596 = phi i1 [ %.495, %202 ], [ true, %187 ]
  %.pn125.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn125.pn.pn.pn, %202 ], [ %188, %187 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  br i1 %.596, label %204, label %205

204:                                              ; preds = %.thread156, %203
  %.pn125.pn.pn.pn.pn.pn160 = phi { ptr, i32 } [ %186, %.thread156 ], [ %.pn125.pn.pn.pn.pn, %203 ]
  call void @__cxa_free_exception(ptr %177) #7
  br label %205

205:                                              ; preds = %204, %203
  %.pn125.pn.pn.pn.pn.pn159 = phi { ptr, i32 } [ %.pn125.pn.pn.pn.pn.pn160, %204 ], [ %.pn125.pn.pn.pn.pn, %203 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  br label %326

206:                                              ; preds = %171
  %207 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %29, i32 noundef 0) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #7
  %208 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %122) #7
  store ptr %208, ptr %30, align 8
  %209 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  br i1 %209, label %171, label %._crit_edge176, !llvm.loop !12

._crit_edge179:                                   ; preds = %250, %._crit_edge176
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #7
  %210 = getelementptr inbounds i8, ptr %1, i64 312
  %211 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %210) #7
  store ptr %211, ptr %55, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #7
  %212 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %210) #7
  store ptr %212, ptr %56, align 8
  %213 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull align 8 dereferenceable(8) %56) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  br i1 %213, label %.lr.ph181, label %._crit_edge182

.lr.ph181:                                        ; preds = %._crit_edge179
  %214 = getelementptr inbounds i8, ptr %0, i64 312
  br label %274

215:                                              ; preds = %.lr.ph178, %250
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #7
  %216 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  %217 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %170, ptr noundef nonnull align 8 dereferenceable(32) %216)
  store ptr %217, ptr %44, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #7
  %218 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %170) #7
  store ptr %218, ptr %45, align 8
  %219 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  br i1 %219, label %220, label %250

220:                                              ; preds = %215
  %221 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %51) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull @.str.70, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %222 unwind label %.thread161

222:                                              ; preds = %220
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %223 unwind label %231

223:                                              ; 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 %48, ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @.str.65)
          to label %224 unwind label %233

224:                                              ; preds = %223
  %225 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull align 8 dereferenceable(32) %225)
          to label %226 unwind label %235

226:                                              ; preds = %224
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.66)
          to label %227 unwind label %237

227:                                              ; preds = %226
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %53) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %228 unwind label %239

228:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #7
  store i32 5, ptr %54, align 4, !tbaa !5
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %221, ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull %52, i32 noundef 390, ptr noundef nonnull align 4 dereferenceable(4) %54)
          to label %229 unwind label %241

229:                                              ; preds = %228
  invoke void @__cxa_throw(ptr nonnull %221, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #8
          to label %327 unwind label %241

.thread161:                                       ; preds = %220
  %230 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  br label %248

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

233:                                              ; preds = %223
  %234 = landingpad { ptr, i32 }
          cleanup
  br label %246

235:                                              ; preds = %224
  %236 = landingpad { ptr, i32 }
          cleanup
  br label %245

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

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

241:                                              ; preds = %229, %228
  %.098 = phi i1 [ false, %229 ], [ true, %228 ]
  %242 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %243

243:                                              ; preds = %241, %239
  %.199 = phi i1 [ %.098, %241 ], [ true, %239 ]
  %.pn118 = phi { ptr, i32 } [ %242, %241 ], [ %240, %239 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %244

244:                                              ; preds = %243, %237
  %.2100 = phi i1 [ %.199, %243 ], [ true, %237 ]
  %.pn118.pn = phi { ptr, i32 } [ %.pn118, %243 ], [ %238, %237 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %245

245:                                              ; preds = %244, %235
  %.3101 = phi i1 [ %.2100, %244 ], [ true, %235 ]
  %.pn118.pn.pn = phi { ptr, i32 } [ %.pn118.pn, %244 ], [ %236, %235 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  br label %246

246:                                              ; preds = %245, %233
  %.4102 = phi i1 [ %.3101, %245 ], [ true, %233 ]
  %.pn118.pn.pn.pn = phi { ptr, i32 } [ %.pn118.pn.pn, %245 ], [ %234, %233 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %247

247:                                              ; preds = %231, %246
  %.5103 = phi i1 [ %.4102, %246 ], [ true, %231 ]
  %.pn118.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn118.pn.pn.pn, %246 ], [ %232, %231 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  br i1 %.5103, label %248, label %249

248:                                              ; preds = %.thread161, %247
  %.pn118.pn.pn.pn.pn.pn165 = phi { ptr, i32 } [ %230, %.thread161 ], [ %.pn118.pn.pn.pn.pn, %247 ]
  call void @__cxa_free_exception(ptr %221) #7
  br label %249

249:                                              ; preds = %248, %247
  %.pn118.pn.pn.pn.pn.pn164 = phi { ptr, i32 } [ %.pn118.pn.pn.pn.pn.pn165, %248 ], [ %.pn118.pn.pn.pn.pn, %247 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  br label %326

250:                                              ; preds = %215
  %251 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %42, i32 noundef 0) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #7
  %252 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %166) #7
  store ptr %252, ptr %43, align 8
  %253 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %43) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  br i1 %253, label %215, label %._crit_edge179, !llvm.loop !13

._crit_edge182:                                   ; preds = %309, %._crit_edge179
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #7
  %254 = getelementptr inbounds i8, ptr %0, i64 120
  %255 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %73) #7
  %256 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %73) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL16HdlTextureFormatESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISt17_Rb_tree_iteratorISD_EEEvT_SJ_(ptr noundef nonnull align 8 dereferenceable(48) %254, ptr %255, ptr %256)
  %257 = getelementptr inbounds i8, ptr %0, i64 168
  %258 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %78) #7
  %259 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %78) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISt17_Rb_tree_iteratorISD_EEEvT_SJ_(ptr noundef nonnull align 8 dereferenceable(48) %257, ptr %258, ptr %259)
  %260 = getelementptr inbounds i8, ptr %0, i64 216
  %261 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %122) #7
  %262 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %122) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISt17_Rb_tree_iteratorISD_EEEvT_SJ_(ptr noundef nonnull align 8 dereferenceable(48) %260, ptr %261, ptr %262)
  %263 = getelementptr inbounds i8, ptr %0, i64 264
  %264 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %166) #7
  %265 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %166) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISt17_Rb_tree_iteratorISD_EEEvT_SJ_(ptr noundef nonnull align 8 dereferenceable(48) %263, ptr %264, ptr %265)
  %266 = getelementptr inbounds i8, ptr %0, i64 312
  %267 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %210) #7
  %268 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %210) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISt17_Rb_tree_iteratorISD_EEEvT_SJ_(ptr noundef nonnull align 8 dereferenceable(48) %266, ptr %267, ptr %268)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #7
  %269 = getelementptr inbounds i8, ptr %1, i64 96
  %270 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %269) #7
  store ptr %270, ptr %69, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2IPS6_vEERKNS0_IT_SB_EE(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 8 dereferenceable(8) %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #7
  %271 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %269) #7
  store ptr %271, ptr %70, align 8
  %272 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPS6_St6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T1_EERKNSD_IT0_SF_EE(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  br i1 %272, label %.lr.ph184, label %._crit_edge185

.lr.ph184:                                        ; preds = %._crit_edge182
  %273 = getelementptr inbounds i8, ptr %0, i64 96
  br label %313

274:                                              ; preds = %.lr.ph181, %309
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #7
  %275 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  %276 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48) %214, ptr noundef nonnull align 8 dereferenceable(32) %275)
  store ptr %276, ptr %57, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #7
  %277 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %214) #7
  store ptr %277, ptr %58, align 8
  %278 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull align 8 dereferenceable(8) %58) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #7
  br i1 %278, label %279, label %309

279:                                              ; preds = %274
  %280 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %64) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.71, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %281 unwind label %.thread166

281:                                              ; preds = %279
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %282 unwind label %290

282:                                              ; preds = %281
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull @.str.65)
          to label %283 unwind label %292

283:                                              ; preds = %282
  %284 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %55) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %284)
          to label %285 unwind label %294

285:                                              ; preds = %283
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull @.str.66)
          to label %286 unwind label %296

286:                                              ; preds = %285
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %66) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %287 unwind label %298

287:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %67) #7
  store i32 5, ptr %67, align 4, !tbaa !5
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %280, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull %65, i32 noundef 391, ptr noundef nonnull align 4 dereferenceable(4) %67)
          to label %288 unwind label %300

288:                                              ; preds = %287
  invoke void @__cxa_throw(ptr nonnull %280, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #8
          to label %327 unwind label %300

.thread166:                                       ; preds = %279
  %289 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br label %307

290:                                              ; preds = %281
  %291 = landingpad { ptr, i32 }
          cleanup
  br label %306

292:                                              ; preds = %282
  %293 = landingpad { ptr, i32 }
          cleanup
  br label %305

294:                                              ; preds = %283
  %295 = landingpad { ptr, i32 }
          cleanup
  br label %304

296:                                              ; preds = %285
  %297 = landingpad { ptr, i32 }
          cleanup
  br label %303

298:                                              ; preds = %286
  %299 = landingpad { ptr, i32 }
          cleanup
  br label %302

300:                                              ; preds = %288, %287
  %.0105 = phi i1 [ false, %288 ], [ true, %287 ]
  %301 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  br label %302

302:                                              ; preds = %300, %298
  %.1106 = phi i1 [ %.0105, %300 ], [ true, %298 ]
  %.pn = phi { ptr, i32 } [ %301, %300 ], [ %299, %298 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %303

303:                                              ; preds = %302, %296
  %.2107 = phi i1 [ %.1106, %302 ], [ true, %296 ]
  %.pn.pn = phi { ptr, i32 } [ %.pn, %302 ], [ %297, %296 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %304

304:                                              ; preds = %303, %294
  %.3108 = phi i1 [ %.2107, %303 ], [ true, %294 ]
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %303 ], [ %295, %294 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %305

305:                                              ; preds = %304, %292
  %.4109 = phi i1 [ %.3108, %304 ], [ true, %292 ]
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %304 ], [ %293, %292 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %306

306:                                              ; preds = %290, %305
  %.5110 = phi i1 [ %.4109, %305 ], [ true, %290 ]
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %305 ], [ %291, %290 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br i1 %.5110, label %307, label %308

307:                                              ; preds = %.thread166, %306
  %.pn.pn.pn.pn.pn.pn170 = phi { ptr, i32 } [ %289, %.thread166 ], [ %.pn.pn.pn.pn.pn, %306 ]
  call void @__cxa_free_exception(ptr %280) #7
  br label %308

308:                                              ; preds = %307, %306
  %.pn.pn.pn.pn.pn.pn169 = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn170, %307 ], [ %.pn.pn.pn.pn.pn, %306 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #7
  br label %326

309:                                              ; preds = %274
  %310 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %55, i32 noundef 0) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #7
  %311 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %210) #7
  store ptr %311, ptr %56, align 8
  %312 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull align 8 dereferenceable(8) %56) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  br i1 %312, label %274, label %._crit_edge182, !llvm.loop !14

._crit_edge185:                                   ; preds = %322, %._crit_edge182
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #7
  ret void

313:                                              ; preds = %.lr.ph184, %322
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #7
  %314 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %273) #7
  %315 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %273) #7
  %316 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  %317 = call ptr @_ZSt4findIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES7_ET_SD_SD_RKT0_(ptr %314, ptr %315, ptr noundef nonnull align 8 dereferenceable(32) %316)
  store ptr %317, ptr %71, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #7
  %318 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %273) #7
  store ptr %318, ptr %72, align 8
  %319 = call noundef zeroext i1 @_ZN9__gnu_cxxeqIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(ptr noundef nonnull align 8 dereferenceable(8) %71, ptr noundef nonnull align 8 dereferenceable(8) %72) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  br i1 %319, label %320, label %322

320:                                              ; preds = %313
  %321 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %68) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %273, ptr noundef nonnull align 8 dereferenceable(32) %321)
  br label %322

322:                                              ; preds = %313, %320
  %323 = call ptr @_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %68, i32 noundef 0) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #7
  %324 = call ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %269) #7
  store ptr %324, ptr %70, align 8
  %325 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPS6_St6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T1_EERKNSD_IT0_SF_EE(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  br i1 %325, label %313, label %._crit_edge185, !llvm.loop !15

326:                                              ; preds = %308, %249, %205, %161, %117
  %.pn139.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn139.pn.pn.pn.pn.pn149, %117 ], [ %.pn132.pn.pn.pn.pn.pn154, %161 ], [ %.pn125.pn.pn.pn.pn.pn159, %205 ], [ %.pn118.pn.pn.pn.pn.pn164, %249 ], [ %.pn.pn.pn.pn.pn.pn169, %308 ]
  resume { ptr, i32 } %.pn139.pn.pn.pn.pn.pn.pn

327:                                              ; preds = %288, %229, %185, %141, %97
  unreachable
}

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneRKSt17_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: 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 #2 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: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneRKSt17_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 @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip6CoreGL12ShaderSourceEEEppEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneRKSt17_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 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 #2 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 nounwind uwtable
declare dso_local ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline13GeometryModelEEEppEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEESE_(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_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_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_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 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 ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline12FilterLayoutEEEppEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutEEESE_(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_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_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_traitsIcESaIcEEEN4Glip12CorePipeline14PipelineLayoutESt4lessIS5_ESaISt4pairIKS5_S8_EEE4findERSC_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEppEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_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 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { 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 #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress 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 #7 = { nounwind }
attributes #8 = { noreturn }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"_ZTSN4Glip9Exception4TypeE", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = distinct !{!9, !10}
!10 = !{!"llvm.loop.mustprogress"}
!11 = distinct !{!11, !10}
!12 = distinct !{!12, !10}
!13 = distinct !{!13, !10}
!14 = distinct !{!14, !10}
!15 = distinct !{!15, !10}


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