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

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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.15" = type { %"struct.std::_Vector_base.16" }
%"struct.std::_Vector_base.16" = 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 }
%"class.std::vector.59" = type { %"struct.std::_Vector_base.60" }
%"struct.std::_Vector_base.60" = type { %"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::ActionHub, std::allocator<Glip::CorePipeline::Pipeline::ActionHub>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::ActionHub, std::allocator<Glip::CorePipeline::Pipeline::ActionHub>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::ActionHub, std::allocator<Glip::CorePipeline::Pipeline::ActionHub>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::ActionHub, std::allocator<Glip::CorePipeline::Pipeline::ActionHub>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.Glip::CorePipeline::Pipeline::OutputHub" = type { i32, i32 }
%"struct.Glip::CorePipeline::Pipeline::ActionHub" = type { %"class.std::vector.15", %"class.std::vector.15", i32, i32 }
%"class.__gnu_cxx::__normal_iterator.83" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.28" = type { ptr }
%"class.std::allocator.20" = type { i8 }
%"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 }>
%"class.Glip::Exception" = type { %"class.std::exception", i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", i8, i8, %"class.std::vector.23" }
%"class.std::exception" = type { ptr }
%"class.std::vector.23" = type { %"struct.std::_Vector_base.24" }
%"struct.std::_Vector_base.24" = type { %"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.Glip::CorePipeline::Pipeline" = type { %"class.Glip::CorePipeline::AbstractPipelineLayout.base", %"class.Glip::CorePipeline::Component.base", %"class.std::vector.42", %"struct.Glip::CorePipeline::Pipeline::BufferFormatsCell", %"class.std::map.48", ptr, %"class.std::vector.54", %"class.std::vector.59", %"class.std::vector.64", %"class.std::map.69", i8, i8, i8, i32, %"class.std::vector.74", double, %"class.Glip::CorePipeline::AbstractComponentLayout" }
%"class.Glip::CorePipeline::AbstractPipelineLayout.base" = type { ptr, %"class.std::vector", %"class.std::vector.0", %"class.std::vector.5", %"class.std::vector.10", %"class.std::vector.15" }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = 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.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = 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.10" = type { %"struct.std::_Vector_base.11" }
%"struct.std::_Vector_base.11" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.Glip::CorePipeline::Component.base" = type { ptr, %"class.std::__cxx11::basic_string" }
%"class.std::vector.42" = type { %"struct.std::_Vector_base.43" }
%"struct.std::_Vector_base.43" = type { %"struct.std::_Vector_base<Glip::CoreGL::HdlTexture *, std::allocator<Glip::CoreGL::HdlTexture *>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::CoreGL::HdlTexture *, std::allocator<Glip::CoreGL::HdlTexture *>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::CoreGL::HdlTexture *, std::allocator<Glip::CoreGL::HdlTexture *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::CoreGL::HdlTexture *, std::allocator<Glip::CoreGL::HdlTexture *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.Glip::CorePipeline::Pipeline::BufferFormatsCell" = type { %"class.std::vector.32", %"class.std::vector.15" }
%"class.std::vector.32" = type { %"struct.std::_Vector_base.33" }
%"struct.std::_Vector_base.33" = type { %"struct.std::_Vector_base<Glip::CoreGL::HdlTextureFormat, std::allocator<Glip::CoreGL::HdlTextureFormat>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::CoreGL::HdlTextureFormat, std::allocator<Glip::CoreGL::HdlTextureFormat>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::CoreGL::HdlTextureFormat, std::allocator<Glip::CoreGL::HdlTextureFormat>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::CoreGL::HdlTextureFormat, std::allocator<Glip::CoreGL::HdlTextureFormat>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.48" = type { %"class.std::_Rb_tree.49" }
%"class.std::_Rb_tree.49" = type { %"struct.std::_Rb_tree<int, std::pair<const int, Glip::CorePipeline::Pipeline::BuffersCell *>, std::_Select1st<std::pair<const int, Glip::CorePipeline::Pipeline::BuffersCell *>>, std::less<int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, std::pair<const int, Glip::CorePipeline::Pipeline::BuffersCell *>, std::_Select1st<std::pair<const int, Glip::CorePipeline::Pipeline::BuffersCell *>>, std::less<int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::vector.54" = type { %"struct.std::_Vector_base.55" }
%"struct.std::_Vector_base.55" = type { %"struct.std::_Vector_base<Glip::CorePipeline::Filter *, std::allocator<Glip::CorePipeline::Filter *>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::CorePipeline::Filter *, std::allocator<Glip::CorePipeline::Filter *>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::CorePipeline::Filter *, std::allocator<Glip::CorePipeline::Filter *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::CorePipeline::Filter *, std::allocator<Glip::CorePipeline::Filter *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.64" = type { %"struct.std::_Vector_base.65" }
%"struct.std::_Vector_base.65" = type { %"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::OutputHub, std::allocator<Glip::CorePipeline::Pipeline::OutputHub>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::OutputHub, std::allocator<Glip::CorePipeline::Pipeline::OutputHub>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::OutputHub, std::allocator<Glip::CorePipeline::Pipeline::OutputHub>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::OutputHub, std::allocator<Glip::CorePipeline::Pipeline::OutputHub>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.69" = type { %"class.std::_Rb_tree.70" }
%"class.std::_Rb_tree.70" = type { %"struct.std::_Rb_tree<int, std::pair<const int, int>, std::_Select1st<std::pair<const int, int>>, std::less<int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, std::pair<const int, int>, std::_Select1st<std::pair<const int, int>>, std::less<int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.Glip::CorePipeline::AbstractComponentLayout" = type { ptr, %"class.std::__cxx11::basic_string", %"class.std::vector.10", %"class.std::vector.10" }
%"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection" = type { i32, i32, i32, i32 }

@.str.1 = external hidden unnamed_addr constant [88 x i8], align 1
@_ZTIN4Glip9ExceptionE = external constant ptr
@.str.28 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [4 x i8], align 1
@_ZTISt9exception = external constant ptr
@.str.61 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [80 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

; 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

declare ptr @__cxa_allocate_exception(i64)

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

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

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

declare 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)

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

declare void @__cxa_free_exception(ptr)

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

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

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

declare ptr @__cxa_begin_catch(ptr)

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

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

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

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

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

declare noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout15getNumInputPortEv(ptr noundef nonnull align 8 dereferenceable(88)) #4

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

declare void @__cxa_end_catch()

declare noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout16getNumOutputPortEv(ptr noundef nonnull align 8 dereferenceable(88)) #4

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

declare noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKSt9exception(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(8)) #4

declare void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(152)) unnamed_addr #4

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Glip12CorePipeline8Pipeline15allocateBuffersERSt6vectorINS0_22AbstractPipelineLayout10ConnectionESaIS4_EE(ptr noundef nonnull align 8 dereferenceable(456) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca %"class.std::vector", align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca %"class.std::vector.15", align 8
  %9 = alloca %"class.std::vector.15", align 8
  %10 = alloca %"class.std::vector.59", align 8
  %11 = alloca i8, align 1
  %12 = alloca %"struct.Glip::CorePipeline::Pipeline::OutputHub", align 4
  %13 = alloca i32, align 4
  %14 = alloca %"struct.Glip::CorePipeline::Pipeline::ActionHub", align 8
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca %"class.__gnu_cxx::__normal_iterator.83", align 8
  %21 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8
  %22 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8
  %23 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8
  %24 = alloca %"class.std::vector.15", align 8
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator.20", align 1
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::allocator.20", align 1
  %31 = alloca i32, align 4
  %32 = alloca i1, align 1
  %33 = alloca %"class.Glip::CoreGL::HdlTextureFormat", align 8
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i8, align 1
  %40 = alloca i32, align 4
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator.20", align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator.20", align 1
  %45 = alloca i32, align 4
  %46 = alloca i1, align 1
  %47 = alloca i32, align 4
  %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::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator.20", align 1
  %53 = alloca i32, align 4
  %54 = alloca i1, align 1
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca %"class.__gnu_cxx::__normal_iterator.83", align 8
  %59 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8
  %60 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8
  %61 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8
  %62 = alloca i8, align 1
  %63 = alloca i32, align 4
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::allocator.20", align 1
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::allocator.20", align 1
  %68 = alloca i32, align 4
  %69 = alloca i1, align 1
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::allocator.20", align 1
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::allocator.20", align 1
  %74 = alloca i32, align 4
  %75 = alloca i1, align 1
  %76 = alloca ptr, align 8
  %77 = alloca %"class.Glip::Exception", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::allocator.20", align 1
  %83 = alloca i32, align 4
  %84 = alloca ptr, align 8
  %85 = alloca %"class.Glip::Exception", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::allocator.20", align 1
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %93 = load ptr, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr %5) #9
  %94 = load ptr, ptr %4, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %94)
          to label %95 unwind label %114

95:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr %8) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %9) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #9
  call void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #9
  store i8 0, ptr %11, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #9
  %96 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::OutputHub", ptr %12, i32 0, i32 0
  store i32 -1, ptr %96, align 4, !tbaa !11
  %97 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::OutputHub", ptr %12, i32 0, i32 1
  store i32 -1, ptr %97, align 4, !tbaa !14
  %98 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 8
  %99 = load ptr, ptr %93, align 8, !tbaa !15
  %100 = getelementptr i8, ptr %99, i64 -24
  %101 = load i64, ptr %100, align 8
  %102 = getelementptr inbounds i8, ptr %93, i64 %101
  %103 = invoke noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout16getNumOutputPortEv(ptr noundef nonnull align 8 dereferenceable(88) %102)
          to label %104 unwind label %118

104:                                              ; preds = %95
  %105 = sext i32 %103 to i64
  invoke void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9OutputHubESaIS3_EE6assignEmRKS3_(ptr noundef nonnull align 8 dereferenceable(24) %98, i64 noundef %105, ptr noundef nonnull align 4 dereferenceable(8) %12)
          to label %106 unwind label %118

106:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #9
  store i32 0, ptr %13, align 4, !tbaa !17
  br label %107

107:                                              ; preds = %167, %106
  %108 = load i32, ptr %13, align 4, !tbaa !17
  %109 = zext i32 %108 to i64
  %110 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 6
  %111 = call noundef i64 @_ZNKSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %110) #9
  %112 = icmp ult i64 %109, %111
  br i1 %112, label %122, label %113

113:                                              ; preds = %107
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  br label %187

114:                                              ; preds = %2
  %115 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %116 = extractvalue { ptr, i32 } %115, 0
  store ptr %116, ptr %6, align 8
  %117 = extractvalue { ptr, i32 } %115, 1
  store i32 %117, ptr %7, align 4
  br label %869

118:                                              ; preds = %104, %95
  %119 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %120 = extractvalue { ptr, i32 } %119, 0
  store ptr %120, ptr %6, align 8
  %121 = extractvalue { ptr, i32 } %119, 1
  store i32 %121, ptr %7, align 4
  br label %868

122:                                              ; preds = %107
  call void @llvm.lifetime.start.p0(i64 56, ptr %14) #9
  call void @_ZN4Glip12CorePipeline8Pipeline9ActionHubC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %14) #9
  %123 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %14, i32 0, i32 0
  %124 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 6
  %125 = load i32, ptr %13, align 4, !tbaa !17
  %126 = zext i32 %125 to i64
  %127 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %124, i64 noundef %126) #9
  %128 = load ptr, ptr %127, align 8, !tbaa !5
  %129 = load ptr, ptr %128, align 8, !tbaa !15
  %130 = getelementptr i8, ptr %129, i64 -32
  %131 = load i64, ptr %130, align 8
  %132 = getelementptr inbounds i8, ptr %128, i64 %131
  %133 = invoke noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout15getNumInputPortEv(ptr noundef nonnull align 8 dereferenceable(88) %132)
          to label %134 unwind label %170

134:                                              ; preds = %122
  %135 = sext i32 %133 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  store i32 -1, ptr %15, align 4, !tbaa !17
  invoke void @_ZNSt6vectorIiSaIiEE6assignEmRKi(ptr noundef nonnull align 8 dereferenceable(24) %123, i64 noundef %135, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %136 unwind label %174

136:                                              ; preds = %134
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  %137 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %14, i32 0, i32 1
  %138 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 6
  %139 = load i32, ptr %13, align 4, !tbaa !17
  %140 = zext i32 %139 to i64
  %141 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %138, i64 noundef %140) #9
  %142 = load ptr, ptr %141, align 8, !tbaa !5
  %143 = load ptr, ptr %142, align 8, !tbaa !15
  %144 = getelementptr i8, ptr %143, i64 -32
  %145 = load i64, ptr %144, align 8
  %146 = getelementptr inbounds i8, ptr %142, i64 %145
  %147 = invoke noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout15getNumInputPortEv(ptr noundef nonnull align 8 dereferenceable(88) %146)
          to label %148 unwind label %170

148:                                              ; preds = %136
  %149 = sext i32 %147 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  store i32 -1, ptr %16, align 4, !tbaa !17
  invoke void @_ZNSt6vectorIiSaIiEE6assignEmRKi(ptr noundef nonnull align 8 dereferenceable(24) %137, i64 noundef %149, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %150 unwind label %178

150:                                              ; preds = %148
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  %151 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %14, i32 0, i32 2
  store i32 -1, ptr %151, align 8, !tbaa !18
  %152 = load i32, ptr %13, align 4, !tbaa !17
  %153 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %14, i32 0, i32 3
  store i32 %152, ptr %153, align 4, !tbaa !24
  invoke void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE9push_backERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(56) %14)
          to label %154 unwind label %170

154:                                              ; preds = %150
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  %155 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 6
  %156 = load i32, ptr %13, align 4, !tbaa !17
  %157 = zext i32 %156 to i64
  %158 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %155, i64 noundef %157) #9
  %159 = load ptr, ptr %158, align 8, !tbaa !5
  %160 = load ptr, ptr %159, align 8, !tbaa !15
  %161 = getelementptr i8, ptr %160, i64 -32
  %162 = load i64, ptr %161, align 8
  %163 = getelementptr inbounds i8, ptr %159, i64 %162
  %164 = invoke noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout15getNumInputPortEv(ptr noundef nonnull align 8 dereferenceable(88) %163)
          to label %165 unwind label %182

165:                                              ; preds = %154
  store i32 %164, ptr %17, align 4, !tbaa !17
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 4 dereferenceable(4) %17)
          to label %166 unwind label %182

166:                                              ; preds = %165
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  call void @_ZN4Glip12CorePipeline8Pipeline9ActionHubD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %14) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr %14) #9
  br label %167

167:                                              ; preds = %166
  %168 = load i32, ptr %13, align 4, !tbaa !17
  %169 = add i32 %168, 1
  store i32 %169, ptr %13, align 4, !tbaa !17
  br label %107, !llvm.loop !25

170:                                              ; preds = %150, %136, %122
  %171 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %172 = extractvalue { ptr, i32 } %171, 0
  store ptr %172, ptr %6, align 8
  %173 = extractvalue { ptr, i32 } %171, 1
  store i32 %173, ptr %7, align 4
  br label %186

174:                                              ; preds = %134
  %175 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %176 = extractvalue { ptr, i32 } %175, 0
  store ptr %176, ptr %6, align 8
  %177 = extractvalue { ptr, i32 } %175, 1
  store i32 %177, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %186

178:                                              ; preds = %148
  %179 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %180 = extractvalue { ptr, i32 } %179, 0
  store ptr %180, ptr %6, align 8
  %181 = extractvalue { ptr, i32 } %179, 1
  store i32 %181, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  br label %186

182:                                              ; preds = %165, %154
  %183 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %184 = extractvalue { ptr, i32 } %183, 0
  store ptr %184, ptr %6, align 8
  %185 = extractvalue { ptr, i32 } %183, 1
  store i32 %185, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %186

186:                                              ; preds = %182, %178, %174, %170
  call void @_ZN4Glip12CorePipeline8Pipeline9ActionHubD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %14) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  br label %868

187:                                              ; preds = %113
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #9
  store i32 0, ptr %18, align 4, !tbaa !17
  br label %188

188:                                              ; preds = %265, %187
  %189 = load i32, ptr %18, align 4, !tbaa !17
  %190 = zext i32 %189 to i64
  %191 = call noundef i64 @_ZNKSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  %192 = icmp ult i64 %190, %191
  br i1 %192, label %194, label %193

193:                                              ; preds = %188
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  br label %268

194:                                              ; preds = %188
  %195 = load i32, ptr %18, align 4, !tbaa !17
  %196 = zext i32 %195 to i64
  %197 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %196) #9
  %198 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %197, i32 0, i32 2
  %199 = load i32, ptr %198, align 4, !tbaa !27
  %200 = icmp eq i32 %199, -1
  br i1 %200, label %201, label %264

201:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #9
  %202 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 9
  %203 = load i32, ptr %18, align 4, !tbaa !17
  %204 = zext i32 %203 to i64
  %205 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %204) #9
  %206 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %205, i32 0, i32 0
  %207 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %202, ptr noundef nonnull align 4 dereferenceable(4) %206)
          to label %208 unwind label %255

208:                                              ; preds = %201
  %209 = load i32, ptr %207, align 4, !tbaa !17
  store i32 %209, ptr %19, align 4, !tbaa !17
  %210 = load i32, ptr %19, align 4, !tbaa !17
  %211 = sext i32 %210 to i64
  %212 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %211) #9
  %213 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %212, i32 0, i32 0
  %214 = load i32, ptr %18, align 4, !tbaa !17
  %215 = zext i32 %214 to i64
  %216 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %215) #9
  %217 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %216, i32 0, i32 1
  %218 = load i32, ptr %217, align 4, !tbaa !29
  %219 = sext i32 %218 to i64
  %220 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %213, i64 noundef %219) #9
  store i32 -1, ptr %220, align 4, !tbaa !17
  %221 = load i32, ptr %18, align 4, !tbaa !17
  %222 = zext i32 %221 to i64
  %223 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %222) #9
  %224 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %223, i32 0, i32 3
  %225 = load i32, ptr %224, align 4, !tbaa !30
  %226 = load i32, ptr %19, align 4, !tbaa !17
  %227 = sext i32 %226 to i64
  %228 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %227) #9
  %229 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %228, i32 0, i32 1
  %230 = load i32, ptr %18, align 4, !tbaa !17
  %231 = zext i32 %230 to i64
  %232 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %231) #9
  %233 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %232, i32 0, i32 1
  %234 = load i32, ptr %233, align 4, !tbaa !29
  %235 = sext i32 %234 to i64
  %236 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %229, i64 noundef %235) #9
  store i32 %225, ptr %236, align 4, !tbaa !17
  %237 = load i32, ptr %19, align 4, !tbaa !17
  %238 = sext i32 %237 to i64
  %239 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %238) #9
  %240 = load i32, ptr %239, align 4, !tbaa !17
  %241 = add nsw i32 %240, -1
  store i32 %241, ptr %239, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #9
  %242 = call ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  %243 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.28", ptr %22, i32 0, i32 0
  store ptr %242, ptr %243, align 8
  %244 = load i32, ptr %18, align 4, !tbaa !17
  %245 = zext i32 %244 to i64
  %246 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESt6vectorIS4_SaIS4_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %22, i64 noundef %245) #9
  %247 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.28", ptr %21, i32 0, i32 0
  store ptr %246, ptr %247, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESt6vectorIS4_SaIS4_EEEC2IPS4_vEERKNS0_IT_S9_EE(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21) #9
  %248 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.83", ptr %20, i32 0, i32 0
  %249 = load ptr, ptr %248, align 8
  %250 = invoke ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS3_S5_EE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %249)
          to label %251 unwind label %259

251:                                              ; preds = %208
  %252 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.28", ptr %23, i32 0, i32 0
  store ptr %250, ptr %252, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  %253 = load i32, ptr %18, align 4, !tbaa !17
  %254 = add i32 %253, -1
  store i32 %254, ptr %18, align 4, !tbaa !17
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  br label %264

255:                                              ; preds = %201
  %256 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %257 = extractvalue { ptr, i32 } %256, 0
  store ptr %257, ptr %6, align 8
  %258 = extractvalue { ptr, i32 } %256, 1
  store i32 %258, ptr %7, align 4
  br label %263

259:                                              ; preds = %208
  %260 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %261 = extractvalue { ptr, i32 } %260, 0
  store ptr %261, ptr %6, align 8
  %262 = extractvalue { ptr, i32 } %260, 1
  store i32 %262, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  br label %263

263:                                              ; preds = %259, %255
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  br label %868

264:                                              ; preds = %251, %194
  br label %265

265:                                              ; preds = %264
  %266 = load i32, ptr %18, align 4, !tbaa !17
  %267 = add i32 %266, 1
  store i32 %267, ptr %18, align 4, !tbaa !17
  br label %188, !llvm.loop !31

268:                                              ; preds = %193
  br label %269

269:                                              ; preds = %832, %268
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  store i32 0, ptr %25, align 4, !tbaa !17
  br label %270

270:                                              ; preds = %290, %269
  %271 = load i32, ptr %25, align 4, !tbaa !17
  %272 = zext i32 %271 to i64
  %273 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  %274 = icmp ult i64 %272, %273
  br i1 %274, label %276, label %275

275:                                              ; preds = %270
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %293

276:                                              ; preds = %270
  %277 = load i32, ptr %25, align 4, !tbaa !17
  %278 = zext i32 %277 to i64
  %279 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %278) #9
  %280 = load i32, ptr %279, align 4, !tbaa !17
  %281 = icmp eq i32 %280, 0
  br i1 %281, label %282, label %289

282:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #9
  %283 = load i32, ptr %25, align 4, !tbaa !17
  store i32 %283, ptr %26, align 4, !tbaa !17
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 4 dereferenceable(4) %26)
          to label %284 unwind label %285

284:                                              ; preds = %282
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %289

285:                                              ; preds = %282
  %286 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %6, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %849

289:                                              ; preds = %284, %276
  br label %290

290:                                              ; preds = %289
  %291 = load i32, ptr %25, align 4, !tbaa !17
  %292 = add i32 %291, 1
  store i32 %292, ptr %25, align 4, !tbaa !17
  br label %270, !llvm.loop !32

293:                                              ; preds = %275
  %294 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  br i1 %294, label %295, label %317

295:                                              ; preds = %293
  store i1 true, ptr %32, align 1
  %296 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.61, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %297 unwind label %300

297:                                              ; preds = %295
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %298 unwind label %304

298:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #9
  store i32 1, ptr %31, align 4, !tbaa !33
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %296, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef %29, i32 noundef 1263, ptr noundef nonnull align 4 dereferenceable(4) %31)
          to label %299 unwind label %308

299:                                              ; preds = %298
  store i1 false, ptr %32, align 1
  invoke void @__cxa_throw(ptr %296, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %992 unwind label %308

300:                                              ; preds = %295
  %301 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %302 = extractvalue { ptr, i32 } %301, 0
  store ptr %302, ptr %6, align 8
  %303 = extractvalue { ptr, i32 } %301, 1
  store i32 %303, ptr %7, align 4
  br label %313

304:                                              ; preds = %297
  %305 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %6, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %7, align 4
  br label %312

308:                                              ; preds = %299, %298
  %309 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %6, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  br label %312

312:                                              ; preds = %308, %304
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  br label %313

313:                                              ; preds = %312, %300
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #9
  %314 = load i1, ptr %32, align 1
  br i1 %314, label %315, label %316

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

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

317:                                              ; preds = %293
  call void @llvm.lifetime.start.p0(i64 56, ptr %33) #9
  invoke void @_ZN4Glip6CoreGL16HdlTextureFormatC1Eiijjjjjjii(ptr noundef nonnull align 8 dereferenceable(52) %33, i32 noundef 0, i32 noundef 0, i32 noundef 6407, i32 noundef 5121, i32 noundef 9728, i32 noundef 9728, i32 noundef 33071, i32 noundef 33071, i32 noundef 0, i32 noundef 0)
          to label %318 unwind label %325

318:                                              ; preds = %317
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #9
  store i32 -1, ptr %34, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #9
  store i32 -1, ptr %35, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #9
  store i32 5, ptr %36, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #9
  store i32 0, ptr %37, align 4, !tbaa !17
  br label %319

319:                                              ; preds = %487, %318
  %320 = load i32, ptr %37, align 4, !tbaa !17
  %321 = zext i32 %320 to i64
  %322 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  %323 = icmp ult i64 %321, %322
  br i1 %323, label %329, label %324

324:                                              ; preds = %319
  store i32 13, ptr %38, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %491

325:                                              ; preds = %317
  %326 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %327 = extractvalue { ptr, i32 } %326, 0
  store ptr %327, ptr %6, align 8
  %328 = extractvalue { ptr, i32 } %326, 1
  store i32 %328, ptr %7, align 4
  br label %848

329:                                              ; preds = %319
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #9
  store i8 1, ptr %39, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #9
  store i32 0, ptr %40, align 4, !tbaa !17
  br label %330

330:                                              ; preds = %433, %329
  %331 = load i32, ptr %40, align 4, !tbaa !17
  %332 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 3
  %333 = call noundef i32 @_ZNK4Glip12CorePipeline8Pipeline17BufferFormatsCell4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %332)
  %334 = icmp slt i32 %331, %333
  br i1 %334, label %336, label %335

335:                                              ; preds = %330
  store i32 16, ptr %38, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %436

336:                                              ; preds = %330
  %337 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 6
  %338 = load i32, ptr %37, align 4, !tbaa !17
  %339 = zext i32 %338 to i64
  %340 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %339) #9
  %341 = load i32, ptr %340, align 4, !tbaa !17
  %342 = sext i32 %341 to i64
  %343 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %337, i64 noundef %342) #9
  %344 = load ptr, ptr %343, align 8, !tbaa !5
  %345 = load ptr, ptr %344, align 8, !tbaa !15
  %346 = getelementptr i8, ptr %345, i64 -48
  %347 = load i64, ptr %346, align 8
  %348 = getelementptr inbounds i8, ptr %344, i64 %347
  %349 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 3
  %350 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::BufferFormatsCell", ptr %349, i32 0, i32 0
  %351 = load i32, ptr %40, align 4, !tbaa !17
  %352 = sext i32 %351 to i64
  %353 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZNSt6vectorIN4Glip6CoreGL16HdlTextureFormatESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %350, i64 noundef %352) #9
  %354 = invoke noundef zeroext i1 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormateqERKS1_(ptr noundef nonnull align 8 dereferenceable(52) %348, ptr noundef nonnull align 8 dereferenceable(52) %353)
          to label %355 unwind label %394

355:                                              ; preds = %336
  br i1 %354, label %356, label %432

356:                                              ; preds = %355
  store i8 0, ptr %39, align 1, !tbaa !9
  %357 = load i32, ptr %40, align 4, !tbaa !17
  %358 = sext i32 %357 to i64
  %359 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %358) #9
  %360 = load i32, ptr %359, align 4, !tbaa !17
  %361 = icmp eq i32 %360, 0
  br i1 %361, label %362, label %399

362:                                              ; preds = %356
  %363 = load i32, ptr %36, align 4, !tbaa !17
  %364 = icmp sgt i32 %363, 1
  br i1 %364, label %382, label %365

365:                                              ; preds = %362
  %366 = load i32, ptr %36, align 4, !tbaa !17
  %367 = icmp eq i32 %366, 1
  br i1 %367, label %368, label %398

368:                                              ; preds = %365
  %369 = invoke noundef i64 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormat7getSizeEv(ptr noundef nonnull align 8 dereferenceable(52) %33)
          to label %370 unwind label %394

370:                                              ; preds = %368
  %371 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 3
  %372 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::BufferFormatsCell", ptr %371, i32 0, i32 0
  %373 = load i32, ptr %40, align 4, !tbaa !17
  %374 = sext i32 %373 to i64
  %375 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZNSt6vectorIN4Glip6CoreGL16HdlTextureFormatESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %372, i64 noundef %374) #9
  %376 = load ptr, ptr %375, align 8, !tbaa !15
  %377 = getelementptr inbounds ptr, ptr %376, i64 3
  %378 = load ptr, ptr %377, align 8
  %379 = invoke noundef i64 %378(ptr noundef nonnull align 8 dereferenceable(52) %375)
          to label %380 unwind label %394

380:                                              ; preds = %370
  %381 = icmp ult i64 %369, %379
  br i1 %381, label %382, label %398

382:                                              ; preds = %380, %362
  %383 = load i32, ptr %37, align 4, !tbaa !17
  %384 = zext i32 %383 to i64
  %385 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %384) #9
  %386 = load i32, ptr %385, align 4, !tbaa !17
  store i32 %386, ptr %34, align 4, !tbaa !17
  %387 = load i32, ptr %40, align 4, !tbaa !17
  store i32 %387, ptr %35, align 4, !tbaa !17
  store i32 1, ptr %36, align 4, !tbaa !17
  %388 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 3
  %389 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::BufferFormatsCell", ptr %388, i32 0, i32 0
  %390 = load i32, ptr %40, align 4, !tbaa !17
  %391 = sext i32 %390 to i64
  %392 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZNSt6vectorIN4Glip6CoreGL16HdlTextureFormatESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %389, i64 noundef %391) #9
  %393 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZN4Glip6CoreGL16HdlTextureFormataSERKS1_(ptr noundef nonnull align 8 dereferenceable(52) %33, ptr noundef nonnull align 8 dereferenceable(52) %392) #9
  br label %398

394:                                              ; preds = %407, %405, %370, %368, %336
  %395 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %396 = extractvalue { ptr, i32 } %395, 0
  store ptr %396, ptr %6, align 8
  %397 = extractvalue { ptr, i32 } %395, 1
  store i32 %397, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %490

398:                                              ; preds = %382, %380, %365
  br label %431

399:                                              ; preds = %356
  %400 = load i32, ptr %36, align 4, !tbaa !17
  %401 = icmp sgt i32 %400, 3
  br i1 %401, label %419, label %402

402:                                              ; preds = %399
  %403 = load i32, ptr %36, align 4, !tbaa !17
  %404 = icmp eq i32 %403, 3
  br i1 %404, label %405, label %430

405:                                              ; preds = %402
  %406 = invoke noundef i64 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormat7getSizeEv(ptr noundef nonnull align 8 dereferenceable(52) %33)
          to label %407 unwind label %394

407:                                              ; preds = %405
  %408 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 3
  %409 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::BufferFormatsCell", ptr %408, i32 0, i32 0
  %410 = load i32, ptr %40, align 4, !tbaa !17
  %411 = sext i32 %410 to i64
  %412 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZNSt6vectorIN4Glip6CoreGL16HdlTextureFormatESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %409, i64 noundef %411) #9
  %413 = load ptr, ptr %412, align 8, !tbaa !15
  %414 = getelementptr inbounds ptr, ptr %413, i64 3
  %415 = load ptr, ptr %414, align 8
  %416 = invoke noundef i64 %415(ptr noundef nonnull align 8 dereferenceable(52) %412)
          to label %417 unwind label %394

417:                                              ; preds = %407
  %418 = icmp ult i64 %406, %416
  br i1 %418, label %419, label %430

419:                                              ; preds = %417, %399
  %420 = load i32, ptr %37, align 4, !tbaa !17
  %421 = zext i32 %420 to i64
  %422 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %421) #9
  %423 = load i32, ptr %422, align 4, !tbaa !17
  store i32 %423, ptr %34, align 4, !tbaa !17
  store i32 -1, ptr %35, align 4, !tbaa !17
  store i32 3, ptr %36, align 4, !tbaa !17
  %424 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 3
  %425 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::BufferFormatsCell", ptr %424, i32 0, i32 0
  %426 = load i32, ptr %40, align 4, !tbaa !17
  %427 = sext i32 %426 to i64
  %428 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZNSt6vectorIN4Glip6CoreGL16HdlTextureFormatESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %425, i64 noundef %427) #9
  %429 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZN4Glip6CoreGL16HdlTextureFormataSERKS1_(ptr noundef nonnull align 8 dereferenceable(52) %33, ptr noundef nonnull align 8 dereferenceable(52) %428) #9
  br label %430

430:                                              ; preds = %419, %417, %402
  br label %431

431:                                              ; preds = %430, %398
  br label %432

432:                                              ; preds = %431, %355
  br label %433

433:                                              ; preds = %432
  %434 = load i32, ptr %40, align 4, !tbaa !17
  %435 = add nsw i32 %434, 1
  store i32 %435, ptr %40, align 4, !tbaa !17
  br label %330, !llvm.loop !35

436:                                              ; preds = %335
  %437 = load i8, ptr %39, align 1, !tbaa !9, !range !36, !noundef !37
  %438 = trunc i8 %437 to i1
  br i1 %438, label %439, label %486

439:                                              ; preds = %436
  %440 = load i32, ptr %36, align 4, !tbaa !17
  %441 = icmp sge i32 %440, 2
  br i1 %441, label %442, label %486

442:                                              ; preds = %439
  %443 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 6
  %444 = load i32, ptr %37, align 4, !tbaa !17
  %445 = zext i32 %444 to i64
  %446 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %445) #9
  %447 = load i32, ptr %446, align 4, !tbaa !17
  %448 = sext i32 %447 to i64
  %449 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %443, i64 noundef %448) #9
  %450 = load ptr, ptr %449, align 8, !tbaa !5
  %451 = load ptr, ptr %450, align 8, !tbaa !15
  %452 = getelementptr i8, ptr %451, i64 -48
  %453 = load i64, ptr %452, align 8
  %454 = getelementptr inbounds i8, ptr %450, i64 %453
  %455 = load ptr, ptr %454, align 8, !tbaa !15
  %456 = getelementptr inbounds ptr, ptr %455, i64 3
  %457 = load ptr, ptr %456, align 8
  %458 = invoke noundef i64 %457(ptr noundef nonnull align 8 dereferenceable(52) %454)
          to label %459 unwind label %482

459:                                              ; preds = %442
  %460 = invoke noundef i64 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormat7getSizeEv(ptr noundef nonnull align 8 dereferenceable(52) %33)
          to label %461 unwind label %482

461:                                              ; preds = %459
  %462 = icmp ugt i64 %458, %460
  br i1 %462, label %463, label %486

463:                                              ; preds = %461
  %464 = load i32, ptr %37, align 4, !tbaa !17
  %465 = zext i32 %464 to i64
  %466 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %465) #9
  %467 = load i32, ptr %466, align 4, !tbaa !17
  store i32 %467, ptr %34, align 4, !tbaa !17
  store i32 -1, ptr %35, align 4, !tbaa !17
  store i32 2, ptr %36, align 4, !tbaa !17
  %468 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 6
  %469 = load i32, ptr %37, align 4, !tbaa !17
  %470 = zext i32 %469 to i64
  %471 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %470) #9
  %472 = load i32, ptr %471, align 4, !tbaa !17
  %473 = sext i32 %472 to i64
  %474 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %468, i64 noundef %473) #9
  %475 = load ptr, ptr %474, align 8, !tbaa !5
  %476 = load ptr, ptr %475, align 8, !tbaa !15
  %477 = getelementptr i8, ptr %476, i64 -48
  %478 = load i64, ptr %477, align 8
  %479 = getelementptr inbounds i8, ptr %475, i64 %478
  %480 = invoke noundef nonnull align 8 dereferenceable(52) ptr @_ZN4Glip6CoreGL16HdlTextureFormataSERKNS0_24HdlAbstractTextureFormatE(ptr noundef nonnull align 8 dereferenceable(52) %33, ptr noundef nonnull align 8 dereferenceable(52) %479)
          to label %481 unwind label %482

481:                                              ; preds = %463
  br label %486

482:                                              ; preds = %463, %459, %442
  %483 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %484 = extractvalue { ptr, i32 } %483, 0
  store ptr %484, ptr %6, align 8
  %485 = extractvalue { ptr, i32 } %483, 1
  store i32 %485, ptr %7, align 4
  br label %490

486:                                              ; preds = %481, %461, %439, %436
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #9
  br label %487

487:                                              ; preds = %486
  %488 = load i32, ptr %37, align 4, !tbaa !17
  %489 = add i32 %488, 1
  store i32 %489, ptr %37, align 4, !tbaa !17
  br label %319, !llvm.loop !38

490:                                              ; preds = %482, %394
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %847

491:                                              ; preds = %324
  %492 = load i32, ptr %36, align 4, !tbaa !17
  %493 = icmp sge i32 %492, 5
  br i1 %493, label %494, label %516

494:                                              ; preds = %491
  store i1 true, ptr %46, align 1
  %495 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.62, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %496 unwind label %499

496:                                              ; preds = %494
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %497 unwind label %503

497:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #9
  store i32 1, ptr %45, align 4, !tbaa !33
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %495, ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef %43, i32 noundef 1330, ptr noundef nonnull align 4 dereferenceable(4) %45)
          to label %498 unwind label %507

498:                                              ; preds = %497
  store i1 false, ptr %46, align 1
  invoke void @__cxa_throw(ptr %495, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %992 unwind label %507

499:                                              ; preds = %494
  %500 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %501 = extractvalue { ptr, i32 } %500, 0
  store ptr %501, ptr %6, align 8
  %502 = extractvalue { ptr, i32 } %500, 1
  store i32 %502, ptr %7, align 4
  br label %512

503:                                              ; preds = %496
  %504 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %6, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %7, align 4
  br label %511

507:                                              ; preds = %498, %497
  %508 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %6, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #9
  br label %511

511:                                              ; preds = %507, %503
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #9
  br label %512

512:                                              ; preds = %511, %499
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #9
  %513 = load i1, ptr %46, align 1
  br i1 %513, label %514, label %515

514:                                              ; preds = %512
  call void @__cxa_free_exception(ptr %495) #9
  br label %515

515:                                              ; preds = %514, %512
  br label %847

516:                                              ; preds = %491
  %517 = load i32, ptr %36, align 4, !tbaa !17
  %518 = icmp eq i32 %517, 1
  br i1 %518, label %519, label %534

519:                                              ; preds = %516
  %520 = load i32, ptr %35, align 4, !tbaa !17
  %521 = load i32, ptr %34, align 4, !tbaa !17
  %522 = sext i32 %521 to i64
  %523 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %522) #9
  %524 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %523, i32 0, i32 2
  store i32 %520, ptr %524, align 8, !tbaa !18
  %525 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 7
  %526 = load i32, ptr %34, align 4, !tbaa !17
  %527 = sext i32 %526 to i64
  %528 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %527) #9
  invoke void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE9push_backERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %525, ptr noundef nonnull align 8 dereferenceable(56) %528)
          to label %529 unwind label %530

529:                                              ; preds = %519
  br label %607

530:                                              ; preds = %554, %552, %540, %519
  %531 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %6, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %7, align 4
  br label %847

534:                                              ; preds = %516
  %535 = load i32, ptr %36, align 4, !tbaa !17
  %536 = icmp eq i32 %535, 2
  br i1 %536, label %540, label %537

537:                                              ; preds = %534
  %538 = load i32, ptr %36, align 4, !tbaa !17
  %539 = icmp eq i32 %538, 3
  br i1 %539, label %540, label %572

540:                                              ; preds = %537, %534
  %541 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 3
  %542 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 6
  %543 = load i32, ptr %34, align 4, !tbaa !17
  %544 = sext i32 %543 to i64
  %545 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %542, i64 noundef %544) #9
  %546 = load ptr, ptr %545, align 8, !tbaa !5
  %547 = load ptr, ptr %546, align 8, !tbaa !15
  %548 = getelementptr i8, ptr %547, i64 -32
  %549 = load i64, ptr %548, align 8
  %550 = getelementptr inbounds i8, ptr %546, i64 %549
  %551 = invoke noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout16getNumOutputPortEv(ptr noundef nonnull align 8 dereferenceable(88) %550)
          to label %552 unwind label %530

552:                                              ; preds = %540
  invoke void @_ZN4Glip12CorePipeline8Pipeline17BufferFormatsCell6appendERKNS_6CoreGL24HdlAbstractTextureFormatEi(ptr noundef nonnull align 8 dereferenceable(48) %541, ptr noundef nonnull align 8 dereferenceable(52) %33, i32 noundef %551)
          to label %553 unwind label %530

553:                                              ; preds = %552
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  store i32 0, ptr %47, align 4, !tbaa !17
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %47)
          to label %554 unwind label %568

554:                                              ; preds = %553
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  %555 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 3
  %556 = call noundef i32 @_ZNK4Glip12CorePipeline8Pipeline17BufferFormatsCell4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %555)
  %557 = sub nsw i32 %556, 1
  store i32 %557, ptr %35, align 4, !tbaa !17
  %558 = load i32, ptr %35, align 4, !tbaa !17
  %559 = load i32, ptr %34, align 4, !tbaa !17
  %560 = sext i32 %559 to i64
  %561 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %560) #9
  %562 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %561, i32 0, i32 2
  store i32 %558, ptr %562, align 8, !tbaa !18
  %563 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 7
  %564 = load i32, ptr %34, align 4, !tbaa !17
  %565 = sext i32 %564 to i64
  %566 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %565) #9
  invoke void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE9push_backERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %563, ptr noundef nonnull align 8 dereferenceable(56) %566)
          to label %567 unwind label %530

567:                                              ; preds = %554
  br label %606

568:                                              ; preds = %553
  %569 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %570 = extractvalue { ptr, i32 } %569, 0
  store ptr %570, ptr %6, align 8
  %571 = extractvalue { ptr, i32 } %569, 1
  store i32 %571, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  br label %847

572:                                              ; preds = %537
  store i1 true, ptr %54, align 1
  %573 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #9
  invoke void @_ZN4Glip8toStringIiEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %574 unwind label %579

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

575:                                              ; preds = %574
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef @.str.28)
          to label %576 unwind label %587

576:                                              ; preds = %575
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %577 unwind label %591

577:                                              ; preds = %576
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #9
  store i32 1, ptr %53, align 4, !tbaa !33
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %573, ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef %51, i32 noundef 1353, ptr noundef nonnull align 4 dereferenceable(4) %53)
          to label %578 unwind label %595

578:                                              ; preds = %577
  store i1 false, ptr %54, align 1
  invoke void @__cxa_throw(ptr %573, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %992 unwind label %595

579:                                              ; preds = %572
  %580 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %581 = extractvalue { ptr, i32 } %580, 0
  store ptr %581, ptr %6, align 8
  %582 = extractvalue { ptr, i32 } %580, 1
  store i32 %582, ptr %7, align 4
  br label %602

583:                                              ; preds = %574
  %584 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %585 = extractvalue { ptr, i32 } %584, 0
  store ptr %585, ptr %6, align 8
  %586 = extractvalue { ptr, i32 } %584, 1
  store i32 %586, ptr %7, align 4
  br label %601

587:                                              ; preds = %575
  %588 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %589 = extractvalue { ptr, i32 } %588, 0
  store ptr %589, ptr %6, align 8
  %590 = extractvalue { ptr, i32 } %588, 1
  store i32 %590, ptr %7, align 4
  br label %600

591:                                              ; preds = %576
  %592 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %593 = extractvalue { ptr, i32 } %592, 0
  store ptr %593, ptr %6, align 8
  %594 = extractvalue { ptr, i32 } %592, 1
  store i32 %594, ptr %7, align 4
  br label %599

595:                                              ; preds = %578, %577
  %596 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %597 = extractvalue { ptr, i32 } %596, 0
  store ptr %597, ptr %6, align 8
  %598 = extractvalue { ptr, i32 } %596, 1
  store i32 %598, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #9
  br label %599

599:                                              ; preds = %595, %591
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #9
  br label %600

600:                                              ; preds = %599, %587
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #9
  br label %601

601:                                              ; preds = %600, %583
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #9
  br label %602

602:                                              ; preds = %601, %579
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #9
  %603 = load i1, ptr %54, align 1
  br i1 %603, label %604, label %605

604:                                              ; preds = %602
  call void @__cxa_free_exception(ptr %573) #9
  br label %605

605:                                              ; preds = %604, %602
  br label %847

606:                                              ; preds = %567
  br label %607

607:                                              ; preds = %606, %529
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #9
  store i32 0, ptr %55, align 4, !tbaa !17
  br label %608

608:                                              ; preds = %639, %607
  %609 = load i32, ptr %55, align 4, !tbaa !17
  %610 = zext i32 %609 to i64
  %611 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 7
  %612 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %611) #9
  %613 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %612, i32 0, i32 0
  %614 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %613) #9
  %615 = icmp ult i64 %610, %614
  br i1 %615, label %617, label %616

616:                                              ; preds = %608
  store i32 19, ptr %38, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  br label %642

617:                                              ; preds = %608
  %618 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 7
  %619 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %618) #9
  %620 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %619, i32 0, i32 0
  %621 = load i32, ptr %55, align 4, !tbaa !17
  %622 = zext i32 %621 to i64
  %623 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %620, i64 noundef %622) #9
  %624 = load i32, ptr %623, align 4, !tbaa !17
  %625 = icmp ne i32 %624, -1
  br i1 %625, label %626, label %638

626:                                              ; preds = %617
  %627 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 7
  %628 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %627) #9
  %629 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %628, i32 0, i32 0
  %630 = load i32, ptr %55, align 4, !tbaa !17
  %631 = zext i32 %630 to i64
  %632 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %629, i64 noundef %631) #9
  %633 = load i32, ptr %632, align 4, !tbaa !17
  %634 = sext i32 %633 to i64
  %635 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %634) #9
  %636 = load i32, ptr %635, align 4, !tbaa !17
  %637 = add nsw i32 %636, -1
  store i32 %637, ptr %635, align 4, !tbaa !17
  br label %638

638:                                              ; preds = %626, %617
  br label %639

639:                                              ; preds = %638
  %640 = load i32, ptr %55, align 4, !tbaa !17
  %641 = add i32 %640, 1
  store i32 %641, ptr %55, align 4, !tbaa !17
  br label %608, !llvm.loop !39

642:                                              ; preds = %616
  %643 = load i32, ptr %34, align 4, !tbaa !17
  %644 = sext i32 %643 to i64
  %645 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %644) #9
  store i32 -1, ptr %645, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  store i32 0, ptr %56, align 4, !tbaa !17
  br label %646

646:                                              ; preds = %774, %642
  %647 = load i32, ptr %56, align 4, !tbaa !17
  %648 = zext i32 %647 to i64
  %649 = call noundef i64 @_ZNKSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  %650 = icmp ult i64 %648, %649
  br i1 %650, label %652, label %651

651:                                              ; preds = %646
  store i32 22, ptr %38, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %778

652:                                              ; preds = %646
  %653 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 9
  %654 = load i32, ptr %56, align 4, !tbaa !17
  %655 = zext i32 %654 to i64
  %656 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %655) #9
  %657 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %656, i32 0, i32 2
  %658 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %653, ptr noundef nonnull align 4 dereferenceable(4) %657)
          to label %659 unwind label %699

659:                                              ; preds = %652
  %660 = load i32, ptr %658, align 4, !tbaa !17
  %661 = load i32, ptr %34, align 4, !tbaa !17
  %662 = icmp eq i32 %660, %661
  br i1 %662, label %663, label %773

663:                                              ; preds = %659
  %664 = load i32, ptr %56, align 4, !tbaa !17
  %665 = zext i32 %664 to i64
  %666 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %665) #9
  %667 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %666, i32 0, i32 0
  %668 = load i32, ptr %667, align 4, !tbaa !40
  %669 = icmp eq i32 %668, -1
  br i1 %669, label %670, label %703

670:                                              ; preds = %663
  %671 = load i32, ptr %35, align 4, !tbaa !17
  %672 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 8
  %673 = load i32, ptr %56, align 4, !tbaa !17
  %674 = zext i32 %673 to i64
  %675 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %674) #9
  %676 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %675, i32 0, i32 1
  %677 = load i32, ptr %676, align 4, !tbaa !29
  %678 = sext i32 %677 to i64
  %679 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9OutputHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %672, i64 noundef %678) #9
  %680 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::OutputHub", ptr %679, i32 0, i32 0
  store i32 %671, ptr %680, align 4, !tbaa !11
  %681 = load i32, ptr %56, align 4, !tbaa !17
  %682 = zext i32 %681 to i64
  %683 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %682) #9
  %684 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %683, i32 0, i32 3
  %685 = load i32, ptr %684, align 4, !tbaa !30
  %686 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 8
  %687 = load i32, ptr %56, align 4, !tbaa !17
  %688 = zext i32 %687 to i64
  %689 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %688) #9
  %690 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %689, i32 0, i32 1
  %691 = load i32, ptr %690, align 4, !tbaa !29
  %692 = sext i32 %691 to i64
  %693 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9OutputHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %686, i64 noundef %692) #9
  %694 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::OutputHub", ptr %693, i32 0, i32 1
  store i32 %685, ptr %694, align 4, !tbaa !14
  %695 = call noundef i32 @_ZNSt14numeric_limitsIiE3maxEv() #9
  %696 = load i32, ptr %35, align 4, !tbaa !17
  %697 = sext i32 %696 to i64
  %698 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %697) #9
  store i32 %695, ptr %698, align 4, !tbaa !17
  br label %772

699:                                              ; preds = %652
  %700 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %701 = extractvalue { ptr, i32 } %700, 0
  store ptr %701, ptr %6, align 8
  %702 = extractvalue { ptr, i32 } %700, 1
  store i32 %702, ptr %7, align 4
  br label %777

703:                                              ; preds = %663
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  %704 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 9
  %705 = load i32, ptr %56, align 4, !tbaa !17
  %706 = zext i32 %705 to i64
  %707 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %706) #9
  %708 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %707, i32 0, i32 0
  %709 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %704, ptr noundef nonnull align 4 dereferenceable(4) %708)
          to label %710 unwind label %763

710:                                              ; preds = %703
  %711 = load i32, ptr %709, align 4, !tbaa !17
  store i32 %711, ptr %57, align 4, !tbaa !17
  %712 = load i32, ptr %35, align 4, !tbaa !17
  %713 = load i32, ptr %57, align 4, !tbaa !17
  %714 = sext i32 %713 to i64
  %715 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %714) #9
  %716 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %715, i32 0, i32 0
  %717 = load i32, ptr %56, align 4, !tbaa !17
  %718 = zext i32 %717 to i64
  %719 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %718) #9
  %720 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %719, i32 0, i32 1
  %721 = load i32, ptr %720, align 4, !tbaa !29
  %722 = sext i32 %721 to i64
  %723 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %716, i64 noundef %722) #9
  store i32 %712, ptr %723, align 4, !tbaa !17
  %724 = load i32, ptr %56, align 4, !tbaa !17
  %725 = zext i32 %724 to i64
  %726 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %725) #9
  %727 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %726, i32 0, i32 3
  %728 = load i32, ptr %727, align 4, !tbaa !30
  %729 = load i32, ptr %57, align 4, !tbaa !17
  %730 = sext i32 %729 to i64
  %731 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %730) #9
  %732 = getelementptr inbounds %"struct.Glip::CorePipeline::Pipeline::ActionHub", ptr %731, i32 0, i32 1
  %733 = load i32, ptr %56, align 4, !tbaa !17
  %734 = zext i32 %733 to i64
  %735 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %734) #9
  %736 = getelementptr inbounds %"struct.Glip::CorePipeline::AbstractPipelineLayout::Connection", ptr %735, i32 0, i32 1
  %737 = load i32, ptr %736, align 4, !tbaa !29
  %738 = sext i32 %737 to i64
  %739 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %732, i64 noundef %738) #9
  store i32 %728, ptr %739, align 4, !tbaa !17
  %740 = load i32, ptr %57, align 4, !tbaa !17
  %741 = sext i32 %740 to i64
  %742 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %741) #9
  %743 = load i32, ptr %742, align 4, !tbaa !17
  %744 = add nsw i32 %743, -1
  store i32 %744, ptr %742, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #9
  %745 = call ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  %746 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.28", ptr %60, i32 0, i32 0
  store ptr %745, ptr %746, align 8
  %747 = load i32, ptr %56, align 4, !tbaa !17
  %748 = zext i32 %747 to i64
  %749 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESt6vectorIS4_SaIS4_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %60, i64 noundef %748) #9
  %750 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.28", ptr %59, i32 0, i32 0
  store ptr %749, ptr %750, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESt6vectorIS4_SaIS4_EEEC2IPS4_vEERKNS0_IT_S9_EE(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %59) #9
  %751 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.83", ptr %58, i32 0, i32 0
  %752 = load ptr, ptr %751, align 8
  %753 = invoke ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS3_S5_EE(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %752)
          to label %754 unwind label %767

754:                                              ; preds = %710
  %755 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.28", ptr %61, i32 0, i32 0
  store ptr %753, ptr %755, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #9
  %756 = load i32, ptr %56, align 4, !tbaa !17
  %757 = add i32 %756, -1
  store i32 %757, ptr %56, align 4, !tbaa !17
  %758 = load i32, ptr %35, align 4, !tbaa !17
  %759 = sext i32 %758 to i64
  %760 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %759) #9
  %761 = load i32, ptr %760, align 4, !tbaa !17
  %762 = add nsw i32 %761, 1
  store i32 %762, ptr %760, align 4, !tbaa !17
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %772

763:                                              ; preds = %703
  %764 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %765 = extractvalue { ptr, i32 } %764, 0
  store ptr %765, ptr %6, align 8
  %766 = extractvalue { ptr, i32 } %764, 1
  store i32 %766, ptr %7, align 4
  br label %771

767:                                              ; preds = %710
  %768 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %769 = extractvalue { ptr, i32 } %768, 0
  store ptr %769, ptr %6, align 8
  %770 = extractvalue { ptr, i32 } %768, 1
  store i32 %770, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #9
  br label %771

771:                                              ; preds = %767, %763
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %777

772:                                              ; preds = %754, %670
  br label %773

773:                                              ; preds = %772, %659
  br label %774

774:                                              ; preds = %773
  %775 = load i32, ptr %56, align 4, !tbaa !17
  %776 = add i32 %775, 1
  store i32 %776, ptr %56, align 4, !tbaa !17
  br label %646, !llvm.loop !41

777:                                              ; preds = %771, %699
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %847

778:                                              ; preds = %651
  store i8 1, ptr %11, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %62) #9
  store i8 1, ptr %62, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #9
  store i32 0, ptr %63, align 4, !tbaa !17
  br label %779

779:                                              ; preds = %800, %778
  %780 = load i32, ptr %63, align 4, !tbaa !17
  %781 = zext i32 %780 to i64
  %782 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  %783 = icmp ult i64 %781, %782
  br i1 %783, label %785, label %784

784:                                              ; preds = %779
  store i32 25, ptr %38, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  br label %803

785:                                              ; preds = %779
  %786 = load i32, ptr %63, align 4, !tbaa !17
  %787 = zext i32 %786 to i64
  %788 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %787) #9
  %789 = load i32, ptr %788, align 4, !tbaa !17
  %790 = icmp sge i32 %789, 0
  br i1 %790, label %791, label %792

791:                                              ; preds = %785
  store i8 0, ptr %11, align 1, !tbaa !9
  br label %792

792:                                              ; preds = %791, %785
  %793 = load i32, ptr %63, align 4, !tbaa !17
  %794 = zext i32 %793 to i64
  %795 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %794) #9
  %796 = load i32, ptr %795, align 4, !tbaa !17
  %797 = icmp eq i32 %796, 0
  br i1 %797, label %798, label %799

798:                                              ; preds = %792
  store i8 0, ptr %62, align 1, !tbaa !9
  br label %799

799:                                              ; preds = %798, %792
  br label %800

800:                                              ; preds = %799
  %801 = load i32, ptr %63, align 4, !tbaa !17
  %802 = add i32 %801, 1
  store i32 %802, ptr %63, align 4, !tbaa !17
  br label %779, !llvm.loop !42

803:                                              ; preds = %784
  %804 = load i8, ptr %62, align 1, !tbaa !9, !range !36, !noundef !37
  %805 = trunc i8 %804 to i1
  br i1 %805, label %806, label %831

806:                                              ; preds = %803
  %807 = load i8, ptr %11, align 1, !tbaa !9, !range !36, !noundef !37
  %808 = trunc i8 %807 to i1
  br i1 %808, label %831, label %809

809:                                              ; preds = %806
  store i1 true, ptr %69, align 1
  %810 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %811 unwind label %814

811:                                              ; preds = %809
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %812 unwind label %818

812:                                              ; preds = %811
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #9
  store i32 1, ptr %68, align 4, !tbaa !33
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %810, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef %66, i32 noundef 1407, ptr noundef nonnull align 4 dereferenceable(4) %68)
          to label %813 unwind label %822

813:                                              ; preds = %812
  store i1 false, ptr %69, align 1
  invoke void @__cxa_throw(ptr %810, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %992 unwind label %822

814:                                              ; preds = %809
  %815 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %816 = extractvalue { ptr, i32 } %815, 0
  store ptr %816, ptr %6, align 8
  %817 = extractvalue { ptr, i32 } %815, 1
  store i32 %817, ptr %7, align 4
  br label %827

818:                                              ; preds = %811
  %819 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %820 = extractvalue { ptr, i32 } %819, 0
  store ptr %820, ptr %6, align 8
  %821 = extractvalue { ptr, i32 } %819, 1
  store i32 %821, ptr %7, align 4
  br label %826

822:                                              ; preds = %813, %812
  %823 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %824 = extractvalue { ptr, i32 } %823, 0
  store ptr %824, ptr %6, align 8
  %825 = extractvalue { ptr, i32 } %823, 1
  store i32 %825, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #9
  br label %826

826:                                              ; preds = %822, %818
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #9
  br label %827

827:                                              ; preds = %826, %814
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #9
  %828 = load i1, ptr %69, align 1
  br i1 %828, label %829, label %830

829:                                              ; preds = %827
  call void @__cxa_free_exception(ptr %810) #9
  br label %830

830:                                              ; preds = %829, %827
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #9
  br label %847

831:                                              ; preds = %806, %803
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  call void @_ZN4Glip6CoreGL24HdlAbstractTextureFormatD2Ev(ptr noundef nonnull align 8 dereferenceable(52) %33) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr %33) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #9
  br label %832

832:                                              ; preds = %831
  %833 = load i8, ptr %11, align 1, !tbaa !9, !range !36, !noundef !37
  %834 = trunc i8 %833 to i1
  %835 = xor i1 %834, true
  br i1 %835, label %269, label %836, !llvm.loop !43

836:                                              ; preds = %832
  %837 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 6
  %838 = call noundef i64 @_ZNKSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %837) #9
  %839 = getelementptr inbounds %"class.Glip::CorePipeline::Pipeline", ptr %93, i32 0, i32 7
  %840 = call noundef i64 @_ZNKSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %839) #9
  %841 = icmp ne i64 %838, %840
  br i1 %841, label %842, label %867

842:                                              ; preds = %836
  store i1 true, ptr %75, align 1
  %843 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef @.str.65, ptr noundef nonnull align 1 dereferenceable(1) %71)
          to label %844 unwind label %850

844:                                              ; preds = %842
  call void @llvm.lifetime.start.p0(i64 1, ptr %73) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %73)
          to label %845 unwind label %854

845:                                              ; preds = %844
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #9
  store i32 1, ptr %74, align 4, !tbaa !33
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %843, ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef %72, i32 noundef 1413, ptr noundef nonnull align 4 dereferenceable(4) %74)
          to label %846 unwind label %858

846:                                              ; preds = %845
  store i1 false, ptr %75, align 1
  invoke void @__cxa_throw(ptr %843, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %992 unwind label %858

847:                                              ; preds = %830, %777, %605, %568, %530, %515, %490
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  call void @_ZN4Glip6CoreGL24HdlAbstractTextureFormatD2Ev(ptr noundef nonnull align 8 dereferenceable(52) %33) #9
  br label %848

848:                                              ; preds = %847, %325
  call void @llvm.lifetime.end.p0(i64 56, ptr %33) #9
  br label %849

849:                                              ; preds = %848, %316, %285
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #9
  br label %868

850:                                              ; preds = %842
  %851 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %852 = extractvalue { ptr, i32 } %851, 0
  store ptr %852, ptr %6, align 8
  %853 = extractvalue { ptr, i32 } %851, 1
  store i32 %853, ptr %7, align 4
  br label %863

854:                                              ; preds = %844
  %855 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %856 = extractvalue { ptr, i32 } %855, 0
  store ptr %856, ptr %6, align 8
  %857 = extractvalue { ptr, i32 } %855, 1
  store i32 %857, ptr %7, align 4
  br label %862

858:                                              ; preds = %846, %845
  %859 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  %860 = extractvalue { ptr, i32 } %859, 0
  store ptr %860, ptr %6, align 8
  %861 = extractvalue { ptr, i32 } %859, 1
  store i32 %861, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #9
  br label %862

862:                                              ; preds = %858, %854
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #9
  br label %863

863:                                              ; preds = %862, %850
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %71) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #9
  %864 = load i1, ptr %75, align 1
  br i1 %864, label %865, label %866

865:                                              ; preds = %863
  call void @__cxa_free_exception(ptr %843) #9
  br label %866

866:                                              ; preds = %865, %863
  br label %868

867:                                              ; preds = %836
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #9
  call void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #9
  call void @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #9
  br label %981

868:                                              ; preds = %866, %849, %263, %186, %118
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #9
  call void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #9
  call void @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  br label %869

869:                                              ; preds = %868, %114
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #9
  br label %870

870:                                              ; preds = %869
  %871 = load i32, ptr %7, align 4
  %872 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTIN4Glip9ExceptionE) #9
  %873 = icmp eq i32 %871, %872
  br i1 %873, label %874, label %891

874:                                              ; preds = %870
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #9
  %875 = load ptr, ptr %6, align 8
  %876 = call ptr @__cxa_begin_catch(ptr %875) #9
  store ptr %876, ptr %84, align 8
  call void @llvm.lifetime.start.p0(i64 152, ptr %85) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #9
  %877 = getelementptr inbounds i8, ptr %93, i64 128
  %878 = load ptr, ptr %877, align 8, !tbaa !15
  %879 = getelementptr inbounds ptr, ptr %878, i64 2
  %880 = load ptr, ptr %879, align 8
  invoke void %880(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull align 8 dereferenceable(40) %877)
          to label %881 unwind label %946

881:                                              ; preds = %874
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef @.str.67, ptr noundef nonnull align 8 dereferenceable(32) %88)
          to label %882 unwind label %950

882:                                              ; preds = %881
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef @.str.34)
          to label %883 unwind label %954

883:                                              ; preds = %882
  call void @llvm.lifetime.start.p0(i64 1, ptr %90) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %884 unwind label %958

884:                                              ; preds = %883
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #9
  store i32 1, ptr %91, align 4, !tbaa !33
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %85, ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef %89, i32 noundef 1418, ptr noundef nonnull align 4 dereferenceable(4) %91)
          to label %885 unwind label %962

885:                                              ; preds = %884
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #9
  %886 = load ptr, ptr %84, align 8, !tbaa !5
  %887 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %85, ptr noundef nonnull align 8 dereferenceable(152) %886)
          to label %888 unwind label %970

888:                                              ; preds = %885
  %889 = call ptr @__cxa_allocate_exception(i64 152) #9
  invoke void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %889, ptr noundef nonnull align 8 dereferenceable(152) %85)
          to label %890 unwind label %974

890:                                              ; preds = %888
  invoke void @__cxa_throw(ptr %889, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %992 unwind label %970

891:                                              ; preds = %870
  %892 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt9exception) #9
  %893 = icmp eq i32 %871, %892
  br i1 %893, label %894, label %984

894:                                              ; preds = %891
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #9
  %895 = load ptr, ptr %6, align 8
  %896 = call ptr @__cxa_begin_catch(ptr %895) #9
  store ptr %896, ptr %76, align 8
  call void @llvm.lifetime.start.p0(i64 152, ptr %77) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #9
  %897 = getelementptr inbounds i8, ptr %93, i64 128
  %898 = load ptr, ptr %897, align 8, !tbaa !15
  %899 = getelementptr inbounds ptr, ptr %898, i64 2
  %900 = load ptr, ptr %899, align 8
  invoke void %900(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(40) %897)
          to label %901 unwind label %911

901:                                              ; preds = %894
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef @.str.66, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %902 unwind label %915

902:                                              ; preds = %901
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.34)
          to label %903 unwind label %919

903:                                              ; preds = %902
  call void @llvm.lifetime.start.p0(i64 1, ptr %82) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %904 unwind label %923

904:                                              ; preds = %903
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #9
  store i32 1, ptr %83, align 4, !tbaa !33
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %77, ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef %81, i32 noundef 1424, ptr noundef nonnull align 4 dereferenceable(4) %83)
          to label %905 unwind label %927

905:                                              ; preds = %904
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #9
  %906 = load ptr, ptr %76, align 8, !tbaa !5
  %907 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKSt9exception(ptr noundef nonnull align 8 dereferenceable(152) %77, ptr noundef nonnull align 8 dereferenceable(8) %906)
          to label %908 unwind label %935

908:                                              ; preds = %905
  %909 = call ptr @__cxa_allocate_exception(i64 152) #9
  invoke void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %909, ptr noundef nonnull align 8 dereferenceable(152) %77)
          to label %910 unwind label %939

910:                                              ; preds = %908
  invoke void @__cxa_throw(ptr %909, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #10
          to label %992 unwind label %935

911:                                              ; preds = %894
  %912 = landingpad { ptr, i32 }
          cleanup
  %913 = extractvalue { ptr, i32 } %912, 0
  store ptr %913, ptr %6, align 8
  %914 = extractvalue { ptr, i32 } %912, 1
  store i32 %914, ptr %7, align 4
  br label %934

915:                                              ; preds = %901
  %916 = landingpad { ptr, i32 }
          cleanup
  %917 = extractvalue { ptr, i32 } %916, 0
  store ptr %917, ptr %6, align 8
  %918 = extractvalue { ptr, i32 } %916, 1
  store i32 %918, ptr %7, align 4
  br label %933

919:                                              ; preds = %902
  %920 = landingpad { ptr, i32 }
          cleanup
  %921 = extractvalue { ptr, i32 } %920, 0
  store ptr %921, ptr %6, align 8
  %922 = extractvalue { ptr, i32 } %920, 1
  store i32 %922, ptr %7, align 4
  br label %932

923:                                              ; preds = %903
  %924 = landingpad { ptr, i32 }
          cleanup
  %925 = extractvalue { ptr, i32 } %924, 0
  store ptr %925, ptr %6, align 8
  %926 = extractvalue { ptr, i32 } %924, 1
  store i32 %926, ptr %7, align 4
  br label %931

927:                                              ; preds = %904
  %928 = landingpad { ptr, i32 }
          cleanup
  %929 = extractvalue { ptr, i32 } %928, 0
  store ptr %929, ptr %6, align 8
  %930 = extractvalue { ptr, i32 } %928, 1
  store i32 %930, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #9
  br label %931

931:                                              ; preds = %927, %923
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #9
  br label %932

932:                                              ; preds = %931, %919
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #9
  br label %933

933:                                              ; preds = %932, %915
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  br label %934

934:                                              ; preds = %933, %911
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #9
  br label %944

935:                                              ; preds = %910, %905
  %936 = landingpad { ptr, i32 }
          cleanup
  %937 = extractvalue { ptr, i32 } %936, 0
  store ptr %937, ptr %6, align 8
  %938 = extractvalue { ptr, i32 } %936, 1
  store i32 %938, ptr %7, align 4
  br label %943

939:                                              ; preds = %908
  %940 = landingpad { ptr, i32 }
          cleanup
  %941 = extractvalue { ptr, i32 } %940, 0
  store ptr %941, ptr %6, align 8
  %942 = extractvalue { ptr, i32 } %940, 1
  store i32 %942, ptr %7, align 4
  call void @__cxa_free_exception(ptr %909) #9
  br label %943

943:                                              ; preds = %939, %935
  call void @_ZN4Glip9ExceptionD1Ev(ptr noundef nonnull align 8 dereferenceable(152) %77) #9
  br label %944

944:                                              ; preds = %943, %934
  call void @llvm.lifetime.end.p0(i64 152, ptr %77) #9
  invoke void @__cxa_end_catch()
          to label %945 unwind label %989

945:                                              ; preds = %944
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #9
  br label %984

946:                                              ; preds = %874
  %947 = landingpad { ptr, i32 }
          cleanup
  %948 = extractvalue { ptr, i32 } %947, 0
  store ptr %948, ptr %6, align 8
  %949 = extractvalue { ptr, i32 } %947, 1
  store i32 %949, ptr %7, align 4
  br label %969

950:                                              ; preds = %881
  %951 = landingpad { ptr, i32 }
          cleanup
  %952 = extractvalue { ptr, i32 } %951, 0
  store ptr %952, ptr %6, align 8
  %953 = extractvalue { ptr, i32 } %951, 1
  store i32 %953, ptr %7, align 4
  br label %968

954:                                              ; preds = %882
  %955 = landingpad { ptr, i32 }
          cleanup
  %956 = extractvalue { ptr, i32 } %955, 0
  store ptr %956, ptr %6, align 8
  %957 = extractvalue { ptr, i32 } %955, 1
  store i32 %957, ptr %7, align 4
  br label %967

958:                                              ; preds = %883
  %959 = landingpad { ptr, i32 }
          cleanup
  %960 = extractvalue { ptr, i32 } %959, 0
  store ptr %960, ptr %6, align 8
  %961 = extractvalue { ptr, i32 } %959, 1
  store i32 %961, ptr %7, align 4
  br label %966

962:                                              ; preds = %884
  %963 = landingpad { ptr, i32 }
          cleanup
  %964 = extractvalue { ptr, i32 } %963, 0
  store ptr %964, ptr %6, align 8
  %965 = extractvalue { ptr, i32 } %963, 1
  store i32 %965, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #9
  br label %966

966:                                              ; preds = %962, %958
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #9
  br label %967

967:                                              ; preds = %966, %954
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #9
  br label %968

968:                                              ; preds = %967, %950
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #9
  br label %969

969:                                              ; preds = %968, %946
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #9
  br label %979

970:                                              ; preds = %890, %885
  %971 = landingpad { ptr, i32 }
          cleanup
  %972 = extractvalue { ptr, i32 } %971, 0
  store ptr %972, ptr %6, align 8
  %973 = extractvalue { ptr, i32 } %971, 1
  store i32 %973, ptr %7, align 4
  br label %978

974:                                              ; preds = %888
  %975 = landingpad { ptr, i32 }
          cleanup
  %976 = extractvalue { ptr, i32 } %975, 0
  store ptr %976, ptr %6, align 8
  %977 = extractvalue { ptr, i32 } %975, 1
  store i32 %977, ptr %7, align 4
  call void @__cxa_free_exception(ptr %889) #9
  br label %978

978:                                              ; preds = %974, %970
  call void @_ZN4Glip9ExceptionD1Ev(ptr noundef nonnull align 8 dereferenceable(152) %85) #9
  br label %979

979:                                              ; preds = %978, %969
  call void @llvm.lifetime.end.p0(i64 152, ptr %85) #9
  invoke void @__cxa_end_catch()
          to label %980 unwind label %989

980:                                              ; preds = %979
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #9
  br label %984

981:                                              ; preds = %867
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #9
  %982 = call noundef i32 @_ZN4Glip12CorePipeline8Pipeline17createBuffersCellEv(ptr noundef nonnull align 8 dereferenceable(456) %93)
  store i32 %982, ptr %92, align 4, !tbaa !17
  %983 = load i32, ptr %92, align 4, !tbaa !17
  call void @_ZN4Glip12CorePipeline8Pipeline23changeTargetBuffersCellEi(ptr noundef nonnull align 8 dereferenceable(456) %93, i32 noundef %983)
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #9
  ret void

984:                                              ; preds = %980, %945, %891
  %985 = load ptr, ptr %6, align 8
  %986 = load i32, ptr %7, align 4
  %987 = insertvalue { ptr, i32 } poison, ptr %985, 0
  %988 = insertvalue { ptr, i32 } %987, i32 %986, 1
  resume { ptr, i32 } %988

989:                                              ; preds = %979, %944
  %990 = landingpad { ptr, i32 }
          catch ptr null
  %991 = extractvalue { ptr, i32 } %990, 0
  call void @__clang_call_terminate(ptr %991) #11
  unreachable

992:                                              ; preds = %910, %890, %846, %813, %578, %498, %299
  unreachable
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare void @_ZN4Glip6CoreGL16HdlTextureFormatC1Eiijjjjjjii(ptr noundef nonnull align 8 dereferenceable(52), i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) unnamed_addr #4

declare noundef zeroext i1 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormateqERKS1_(ptr noundef nonnull align 8 dereferenceable(52), ptr noundef nonnull align 8 dereferenceable(52)) #4

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

declare noundef i64 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormat7getSizeEv(ptr noundef nonnull align 8 dereferenceable(52)) unnamed_addr #4

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

declare noundef nonnull align 8 dereferenceable(52) ptr @_ZN4Glip6CoreGL16HdlTextureFormataSERKNS0_24HdlAbstractTextureFormatE(ptr noundef nonnull align 8 dereferenceable(52), ptr noundef nonnull align 8 dereferenceable(52)) #4

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNSt14numeric_limitsIiE3maxEv() #0 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4Glip12CorePipeline8Pipeline23changeTargetBuffersCellEi(ptr noundef nonnull align 8 dereferenceable(456), i32 noundef) #3 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 = { 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 #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { "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 = { noinline noreturn nounwind uwtable "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind memory(none) }
attributes #8 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind }
attributes #10 = { noreturn }
attributes #11 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{!12, !13, i64 0}
!12 = !{!"_ZTSN4Glip12CorePipeline8Pipeline9OutputHubE", !13, i64 0, !13, i64 4}
!13 = !{!"int", !7, i64 0}
!14 = !{!12, !13, i64 4}
!15 = !{!16, !16, i64 0}
!16 = !{!"vtable pointer", !8, i64 0}
!17 = !{!13, !13, i64 0}
!18 = !{!19, !13, i64 48}
!19 = !{!"_ZTSN4Glip12CorePipeline8Pipeline9ActionHubE", !20, i64 0, !20, i64 24, !13, i64 48, !13, i64 52}
!20 = !{!"_ZTSSt6vectorIiSaIiEE", !21, i64 0}
!21 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!24 = !{!19, !13, i64 52}
!25 = distinct !{!25, !26}
!26 = !{!"llvm.loop.mustprogress"}
!27 = !{!28, !13, i64 8}
!28 = !{!"_ZTSN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionE", !13, i64 0, !13, i64 4, !13, i64 8, !13, i64 12}
!29 = !{!28, !13, i64 4}
!30 = !{!28, !13, i64 12}
!31 = distinct !{!31, !26}
!32 = distinct !{!32, !26}
!33 = !{!34, !34, i64 0}
!34 = !{!"_ZTSN4Glip9Exception4TypeE", !7, i64 0}
!35 = distinct !{!35, !26}
!36 = !{i8 0, i8 2}
!37 = !{}
!38 = distinct !{!38, !26}
!39 = distinct !{!39, !26}
!40 = !{!28, !13, i64 0}
!41 = distinct !{!41, !26}
!42 = distinct !{!42, !26}
!43 = distinct !{!43, !26}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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.15" = type { %"struct.std::_Vector_base.16" }
%"struct.std::_Vector_base.16" = 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 }
%"class.std::vector.59" = type { %"struct.std::_Vector_base.60" }
%"struct.std::_Vector_base.60" = type { %"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::ActionHub, std::allocator<Glip::CorePipeline::Pipeline::ActionHub>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::ActionHub, std::allocator<Glip::CorePipeline::Pipeline::ActionHub>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::ActionHub, std::allocator<Glip::CorePipeline::Pipeline::ActionHub>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::CorePipeline::Pipeline::ActionHub, std::allocator<Glip::CorePipeline::Pipeline::ActionHub>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.Glip::CorePipeline::Pipeline::OutputHub" = type { i32, i32 }
%"struct.Glip::CorePipeline::Pipeline::ActionHub" = type { %"class.std::vector.15", %"class.std::vector.15", i32, i32 }
%"class.__gnu_cxx::__normal_iterator.83" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.28" = type { ptr }
%"class.std::allocator.20" = type { i8 }
%"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 }>
%"class.Glip::Exception" = type { %"class.std::exception", i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", i8, i8, %"class.std::vector.23" }
%"class.std::exception" = type { ptr }
%"class.std::vector.23" = type { %"struct.std::_Vector_base.24" }
%"struct.std::_Vector_base.24" = type { %"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl" }
%"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl" = type { %"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Glip::Exception, std::allocator<Glip::Exception>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str.1 = external hidden unnamed_addr constant [88 x i8], align 1
@_ZTIN4Glip9ExceptionE = external constant ptr
@.str.28 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [4 x i8], align 1
@_ZTISt9exception = external constant ptr
@.str.61 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [80 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

; 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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

declare 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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

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

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

declare ptr @__cxa_begin_catch(ptr) 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 #2

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

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

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

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

declare noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout15getNumInputPortEv(ptr noundef nonnull align 8 dereferenceable(88)) local_unnamed_addr #4

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

declare void @__cxa_end_catch() local_unnamed_addr

declare noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout16getNumOutputPortEv(ptr noundef nonnull align 8 dereferenceable(88)) local_unnamed_addr #4

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

declare noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKSt9exception(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

declare void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152), ptr noundef nonnull align 8 dereferenceable(152)) unnamed_addr #4

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Glip12CorePipeline8Pipeline15allocateBuffersERSt6vectorINS0_22AbstractPipelineLayout10ConnectionESaIS4_EE(ptr noundef nonnull align 8 dereferenceable(456) %0, ptr noundef nonnull align 8 dereferenceable(24) %1) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::vector", align 8
  %4 = alloca %"class.std::vector.15", align 8
  %5 = alloca %"class.std::vector.15", align 8
  %6 = alloca %"class.std::vector.59", align 8
  %7 = alloca %"struct.Glip::CorePipeline::Pipeline::OutputHub", align 4
  %8 = alloca %"struct.Glip::CorePipeline::Pipeline::ActionHub", align 8
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca %"class.__gnu_cxx::__normal_iterator.83", align 8
  %13 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8
  %14 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8
  %15 = alloca %"class.std::vector.15", align 8
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator.20", align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator.20", align 1
  %21 = alloca i32, align 4
  %22 = alloca %"class.Glip::CoreGL::HdlTextureFormat", align 8
  %23 = alloca i32, align 4
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator.20", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator.20", align 1
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::allocator.20", align 1
  %35 = alloca i32, align 4
  %36 = alloca %"class.__gnu_cxx::__normal_iterator.83", align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8
  %38 = alloca %"class.__gnu_cxx::__normal_iterator.28", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator.20", align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator.20", align 1
  %43 = alloca i32, align 4
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator.20", align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator.20", align 1
  %48 = alloca i32, align 4
  %49 = alloca %"class.Glip::Exception", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator.20", align 1
  %55 = alloca i32, align 4
  %56 = alloca %"class.Glip::Exception", 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.20", align 1
  %62 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #9
  invoke void @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %1)
          to label %63 unwind label %80

63:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #9
  call void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #9
  store i32 -1, ptr %7, align 4, !tbaa !5
  %64 = getelementptr inbounds i8, ptr %7, i64 4
  store i32 -1, ptr %64, align 4, !tbaa !10
  %65 = getelementptr inbounds i8, ptr %0, i64 344
  %66 = load ptr, ptr %0, align 8, !tbaa !11
  %67 = getelementptr i8, ptr %66, i64 -24
  %68 = load i64, ptr %67, align 8
  %69 = getelementptr inbounds i8, ptr %0, i64 %68
  %70 = invoke noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout16getNumOutputPortEv(ptr noundef nonnull align 8 dereferenceable(88) %69)
          to label %71 unwind label %82

71:                                               ; preds = %63
  %72 = sext i32 %70 to i64
  invoke void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9OutputHubESaIS3_EE6assignEmRKS3_(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %72, ptr noundef nonnull align 4 dereferenceable(8) %7)
          to label %.preheader258 unwind label %82

.preheader258:                                    ; preds = %71
  %73 = getelementptr inbounds i8, ptr %0, i64 296
  %74 = call noundef i64 @_ZNKSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %73) #9
  %.not310 = icmp eq i64 %74, 0
  br i1 %.not310, label %.preheader257, label %.lr.ph

.lr.ph:                                           ; preds = %.preheader258
  %75 = getelementptr inbounds i8, ptr %8, i64 24
  %76 = getelementptr inbounds i8, ptr %8, i64 48
  %77 = getelementptr inbounds i8, ptr %8, i64 52
  br label %84

.preheader257:                                    ; preds = %115, %.preheader258
  %78 = call noundef i64 @_ZNKSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  %.not311 = icmp eq i64 %78, 0
  br i1 %.not311, label %.preheader256, label %.lr.ph277

.lr.ph277:                                        ; preds = %.preheader257
  %79 = getelementptr inbounds i8, ptr %0, i64 368
  br label %132

80:                                               ; preds = %2
  %81 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %521

82:                                               ; preds = %71, %63
  %83 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %520

84:                                               ; preds = %.lr.ph, %115
  %85 = phi i64 [ 0, %.lr.ph ], [ %117, %115 ]
  %.0144275 = phi i32 [ 0, %.lr.ph ], [ %116, %115 ]
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %8) #9
  call void @_ZN4Glip12CorePipeline8Pipeline9ActionHubC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %8) #9
  %86 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %85) #9
  %87 = load ptr, ptr %86, align 8, !tbaa !13
  %88 = load ptr, ptr %87, align 8, !tbaa !11
  %89 = getelementptr i8, ptr %88, i64 -32
  %90 = load i64, ptr %89, align 8
  %91 = getelementptr inbounds i8, ptr %87, i64 %90
  %92 = invoke noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout15getNumInputPortEv(ptr noundef nonnull align 8 dereferenceable(88) %91)
          to label %93 unwind label %120

93:                                               ; preds = %84
  %94 = sext i32 %92 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #9
  store i32 -1, ptr %9, align 4, !tbaa !15
  invoke void @_ZNSt6vectorIiSaIiEE6assignEmRKi(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %94, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %95 unwind label %122

95:                                               ; preds = %93
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #9
  %96 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %85) #9
  %97 = load ptr, ptr %96, align 8, !tbaa !13
  %98 = load ptr, ptr %97, align 8, !tbaa !11
  %99 = getelementptr i8, ptr %98, i64 -32
  %100 = load i64, ptr %99, align 8
  %101 = getelementptr inbounds i8, ptr %97, i64 %100
  %102 = invoke noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout15getNumInputPortEv(ptr noundef nonnull align 8 dereferenceable(88) %101)
          to label %103 unwind label %120

103:                                              ; preds = %95
  %104 = sext i32 %102 to i64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #9
  store i32 -1, ptr %10, align 4, !tbaa !15
  invoke void @_ZNSt6vectorIiSaIiEE6assignEmRKi(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef %104, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %105 unwind label %124

105:                                              ; preds = %103
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #9
  store i32 -1, ptr %76, align 8, !tbaa !16
  store i32 %.0144275, ptr %77, align 4, !tbaa !22
  invoke void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE9push_backERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(56) %8)
          to label %106 unwind label %120

106:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #9
  %107 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %85) #9
  %108 = load ptr, ptr %107, align 8, !tbaa !13
  %109 = load ptr, ptr %108, align 8, !tbaa !11
  %110 = getelementptr i8, ptr %109, i64 -32
  %111 = load i64, ptr %110, align 8
  %112 = getelementptr inbounds i8, ptr %108, i64 %111
  %113 = invoke noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout15getNumInputPortEv(ptr noundef nonnull align 8 dereferenceable(88) %112)
          to label %114 unwind label %126

114:                                              ; preds = %106
  store i32 %113, ptr %11, align 4, !tbaa !15
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %115 unwind label %126

115:                                              ; preds = %114
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #9
  call void @_ZN4Glip12CorePipeline8Pipeline9ActionHubD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %8) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %8) #9
  %116 = add i32 %.0144275, 1
  %117 = zext i32 %116 to i64
  %118 = call noundef i64 @_ZNKSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %73) #9
  %119 = icmp ugt i64 %118, %117
  br i1 %119, label %84, label %.preheader257, !llvm.loop !23

120:                                              ; preds = %105, %95, %84
  %121 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %128

122:                                              ; preds = %93
  %123 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #9
  br label %128

124:                                              ; preds = %103
  %125 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #9
  br label %128

126:                                              ; preds = %114, %106
  %127 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #9
  br label %128

128:                                              ; preds = %126, %124, %122, %120
  %.pn213 = phi { ptr, i32 } [ %127, %126 ], [ %121, %120 ], [ %125, %124 ], [ %123, %122 ]
  call void @_ZN4Glip12CorePipeline8Pipeline9ActionHubD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %8) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %8) #9
  br label %520

.preheader256:                                    ; preds = %173, %.preheader257
  %129 = getelementptr inbounds i8, ptr %0, i64 192
  %130 = getelementptr inbounds i8, ptr %0, i64 320
  %131 = getelementptr inbounds i8, ptr %0, i64 368
  br label %178

132:                                              ; preds = %.lr.ph277, %173
  %133 = phi i64 [ 0, %.lr.ph277 ], [ %175, %173 ]
  %.0145276 = phi i32 [ 0, %.lr.ph277 ], [ %174, %173 ]
  %134 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %133) #9
  %135 = getelementptr inbounds i8, ptr %134, i64 8
  %136 = load i32, ptr %135, align 4, !tbaa !25
  %137 = icmp eq i32 %136, -1
  br i1 %137, label %138, label %173

138:                                              ; preds = %132
  %139 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %133) #9
  %140 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %79, ptr noundef nonnull align 4 dereferenceable(4) %139)
          to label %141 unwind label %169

141:                                              ; preds = %138
  %142 = load i32, ptr %140, align 4, !tbaa !15
  %143 = sext i32 %142 to i64
  %144 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %143) #9
  %145 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %133) #9
  %146 = getelementptr inbounds i8, ptr %145, i64 4
  %147 = load i32, ptr %146, align 4, !tbaa !27
  %148 = sext i32 %147 to i64
  %149 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %144, i64 noundef %148) #9
  store i32 -1, ptr %149, align 4, !tbaa !15
  %150 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %133) #9
  %151 = getelementptr inbounds i8, ptr %150, i64 12
  %152 = load i32, ptr %151, align 4, !tbaa !28
  %153 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %143) #9
  %154 = getelementptr inbounds i8, ptr %153, i64 24
  %155 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %133) #9
  %156 = getelementptr inbounds i8, ptr %155, i64 4
  %157 = load i32, ptr %156, align 4, !tbaa !27
  %158 = sext i32 %157 to i64
  %159 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %154, i64 noundef %158) #9
  store i32 %152, ptr %159, align 4, !tbaa !15
  %160 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %143) #9
  %161 = load i32, ptr %160, align 4, !tbaa !15
  %162 = add nsw i32 %161, -1
  store i32 %162, ptr %160, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #9
  %163 = call ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  store ptr %163, ptr %14, align 8
  %164 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESt6vectorIS4_SaIS4_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %14, i64 noundef %133) #9
  store ptr %164, ptr %13, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESt6vectorIS4_SaIS4_EEEC2IPS4_vEERKNS0_IT_S9_EE(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %13) #9
  %165 = load ptr, ptr %12, align 8
  %166 = invoke ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS3_S5_EE(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr %165)
          to label %167 unwind label %171

167:                                              ; preds = %141
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #9
  %168 = add i32 %.0145276, -1
  br label %173

169:                                              ; preds = %138
  %170 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %520

171:                                              ; preds = %141
  %172 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #9
  br label %520

173:                                              ; preds = %132, %167
  %.1146 = phi i32 [ %168, %167 ], [ %.0145276, %132 ]
  %174 = add i32 %.1146, 1
  %175 = zext i32 %174 to i64
  %176 = call noundef i64 @_ZNKSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  %177 = icmp ugt i64 %176, %175
  br i1 %177, label %132, label %.preheader256, !llvm.loop !29

178:                                              ; preds = %.preheader256, %.thread320
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  %179 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  %.not312 = icmp eq i64 %179, 0
  br i1 %.not312, label %._crit_edge, label %.lr.ph279

._crit_edge:                                      ; preds = %189, %178
  %180 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  br i1 %180, label %194, label %206

.lr.ph279:                                        ; preds = %178, %189
  %181 = phi i64 [ %191, %189 ], [ 0, %178 ]
  %.0174278 = phi i32 [ %190, %189 ], [ 0, %178 ]
  %182 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %181) #9
  %183 = load i32, ptr %182, align 4, !tbaa !15
  %184 = icmp eq i32 %183, 0
  br i1 %184, label %185, label %189

185:                                              ; preds = %.lr.ph279
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #9
  store i32 %.0174278, ptr %16, align 4, !tbaa !15
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %186 unwind label %187

186:                                              ; preds = %185
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #9
  br label %189

187:                                              ; preds = %185
  %188 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #9
  br label %510

189:                                              ; preds = %.lr.ph279, %186
  %190 = add i32 %.0174278, 1
  %191 = zext i32 %190 to i64
  %192 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  %193 = icmp ugt i64 %192, %191
  br i1 %193, label %.lr.ph279, label %._crit_edge, !llvm.loop !30

194:                                              ; preds = %._crit_edge
  %195 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.61, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %196 unwind label %.thread

196:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %197 unwind label %200

197:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #9
  store i32 1, ptr %21, align 4, !tbaa !31
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %195, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull %19, i32 noundef 1263, ptr noundef nonnull align 4 dereferenceable(4) %21)
          to label %198 unwind label %202

198:                                              ; preds = %197
  invoke void @__cxa_throw(ptr nonnull %195, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %601 unwind label %202

.thread:                                          ; preds = %194
  %199 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #9
  br label %205

200:                                              ; preds = %196
  %201 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %204

202:                                              ; preds = %198, %197
  %.0171 = phi i1 [ false, %198 ], [ true, %197 ]
  %203 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #9
  br label %204

204:                                              ; preds = %200, %202
  %.1172 = phi i1 [ %.0171, %202 ], [ true, %200 ]
  %.pn206 = phi { ptr, i32 } [ %203, %202 ], [ %201, %200 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #9
  br i1 %.1172, label %205, label %510

205:                                              ; preds = %.thread, %204
  %.pn206.pn235 = phi { ptr, i32 } [ %199, %.thread ], [ %.pn206, %204 ]
  call void @__cxa_free_exception(ptr %195) #9
  br label %510

206:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %22) #9
  invoke void @_ZN4Glip6CoreGL16HdlTextureFormatC1Eiijjjjjjii(ptr noundef nonnull align 8 dereferenceable(52) %22, i32 noundef 0, i32 noundef 0, i32 noundef 6407, i32 noundef 5121, i32 noundef 9728, i32 noundef 9728, i32 noundef 33071, i32 noundef 33071, i32 noundef 0, i32 noundef 0)
          to label %207 unwind label %214

207:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #9
  store i32 5, ptr %23, align 4, !tbaa !15
  %208 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  %.not313 = icmp eq i64 %208, 0
  br i1 %.not313, label %._crit_edge292, label %.preheader

.preheader:                                       ; preds = %207, %313
  %209 = phi i64 [ %315, %313 ], [ 0, %207 ]
  %.0161291 = phi i32 [ %314, %313 ], [ 0, %207 ]
  %.0162290 = phi i32 [ %.3165, %313 ], [ -1, %207 ]
  %.0167289 = phi i32 [ %.3170, %313 ], [ -1, %207 ]
  %210 = call noundef i32 @_ZNK4Glip12CorePipeline8Pipeline17BufferFormatsCell4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %129)
  %211 = icmp sgt i32 %210, 0
  br i1 %211, label %.lr.ph284, label %._crit_edge285

._crit_edge292:                                   ; preds = %313, %207
  %.0167.lcssa = phi i32 [ -1, %207 ], [ %.3170, %313 ]
  %.0162.lcssa = phi i32 [ -1, %207 ], [ %.3165, %313 ]
  %212 = load i32, ptr %23, align 4
  %213 = icmp sgt i32 %212, 4
  br i1 %213, label %318, label %330

214:                                              ; preds = %206
  %215 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %509

._crit_edge285:                                   ; preds = %276, %.preheader
  %.1168.lcssa = phi i32 [ %.0167289, %.preheader ], [ %.2169, %276 ]
  %.1163.lcssa = phi i32 [ %.0162290, %.preheader ], [ %.2164, %276 ]
  %.0159.lcssa = phi i1 [ true, %.preheader ], [ %.1160, %276 ]
  %216 = load i32, ptr %23, align 4
  %217 = icmp sgt i32 %216, 1
  %or.cond = select i1 %.0159.lcssa, i1 %217, i1 false
  br i1 %or.cond, label %280, label %313

.lr.ph284:                                        ; preds = %.preheader, %276
  %indvars.iv = phi i64 [ %indvars.iv.next, %276 ], [ 0, %.preheader ]
  %.0159282 = phi i1 [ %.1160, %276 ], [ true, %.preheader ]
  %.1163281 = phi i32 [ %.2164, %276 ], [ %.0162290, %.preheader ]
  %.1168280 = phi i32 [ %.2169, %276 ], [ %.0167289, %.preheader ]
  %218 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %209) #9
  %219 = load i32, ptr %218, align 4, !tbaa !15
  %220 = sext i32 %219 to i64
  %221 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %220) #9
  %222 = load ptr, ptr %221, align 8, !tbaa !13
  %223 = load ptr, ptr %222, align 8, !tbaa !11
  %224 = getelementptr i8, ptr %223, i64 -48
  %225 = load i64, ptr %224, align 8
  %226 = getelementptr inbounds i8, ptr %222, i64 %225
  %227 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZNSt6vectorIN4Glip6CoreGL16HdlTextureFormatESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %129, i64 noundef %indvars.iv) #9
  %228 = invoke noundef zeroext i1 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormateqERKS1_(ptr noundef nonnull align 8 dereferenceable(52) %226, ptr noundef nonnull align 8 dereferenceable(52) %227)
          to label %229 unwind label %255

229:                                              ; preds = %.lr.ph284
  br i1 %228, label %230, label %276

230:                                              ; preds = %229
  %231 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %indvars.iv) #9
  %232 = load i32, ptr %231, align 4, !tbaa !15
  %233 = icmp eq i32 %232, 0
  %234 = load i32, ptr %23, align 4, !tbaa !15
  br i1 %233, label %235, label %257

235:                                              ; preds = %230
  %236 = icmp sgt i32 %234, 1
  br i1 %236, label %249, label %237

237:                                              ; preds = %235
  %238 = icmp eq i32 %234, 1
  br i1 %238, label %239, label %276

239:                                              ; preds = %237
  %240 = invoke noundef i64 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormat7getSizeEv(ptr noundef nonnull align 8 dereferenceable(52) %22)
          to label %241 unwind label %255

241:                                              ; preds = %239
  %242 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZNSt6vectorIN4Glip6CoreGL16HdlTextureFormatESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %129, i64 noundef %indvars.iv) #9
  %243 = load ptr, ptr %242, align 8, !tbaa !11
  %244 = getelementptr inbounds i8, ptr %243, i64 24
  %245 = load ptr, ptr %244, align 8
  %246 = invoke noundef i64 %245(ptr noundef nonnull align 8 dereferenceable(52) %242)
          to label %247 unwind label %255

247:                                              ; preds = %241
  %248 = icmp ult i64 %240, %246
  br i1 %248, label %249, label %276

249:                                              ; preds = %247, %235
  %250 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %209) #9
  %251 = load i32, ptr %250, align 4, !tbaa !15
  store i32 1, ptr %23, align 4, !tbaa !15
  %252 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZNSt6vectorIN4Glip6CoreGL16HdlTextureFormatESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %129, i64 noundef %indvars.iv) #9
  %253 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZN4Glip6CoreGL16HdlTextureFormataSERKS1_(ptr noundef nonnull align 8 dereferenceable(52) %22, ptr noundef nonnull align 8 dereferenceable(52) %252) #9
  %254 = trunc nuw nsw i64 %indvars.iv to i32
  br label %276

255:                                              ; preds = %263, %261, %241, %239, %.lr.ph284
  %256 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %508

257:                                              ; preds = %230
  %258 = icmp sgt i32 %234, 3
  br i1 %258, label %271, label %259

259:                                              ; preds = %257
  %260 = icmp eq i32 %234, 3
  br i1 %260, label %261, label %276

261:                                              ; preds = %259
  %262 = invoke noundef i64 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormat7getSizeEv(ptr noundef nonnull align 8 dereferenceable(52) %22)
          to label %263 unwind label %255

263:                                              ; preds = %261
  %264 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZNSt6vectorIN4Glip6CoreGL16HdlTextureFormatESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %129, i64 noundef %indvars.iv) #9
  %265 = load ptr, ptr %264, align 8, !tbaa !11
  %266 = getelementptr inbounds i8, ptr %265, i64 24
  %267 = load ptr, ptr %266, align 8
  %268 = invoke noundef i64 %267(ptr noundef nonnull align 8 dereferenceable(52) %264)
          to label %269 unwind label %255

269:                                              ; preds = %263
  %270 = icmp ult i64 %262, %268
  br i1 %270, label %271, label %276

271:                                              ; preds = %269, %257
  %272 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %209) #9
  %273 = load i32, ptr %272, align 4, !tbaa !15
  store i32 3, ptr %23, align 4, !tbaa !15
  %274 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZNSt6vectorIN4Glip6CoreGL16HdlTextureFormatESaIS2_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %129, i64 noundef %indvars.iv) #9
  %275 = call noundef nonnull align 8 dereferenceable(52) ptr @_ZN4Glip6CoreGL16HdlTextureFormataSERKS1_(ptr noundef nonnull align 8 dereferenceable(52) %22, ptr noundef nonnull align 8 dereferenceable(52) %274) #9
  br label %276

276:                                              ; preds = %229, %259, %269, %271, %237, %247, %249
  %.2169 = phi i32 [ %251, %249 ], [ %.1168280, %247 ], [ %.1168280, %237 ], [ %273, %271 ], [ %.1168280, %269 ], [ %.1168280, %259 ], [ %.1168280, %229 ]
  %.2164 = phi i32 [ %254, %249 ], [ %.1163281, %247 ], [ %.1163281, %237 ], [ -1, %271 ], [ %.1163281, %269 ], [ %.1163281, %259 ], [ %.1163281, %229 ]
  %.1160 = phi i1 [ false, %249 ], [ false, %247 ], [ false, %237 ], [ false, %271 ], [ false, %269 ], [ false, %259 ], [ %.0159282, %229 ]
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %277 = call noundef i32 @_ZNK4Glip12CorePipeline8Pipeline17BufferFormatsCell4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %129)
  %278 = sext i32 %277 to i64
  %279 = icmp slt i64 %indvars.iv.next, %278
  br i1 %279, label %.lr.ph284, label %._crit_edge285, !llvm.loop !33

280:                                              ; preds = %._crit_edge285
  %281 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %209) #9
  %282 = load i32, ptr %281, align 4, !tbaa !15
  %283 = sext i32 %282 to i64
  %284 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %283) #9
  %285 = load ptr, ptr %284, align 8, !tbaa !13
  %286 = load ptr, ptr %285, align 8, !tbaa !11
  %287 = getelementptr i8, ptr %286, i64 -48
  %288 = load i64, ptr %287, align 8
  %289 = getelementptr inbounds i8, ptr %285, i64 %288
  %290 = load ptr, ptr %289, align 8, !tbaa !11
  %291 = getelementptr inbounds i8, ptr %290, i64 24
  %292 = load ptr, ptr %291, align 8
  %293 = invoke noundef i64 %292(ptr noundef nonnull align 8 dereferenceable(52) %289)
          to label %294 unwind label %311

294:                                              ; preds = %280
  %295 = invoke noundef i64 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormat7getSizeEv(ptr noundef nonnull align 8 dereferenceable(52) %22)
          to label %296 unwind label %311

296:                                              ; preds = %294
  %297 = icmp ugt i64 %293, %295
  br i1 %297, label %298, label %313

298:                                              ; preds = %296
  %299 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %209) #9
  %300 = load i32, ptr %299, align 4, !tbaa !15
  store i32 2, ptr %23, align 4, !tbaa !15
  %301 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %209) #9
  %302 = load i32, ptr %301, align 4, !tbaa !15
  %303 = sext i32 %302 to i64
  %304 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %303) #9
  %305 = load ptr, ptr %304, align 8, !tbaa !13
  %306 = load ptr, ptr %305, align 8, !tbaa !11
  %307 = getelementptr i8, ptr %306, i64 -48
  %308 = load i64, ptr %307, align 8
  %309 = getelementptr inbounds i8, ptr %305, i64 %308
  %310 = invoke noundef nonnull align 8 dereferenceable(52) ptr @_ZN4Glip6CoreGL16HdlTextureFormataSERKNS0_24HdlAbstractTextureFormatE(ptr noundef nonnull align 8 dereferenceable(52) %22, ptr noundef nonnull align 8 dereferenceable(52) %309)
          to label %313 unwind label %311

311:                                              ; preds = %298, %294, %280
  %312 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %508

313:                                              ; preds = %298, %296, %._crit_edge285
  %.3170 = phi i32 [ %300, %298 ], [ %.1168.lcssa, %296 ], [ %.1168.lcssa, %._crit_edge285 ]
  %.3165 = phi i32 [ -1, %298 ], [ %.1163.lcssa, %296 ], [ %.1163.lcssa, %._crit_edge285 ]
  %314 = add i32 %.0161291, 1
  %315 = zext i32 %314 to i64
  %316 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  %317 = icmp ugt i64 %316, %315
  br i1 %317, label %.preheader, label %._crit_edge292, !llvm.loop !34

318:                                              ; preds = %._crit_edge292
  %319 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.62, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %320 unwind label %.thread236

320:                                              ; preds = %318
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %321 unwind label %324

321:                                              ; preds = %320
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #9
  store i32 1, ptr %28, align 4, !tbaa !31
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %319, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull %26, i32 noundef 1330, ptr noundef nonnull align 4 dereferenceable(4) %28)
          to label %322 unwind label %326

322:                                              ; preds = %321
  invoke void @__cxa_throw(ptr nonnull %319, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %601 unwind label %326

.thread236:                                       ; preds = %318
  %323 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #9
  br label %329

324:                                              ; preds = %320
  %325 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %328

326:                                              ; preds = %322, %321
  %.0155 = phi i1 [ false, %322 ], [ true, %321 ]
  %327 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  br label %328

328:                                              ; preds = %324, %326
  %.1156 = phi i1 [ %.0155, %326 ], [ true, %324 ]
  %.pn199 = phi { ptr, i32 } [ %327, %326 ], [ %325, %324 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #9
  br i1 %.1156, label %329, label %508

329:                                              ; preds = %.thread236, %328
  %.pn199.pn239 = phi { ptr, i32 } [ %323, %.thread236 ], [ %.pn199, %328 ]
  call void @__cxa_free_exception(ptr %319) #9
  br label %508

330:                                              ; preds = %._crit_edge292
  %331 = icmp eq i32 %212, 1
  br i1 %331, label %332, label %339

332:                                              ; preds = %330
  %333 = sext i32 %.0167.lcssa to i64
  %334 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %333) #9
  %335 = getelementptr inbounds i8, ptr %334, i64 48
  store i32 %.0162.lcssa, ptr %335, align 8, !tbaa !16
  %336 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %333) #9
  invoke void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE9push_backERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(56) %336)
          to label %378 unwind label %337

337:                                              ; preds = %352, %350, %341, %332
  %338 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %508

339:                                              ; preds = %330
  %340 = and i32 %212, -2
  %or.cond3 = icmp eq i32 %340, 2
  br i1 %or.cond3, label %341, label %360

341:                                              ; preds = %339
  %342 = sext i32 %.0167.lcssa to i64
  %343 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %342) #9
  %344 = load ptr, ptr %343, align 8, !tbaa !13
  %345 = load ptr, ptr %344, align 8, !tbaa !11
  %346 = getelementptr i8, ptr %345, i64 -32
  %347 = load i64, ptr %346, align 8
  %348 = getelementptr inbounds i8, ptr %344, i64 %347
  %349 = invoke noundef i32 @_ZNK4Glip12CorePipeline23AbstractComponentLayout16getNumOutputPortEv(ptr noundef nonnull align 8 dereferenceable(88) %348)
          to label %350 unwind label %337

350:                                              ; preds = %341
  invoke void @_ZN4Glip12CorePipeline8Pipeline17BufferFormatsCell6appendERKNS_6CoreGL24HdlAbstractTextureFormatEi(ptr noundef nonnull align 8 dereferenceable(48) %129, ptr noundef nonnull align 8 dereferenceable(52) %22, i32 noundef %349)
          to label %351 unwind label %337

351:                                              ; preds = %350
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #9
  store i32 0, ptr %29, align 4, !tbaa !15
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %352 unwind label %358

352:                                              ; preds = %351
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #9
  %353 = call noundef i32 @_ZNK4Glip12CorePipeline8Pipeline17BufferFormatsCell4sizeEv(ptr noundef nonnull align 8 dereferenceable(48) %129)
  %354 = add nsw i32 %353, -1
  %355 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %342) #9
  %356 = getelementptr inbounds i8, ptr %355, i64 48
  store i32 %354, ptr %356, align 8, !tbaa !16
  %357 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %342) #9
  invoke void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE9push_backERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(56) %357)
          to label %378 unwind label %337

358:                                              ; preds = %351
  %359 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #9
  br label %508

360:                                              ; preds = %339
  %361 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #9
  invoke void @_ZN4Glip8toStringIiEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %362 unwind label %.thread240

362:                                              ; preds = %360
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull @.str.63, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %363 unwind label %.thread244

363:                                              ; preds = %362
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull @.str.28)
          to label %364 unwind label %369

364:                                              ; preds = %363
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %34) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %365 unwind label %371

365:                                              ; preds = %364
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #9
  store i32 1, ptr %35, align 4, !tbaa !31
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %361, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull %33, i32 noundef 1353, ptr noundef nonnull align 4 dereferenceable(4) %35)
          to label %366 unwind label %373

366:                                              ; preds = %365
  invoke void @__cxa_throw(ptr nonnull %361, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %601 unwind label %373

.thread240:                                       ; preds = %360
  %367 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  br label %377

.thread244:                                       ; preds = %362
  %368 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  br label %377

369:                                              ; preds = %363
  %370 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %376

371:                                              ; preds = %364
  %372 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %375

373:                                              ; preds = %366, %365
  %.0150 = phi i1 [ false, %366 ], [ true, %365 ]
  %374 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #9
  br label %375

375:                                              ; preds = %373, %371
  %.1151 = phi i1 [ %.0150, %373 ], [ true, %371 ]
  %.pn = phi { ptr, i32 } [ %374, %373 ], [ %372, %371 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  br label %376

376:                                              ; preds = %369, %375
  %.2152 = phi i1 [ %.1151, %375 ], [ true, %369 ]
  %.pn.pn = phi { ptr, i32 } [ %.pn, %375 ], [ %370, %369 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  br i1 %.2152, label %377, label %508

377:                                              ; preds = %.thread244, %.thread240, %376
  %.pn.pn.pn.pn243 = phi { ptr, i32 } [ %367, %.thread240 ], [ %.pn.pn, %376 ], [ %368, %.thread244 ]
  call void @__cxa_free_exception(ptr %361) #9
  br label %508

378:                                              ; preds = %352, %332
  %.4166 = phi i32 [ %.0162.lcssa, %332 ], [ %354, %352 ]
  %379 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  %380 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %379) #9
  %.not314 = icmp eq i64 %380, 0
  br i1 %.not314, label %._crit_edge298, label %.lr.ph297

._crit_edge298:                                   ; preds = %397, %378
  %381 = sext i32 %.0167.lcssa to i64
  %382 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %381) #9
  store i32 -1, ptr %382, align 4, !tbaa !15
  %383 = call noundef i64 @_ZNKSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  %.not315 = icmp eq i64 %383, 0
  br i1 %.not315, label %.preheader255, label %.lr.ph302

.lr.ph302:                                        ; preds = %._crit_edge298
  %384 = sext i32 %.4166 to i64
  br label %404

.lr.ph297:                                        ; preds = %378, %397
  %385 = phi i64 [ %399, %397 ], [ 0, %378 ]
  %.0149295 = phi i32 [ %398, %397 ], [ 0, %378 ]
  %386 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  %387 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %386, i64 noundef %385) #9
  %388 = load i32, ptr %387, align 4, !tbaa !15
  %.not198 = icmp eq i32 %388, -1
  br i1 %.not198, label %397, label %389

389:                                              ; preds = %.lr.ph297
  %390 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  %391 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %390, i64 noundef %385) #9
  %392 = load i32, ptr %391, align 4, !tbaa !15
  %393 = sext i32 %392 to i64
  %394 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %393) #9
  %395 = load i32, ptr %394, align 4, !tbaa !15
  %396 = add nsw i32 %395, -1
  store i32 %396, ptr %394, align 4, !tbaa !15
  br label %397

397:                                              ; preds = %.lr.ph297, %389
  %398 = add i32 %.0149295, 1
  %399 = zext i32 %398 to i64
  %400 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  %401 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %400) #9
  %402 = icmp ugt i64 %401, %399
  br i1 %402, label %.lr.ph297, label %._crit_edge298, !llvm.loop !35

.preheader255:                                    ; preds = %472, %._crit_edge298
  %403 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  %.not316 = icmp eq i64 %403, 0
  br i1 %.not316, label %.critedge, label %.lr.ph306

404:                                              ; preds = %.lr.ph302, %472
  %405 = phi i64 [ 0, %.lr.ph302 ], [ %474, %472 ]
  %.0147300 = phi i32 [ 0, %.lr.ph302 ], [ %473, %472 ]
  %406 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %405) #9
  %407 = getelementptr inbounds i8, ptr %406, i64 8
  %408 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %131, ptr noundef nonnull align 4 dereferenceable(4) %407)
          to label %409 unwind label %433

409:                                              ; preds = %404
  %410 = load i32, ptr %408, align 4, !tbaa !15
  %411 = icmp eq i32 %410, %.0167.lcssa
  br i1 %411, label %412, label %472

412:                                              ; preds = %409
  %413 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %405) #9
  %414 = load i32, ptr %413, align 4, !tbaa !36
  %415 = icmp eq i32 %414, -1
  %416 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %405) #9
  br i1 %415, label %417, label %435

417:                                              ; preds = %412
  %418 = getelementptr inbounds i8, ptr %416, i64 4
  %419 = load i32, ptr %418, align 4, !tbaa !27
  %420 = sext i32 %419 to i64
  %421 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9OutputHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %420) #9
  store i32 %.4166, ptr %421, align 4, !tbaa !5
  %422 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %405) #9
  %423 = getelementptr inbounds i8, ptr %422, i64 12
  %424 = load i32, ptr %423, align 4, !tbaa !28
  %425 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %405) #9
  %426 = getelementptr inbounds i8, ptr %425, i64 4
  %427 = load i32, ptr %426, align 4, !tbaa !27
  %428 = sext i32 %427 to i64
  %429 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9OutputHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %428) #9
  %430 = getelementptr inbounds i8, ptr %429, i64 4
  store i32 %424, ptr %430, align 4, !tbaa !10
  %431 = call noundef i32 @_ZNSt14numeric_limitsIiE3maxEv() #9
  %432 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %384) #9
  store i32 %431, ptr %432, align 4, !tbaa !15
  br label %472

433:                                              ; preds = %404
  %434 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %508

435:                                              ; preds = %412
  %436 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %131, ptr noundef nonnull align 4 dereferenceable(4) %416)
          to label %437 unwind label %468

437:                                              ; preds = %435
  %438 = load i32, ptr %436, align 4, !tbaa !15
  %439 = sext i32 %438 to i64
  %440 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %439) #9
  %441 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %405) #9
  %442 = getelementptr inbounds i8, ptr %441, i64 4
  %443 = load i32, ptr %442, align 4, !tbaa !27
  %444 = sext i32 %443 to i64
  %445 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %440, i64 noundef %444) #9
  store i32 %.4166, ptr %445, align 4, !tbaa !15
  %446 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %405) #9
  %447 = getelementptr inbounds i8, ptr %446, i64 12
  %448 = load i32, ptr %447, align 4, !tbaa !28
  %449 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %439) #9
  %450 = getelementptr inbounds i8, ptr %449, i64 24
  %451 = call noundef nonnull align 4 dereferenceable(16) ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %405) #9
  %452 = getelementptr inbounds i8, ptr %451, i64 4
  %453 = load i32, ptr %452, align 4, !tbaa !27
  %454 = sext i32 %453 to i64
  %455 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %450, i64 noundef %454) #9
  store i32 %448, ptr %455, align 4, !tbaa !15
  %456 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %439) #9
  %457 = load i32, ptr %456, align 4, !tbaa !15
  %458 = add nsw i32 %457, -1
  store i32 %458, ptr %456, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #9
  %459 = call ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  store ptr %459, ptr %38, align 8
  %460 = call ptr @_ZNK9__gnu_cxx17__normal_iteratorIPN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESt6vectorIS4_SaIS4_EEEplEl(ptr noundef nonnull align 8 dereferenceable(8) %38, i64 noundef %405) #9
  store ptr %460, ptr %37, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESt6vectorIS4_SaIS4_EEEC2IPS4_vEERKNS0_IT_S9_EE(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 8 dereferenceable(8) %37) #9
  %461 = load ptr, ptr %36, align 8
  %462 = invoke ptr @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS3_S5_EE(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr %461)
          to label %463 unwind label %470

463:                                              ; preds = %437
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #9
  %464 = add i32 %.0147300, -1
  %465 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %384) #9
  %466 = load i32, ptr %465, align 4, !tbaa !15
  %467 = add nsw i32 %466, 1
  store i32 %467, ptr %465, align 4, !tbaa !15
  br label %472

468:                                              ; preds = %435
  %469 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %508

470:                                              ; preds = %437
  %471 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #9
  br label %508

472:                                              ; preds = %409, %463, %417
  %.1148 = phi i32 [ %.0147300, %417 ], [ %464, %463 ], [ %.0147300, %409 ]
  %473 = add i32 %.1148, 1
  %474 = zext i32 %473 to i64
  %475 = call noundef i64 @_ZNKSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  %476 = icmp ugt i64 %475, %474
  br i1 %476, label %404, label %.preheader255, !llvm.loop !37

._crit_edge307:                                   ; preds = %.lr.ph306
  %477 = trunc nuw i8 %spec.select to i1
  %.1143.not = xor i1 %.1143, true
  %brmerge = select i1 %.1143.not, i1 true, i1 %477
  br i1 %brmerge, label %.thread320, label %489

.lr.ph306:                                        ; preds = %.preheader255, %.lr.ph306
  %478 = phi i64 [ %486, %.lr.ph306 ], [ 0, %.preheader255 ]
  %.0133305 = phi i8 [ %spec.select, %.lr.ph306 ], [ 1, %.preheader255 ]
  %.0141304 = phi i32 [ %485, %.lr.ph306 ], [ 0, %.preheader255 ]
  %.0142303 = phi i1 [ %.1143, %.lr.ph306 ], [ true, %.preheader255 ]
  %479 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %478) #9
  %480 = load i32, ptr %479, align 4, !tbaa !15
  %481 = icmp sgt i32 %480, -1
  %spec.select = select i1 %481, i8 0, i8 %.0133305
  %482 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %478) #9
  %483 = load i32, ptr %482, align 4, !tbaa !15
  %484 = icmp ne i32 %483, 0
  %.1143 = select i1 %484, i1 %.0142303, i1 false
  %485 = add i32 %.0141304, 1
  %486 = zext i32 %485 to i64
  %487 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  %488 = icmp ugt i64 %487, %486
  br i1 %488, label %.lr.ph306, label %._crit_edge307, !llvm.loop !38

489:                                              ; preds = %._crit_edge307
  %490 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %491 unwind label %.thread247

491:                                              ; preds = %489
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %492 unwind label %495

492:                                              ; preds = %491
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #9
  store i32 1, ptr %43, align 4, !tbaa !31
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %490, ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull %41, i32 noundef 1407, ptr noundef nonnull align 4 dereferenceable(4) %43)
          to label %493 unwind label %497

493:                                              ; preds = %492
  invoke void @__cxa_throw(ptr nonnull %490, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %601 unwind label %497

.thread247:                                       ; preds = %489
  %494 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #9
  br label %500

495:                                              ; preds = %491
  %496 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %499

497:                                              ; preds = %493, %492
  %.0138 = phi i1 [ false, %493 ], [ true, %492 ]
  %498 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #9
  br label %499

499:                                              ; preds = %495, %497
  %.1139 = phi i1 [ %.0138, %497 ], [ true, %495 ]
  %.pn189 = phi { ptr, i32 } [ %498, %497 ], [ %496, %495 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #9
  br i1 %.1139, label %500, label %508

500:                                              ; preds = %.thread247, %499
  %.pn189.pn250 = phi { ptr, i32 } [ %494, %.thread247 ], [ %.pn189, %499 ]
  call void @__cxa_free_exception(ptr %490) #9
  br label %508

.thread320:                                       ; preds = %._crit_edge307
  %.mux = select i1 %.1143, i1 true, i1 %477
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #9
  call void @_ZN4Glip6CoreGL24HdlAbstractTextureFormatD2Ev(ptr noundef nonnull align 8 dereferenceable(52) %22) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %22) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #9
  br i1 %.mux, label %.loopexit, label %178, !llvm.loop !39

.critedge:                                        ; preds = %.preheader255
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #9
  call void @_ZN4Glip6CoreGL24HdlAbstractTextureFormatD2Ev(ptr noundef nonnull align 8 dereferenceable(52) %22) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %22) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #9
  br label %.loopexit

.loopexit:                                        ; preds = %.thread320, %.critedge
  %501 = call noundef i64 @_ZNKSt6vectorIPN4Glip12CorePipeline6FilterESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %73) #9
  %502 = call noundef i64 @_ZNKSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %130) #9
  %.not = icmp eq i64 %501, %502
  br i1 %.not, label %518, label %503

503:                                              ; preds = %.loopexit
  %504 = call ptr @__cxa_allocate_exception(i64 152) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str.65, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %505 unwind label %.thread251

505:                                              ; preds = %503
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %506 unwind label %512

506:                                              ; preds = %505
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #9
  store i32 1, ptr %48, align 4, !tbaa !31
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %504, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull %46, i32 noundef 1413, ptr noundef nonnull align 4 dereferenceable(4) %48)
          to label %507 unwind label %514

507:                                              ; preds = %506
  invoke void @__cxa_throw(ptr nonnull %504, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %601 unwind label %514

508:                                              ; preds = %499, %500, %433, %470, %468, %255, %311, %376, %377, %328, %329, %358, %337
  %.pn202.pn = phi { ptr, i32 } [ %.pn199.pn239, %329 ], [ %.pn199, %328 ], [ %338, %337 ], [ %359, %358 ], [ %.pn.pn.pn.pn243, %377 ], [ %.pn.pn, %376 ], [ %256, %255 ], [ %312, %311 ], [ %434, %433 ], [ %471, %470 ], [ %469, %468 ], [ %.pn189.pn250, %500 ], [ %.pn189, %499 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #9
  call void @_ZN4Glip6CoreGL24HdlAbstractTextureFormatD2Ev(ptr noundef nonnull align 8 dereferenceable(52) %22) #9
  br label %509

509:                                              ; preds = %508, %214
  %.pn202.pn.pn = phi { ptr, i32 } [ %.pn202.pn, %508 ], [ %215, %214 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %22) #9
  br label %510

510:                                              ; preds = %204, %205, %509, %187
  %.pn209 = phi { ptr, i32 } [ %188, %187 ], [ %.pn206.pn235, %205 ], [ %.pn206, %204 ], [ %.pn202.pn.pn, %509 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #9
  br label %520

.thread251:                                       ; preds = %503
  %511 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #9
  br label %517

512:                                              ; preds = %505
  %513 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  br label %516

514:                                              ; preds = %507, %506
  %.0135 = phi i1 [ false, %507 ], [ true, %506 ]
  %515 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTIN4Glip9ExceptionE
          catch ptr @_ZTISt9exception
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #9
  br label %516

516:                                              ; preds = %512, %514
  %.1136 = phi i1 [ %.0135, %514 ], [ true, %512 ]
  %.pn192 = phi { ptr, i32 } [ %515, %514 ], [ %513, %512 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #9
  br i1 %.1136, label %517, label %520

517:                                              ; preds = %.thread251, %516
  %.pn192.pn254 = phi { ptr, i32 } [ %511, %.thread251 ], [ %.pn192, %516 ]
  call void @__cxa_free_exception(ptr %504) #9
  br label %520

518:                                              ; preds = %.loopexit
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #9
  call void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #9
  call void @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #9
  %519 = call noundef i32 @_ZN4Glip12CorePipeline8Pipeline17createBuffersCellEv(ptr noundef nonnull align 8 dereferenceable(456) %0)
  call void @_ZN4Glip12CorePipeline8Pipeline23changeTargetBuffersCellEi(ptr noundef nonnull align 8 dereferenceable(456) %0, i32 noundef %519)
  ret void

520:                                              ; preds = %169, %171, %516, %517, %510, %128, %82
  %.pn213.pn = phi { ptr, i32 } [ %.pn213, %128 ], [ %.pn209, %510 ], [ %.pn192.pn254, %517 ], [ %.pn192, %516 ], [ %83, %82 ], [ %172, %171 ], [ %170, %169 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #9
  call void @_ZNSt6vectorIN4Glip12CorePipeline8Pipeline9ActionHubESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #9
  call void @_ZNSt6vectorIN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #9
  br label %521

521:                                              ; preds = %520, %80
  %.pn213.pn.pn = phi { ptr, i32 } [ %.pn213.pn, %520 ], [ %81, %80 ]
  %.21 = extractvalue { ptr, i32 } %.pn213.pn.pn, 0
  %.21119 = extractvalue { ptr, i32 } %.pn213.pn.pn, 1
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #9
  %522 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTIN4Glip9ExceptionE) #9
  %523 = icmp eq i32 %.21119, %522
  br i1 %523, label %524, label %539

524:                                              ; preds = %521
  %525 = call ptr @__cxa_begin_catch(ptr %.21) #9
  call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %56) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #9
  %526 = getelementptr inbounds i8, ptr %0, i64 128
  %527 = load ptr, ptr %526, align 8, !tbaa !11
  %528 = getelementptr inbounds i8, ptr %527, i64 16
  %529 = load ptr, ptr %528, align 8
  invoke void %529(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 8 dereferenceable(40) %526)
          to label %530 unwind label %577

530:                                              ; preds = %524
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull @.str.67, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %531 unwind label %579

531:                                              ; preds = %530
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.34)
          to label %532 unwind label %581

532:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %61) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %533 unwind label %583

533:                                              ; preds = %532
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %62) #9
  store i32 1, ptr %62, align 4, !tbaa !31
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull %60, i32 noundef 1418, ptr noundef nonnull align 4 dereferenceable(4) %62)
          to label %534 unwind label %585

534:                                              ; preds = %533
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #9
  %535 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %56, ptr noundef nonnull align 8 dereferenceable(152) %525)
          to label %536 unwind label %591

536:                                              ; preds = %534
  %537 = call ptr @__cxa_allocate_exception(i64 152) #9
  invoke void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %537, ptr noundef nonnull align 8 dereferenceable(152) %56)
          to label %538 unwind label %593

538:                                              ; preds = %536
  invoke void @__cxa_throw(ptr nonnull %537, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %601 unwind label %591

539:                                              ; preds = %521
  %540 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt9exception) #9
  %541 = icmp eq i32 %.21119, %540
  br i1 %541, label %542, label %597

542:                                              ; preds = %539
  %543 = call ptr @__cxa_begin_catch(ptr %.21) #9
  call void @llvm.lifetime.start.p0(i64 152, ptr nonnull %49) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #9
  %544 = getelementptr inbounds i8, ptr %0, i64 128
  %545 = load ptr, ptr %544, align 8, !tbaa !11
  %546 = getelementptr inbounds i8, ptr %545, i64 16
  %547 = load ptr, ptr %546, align 8
  invoke void %547(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(40) %544)
          to label %548 unwind label %557

548:                                              ; preds = %542
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull @.str.66, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %549 unwind label %559

549:                                              ; preds = %548
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.34)
          to label %550 unwind label %561

550:                                              ; preds = %549
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %54) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %551 unwind label %563

551:                                              ; preds = %550
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #9
  store i32 1, ptr %55, align 4, !tbaa !31
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %49, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull %53, i32 noundef 1424, ptr noundef nonnull align 4 dereferenceable(4) %55)
          to label %552 unwind label %565

552:                                              ; preds = %551
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #9
  %553 = invoke noundef nonnull align 8 dereferenceable(152) ptr @_ZN4Glip9ExceptionlsERKSt9exception(ptr noundef nonnull align 8 dereferenceable(152) %49, ptr noundef nonnull align 8 dereferenceable(8) %543)
          to label %554 unwind label %571

554:                                              ; preds = %552
  %555 = call ptr @__cxa_allocate_exception(i64 152) #9
  invoke void @_ZN4Glip9ExceptionC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(152) %555, ptr noundef nonnull align 8 dereferenceable(152) %49)
          to label %556 unwind label %573

556:                                              ; preds = %554
  invoke void @__cxa_throw(ptr nonnull %555, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #10
          to label %601 unwind label %571

557:                                              ; preds = %542
  %558 = landingpad { ptr, i32 }
          cleanup
  br label %570

559:                                              ; preds = %548
  %560 = landingpad { ptr, i32 }
          cleanup
  br label %569

561:                                              ; preds = %549
  %562 = landingpad { ptr, i32 }
          cleanup
  br label %568

563:                                              ; preds = %550
  %564 = landingpad { ptr, i32 }
          cleanup
  br label %567

565:                                              ; preds = %551
  %566 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  br label %567

567:                                              ; preds = %565, %563
  %.pn217 = phi { ptr, i32 } [ %566, %565 ], [ %564, %563 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #9
  br label %568

568:                                              ; preds = %567, %561
  %.pn217.pn = phi { ptr, i32 } [ %.pn217, %567 ], [ %562, %561 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #9
  br label %569

569:                                              ; preds = %568, %559
  %.pn217.pn.pn = phi { ptr, i32 } [ %.pn217.pn, %568 ], [ %560, %559 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #9
  br label %570

570:                                              ; preds = %569, %557
  %.pn217.pn.pn.pn = phi { ptr, i32 } [ %.pn217.pn.pn, %569 ], [ %558, %557 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #9
  br label %576

571:                                              ; preds = %556, %552
  %572 = landingpad { ptr, i32 }
          cleanup
  br label %575

573:                                              ; preds = %554
  %574 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %555) #9
  br label %575

575:                                              ; preds = %573, %571
  %.pn222 = phi { ptr, i32 } [ %572, %571 ], [ %574, %573 ]
  call void @_ZN4Glip9ExceptionD1Ev(ptr noundef nonnull align 8 dereferenceable(152) %49) #9
  br label %576

576:                                              ; preds = %575, %570
  %.pn222.pn = phi { ptr, i32 } [ %.pn222, %575 ], [ %.pn217.pn.pn.pn, %570 ]
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %49) #9
  invoke void @__cxa_end_catch()
          to label %597 unwind label %598

577:                                              ; preds = %524
  %578 = landingpad { ptr, i32 }
          cleanup
  br label %590

579:                                              ; preds = %530
  %580 = landingpad { ptr, i32 }
          cleanup
  br label %589

581:                                              ; preds = %531
  %582 = landingpad { ptr, i32 }
          cleanup
  br label %588

583:                                              ; preds = %532
  %584 = landingpad { ptr, i32 }
          cleanup
  br label %587

585:                                              ; preds = %533
  %586 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #9
  br label %587

587:                                              ; preds = %585, %583
  %.pn225 = phi { ptr, i32 } [ %586, %585 ], [ %584, %583 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #9
  br label %588

588:                                              ; preds = %587, %581
  %.pn225.pn = phi { ptr, i32 } [ %.pn225, %587 ], [ %582, %581 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #9
  br label %589

589:                                              ; preds = %588, %579
  %.pn225.pn.pn = phi { ptr, i32 } [ %.pn225.pn, %588 ], [ %580, %579 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #9
  br label %590

590:                                              ; preds = %589, %577
  %.pn225.pn.pn.pn = phi { ptr, i32 } [ %.pn225.pn.pn, %589 ], [ %578, %577 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #9
  br label %596

591:                                              ; preds = %538, %534
  %592 = landingpad { ptr, i32 }
          cleanup
  br label %595

593:                                              ; preds = %536
  %594 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %537) #9
  br label %595

595:                                              ; preds = %593, %591
  %.pn230 = phi { ptr, i32 } [ %592, %591 ], [ %594, %593 ]
  call void @_ZN4Glip9ExceptionD1Ev(ptr noundef nonnull align 8 dereferenceable(152) %56) #9
  br label %596

596:                                              ; preds = %595, %590
  %.pn230.pn = phi { ptr, i32 } [ %.pn230, %595 ], [ %.pn225.pn.pn.pn, %590 ]
  call void @llvm.lifetime.end.p0(i64 152, ptr nonnull %56) #9
  invoke void @__cxa_end_catch()
          to label %597 unwind label %598

597:                                              ; preds = %596, %576, %539
  %.merged = phi { ptr, i32 } [ %.pn213.pn.pn, %539 ], [ %.pn222.pn, %576 ], [ %.pn230.pn, %596 ]
  resume { ptr, i32 } %.merged

598:                                              ; preds = %596, %576
  %599 = landingpad { ptr, i32 }
          catch ptr null
  %600 = extractvalue { ptr, i32 } %599, 0
  call void @__clang_call_terminate(ptr %600) #11
  unreachable

601:                                              ; preds = %556, %538, %507, %493, %366, %322, %198
  unreachable
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare void @_ZN4Glip6CoreGL16HdlTextureFormatC1Eiijjjjjjii(ptr noundef nonnull align 8 dereferenceable(52), i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) unnamed_addr #4

declare noundef zeroext i1 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormateqERKS1_(ptr noundef nonnull align 8 dereferenceable(52), ptr noundef nonnull align 8 dereferenceable(52)) local_unnamed_addr #4

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

declare noundef i64 @_ZNK4Glip6CoreGL24HdlAbstractTextureFormat7getSizeEv(ptr noundef nonnull align 8 dereferenceable(52)) unnamed_addr #4

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

declare noundef nonnull align 8 dereferenceable(52) ptr @_ZN4Glip6CoreGL16HdlTextureFormataSERKNS0_24HdlAbstractTextureFormatE(ptr noundef nonnull align 8 dereferenceable(52), ptr noundef nonnull align 8 dereferenceable(52)) local_unnamed_addr #4

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNSt14numeric_limitsIiE3maxEv() local_unnamed_addr #0 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4Glip12CorePipeline8Pipeline23changeTargetBuffersCellEi(ptr noundef nonnull align 8 dereferenceable(456), i32 noundef) local_unnamed_addr #3 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 = { 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 #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { "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 = { noinline noreturn nounwind uwtable "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nofree nosync nounwind memory(none) }
attributes #8 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind }
attributes #10 = { noreturn }
attributes #11 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"_ZTSN4Glip12CorePipeline8Pipeline9OutputHubE", !7, i64 0, !7, i64 4}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!6, !7, i64 4}
!11 = !{!12, !12, i64 0}
!12 = !{!"vtable pointer", !9, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"any pointer", !8, i64 0}
!15 = !{!7, !7, i64 0}
!16 = !{!17, !7, i64 48}
!17 = !{!"_ZTSN4Glip12CorePipeline8Pipeline9ActionHubE", !18, i64 0, !18, i64 24, !7, i64 48, !7, i64 52}
!18 = !{!"_ZTSSt6vectorIiSaIiEE", !19, i64 0}
!19 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!22 = !{!17, !7, i64 52}
!23 = distinct !{!23, !24}
!24 = !{!"llvm.loop.mustprogress"}
!25 = !{!26, !7, i64 8}
!26 = !{!"_ZTSN4Glip12CorePipeline22AbstractPipelineLayout10ConnectionE", !7, i64 0, !7, i64 4, !7, i64 8, !7, i64 12}
!27 = !{!26, !7, i64 4}
!28 = !{!26, !7, i64 12}
!29 = distinct !{!29, !24}
!30 = distinct !{!30, !24}
!31 = !{!32, !32, i64 0}
!32 = !{!"_ZTSN4Glip9Exception4TypeE", !8, i64 0}
!33 = distinct !{!33, !24}
!34 = distinct !{!34, !24}
!35 = distinct !{!35, !24}
!36 = !{!26, !7, i64 0}
!37 = distinct !{!37, !24}
!38 = distinct !{!38, !24}
!39 = distinct !{!39, !24}


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