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

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.Glip::Modules::VanillaParserSpace::Element" = type <{ %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::vector", i8, i8, i8, i8, i32, i32, [4 x i8] }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator" = type { i8 }
%"class.Glip::CorePipeline::GeometryModel" = type { ptr, %"class.std::vector.89", %"class.std::vector.89", %"class.std::vector.89", %"class.std::vector.61", i32, i8, i8, i32, i32, i32, i32 }
%"class.std::vector.89" = type { %"struct.std::_Vector_base.90" }
%"struct.std::_Vector_base.90" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.61" = type { %"struct.std::_Vector_base.62" }
%"struct.std::_Vector_base.62" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str.30 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZTIN4Glip9ExceptionE = external constant ptr
@.str.67 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.254 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.257 = external hidden unnamed_addr constant [83 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64)

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

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

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

declare void @__cxa_throw(ptr, ptr, ptr)

declare void @__cxa_free_exception(ptr)

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef) #2 align 2

declare void @_ZN4Glip7Modules18VanillaParserSpace7ElementC1Ev(ptr noundef nonnull align 8 dereferenceable(164)) unnamed_addr #4

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

declare void @_ZN4Glip6CoreGL13getGLEnumNameB5cxx11ERKj(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(4)) #4

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Glip7Modules12LayoutWriter5writeERKNS_12CorePipeline13GeometryModelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind noalias writable sret(%"struct.Glip::Modules::VanillaParserSpace::Element") align 8 %0, ptr noundef nonnull align 8 dereferenceable(128) %1, ptr noundef nonnull align 8 dereferenceable(32) %2) #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca i32, align 4
  %16 = alloca i1, align 1
  %17 = alloca i1, align 1
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %22 = alloca float, align 4
  %23 = alloca float, align 4
  %24 = alloca i32, align 4
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca float, align 4
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca float, align 4
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::allocator", align 1
  %31 = alloca float, align 4
  %32 = alloca float, align 4
  %33 = alloca float, align 4
  %34 = alloca i32, align 4
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca float, align 4
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca float, align 4
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca float, align 4
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator", align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator", align 1
  %48 = alloca %"struct.Glip::Modules::VanillaParserSpace::Element", align 8
  %49 = alloca i32, align 4
  %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", align 1
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator", align 1
  %57 = alloca i32, align 4
  %58 = alloca i1, align 1
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"struct.Glip::Modules::VanillaParserSpace::Element", align 8
  %67 = alloca i32, align 4
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  store ptr %0, ptr %4, align 8
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  %74 = load ptr, ptr %6, align 8, !tbaa !5
  %75 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  br i1 %75, label %76, label %117

76:                                               ; preds = %3
  store i1 true, ptr %16, align 1
  %77 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #7
  %78 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 19)
          to label %79 unwind label %85

79:                                               ; preds = %76
  call void @llvm.lifetime.start.p0(i64 1, ptr %12) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef %78, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %80 unwind label %89

80:                                               ; preds = %79
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef @.str.253, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %81 unwind label %93

81:                                               ; preds = %80
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef @.str.254)
          to label %82 unwind label %97

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

83:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #7
  store i32 2, ptr %15, align 4, !tbaa !9
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %77, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef %13, i32 noundef 2834, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %84 unwind label %105

84:                                               ; preds = %83
  store i1 false, ptr %16, align 1
  invoke void @__cxa_throw(ptr %77, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #8
          to label %835 unwind label %105

85:                                               ; preds = %76
  %86 = landingpad { ptr, i32 }
          cleanup
  %87 = extractvalue { ptr, i32 } %86, 0
  store ptr %87, ptr %10, align 8
  %88 = extractvalue { ptr, i32 } %86, 1
  store i32 %88, ptr %11, align 4
  br label %113

89:                                               ; preds = %79
  %90 = landingpad { ptr, i32 }
          cleanup
  %91 = extractvalue { ptr, i32 } %90, 0
  store ptr %91, ptr %10, align 8
  %92 = extractvalue { ptr, i32 } %90, 1
  store i32 %92, ptr %11, align 4
  br label %112

93:                                               ; preds = %80
  %94 = landingpad { ptr, i32 }
          cleanup
  %95 = extractvalue { ptr, i32 } %94, 0
  store ptr %95, ptr %10, align 8
  %96 = extractvalue { ptr, i32 } %94, 1
  store i32 %96, ptr %11, align 4
  br label %111

97:                                               ; preds = %81
  %98 = landingpad { ptr, i32 }
          cleanup
  %99 = extractvalue { ptr, i32 } %98, 0
  store ptr %99, ptr %10, align 8
  %100 = extractvalue { ptr, i32 } %98, 1
  store i32 %100, ptr %11, align 4
  br label %110

101:                                              ; preds = %82
  %102 = landingpad { ptr, i32 }
          cleanup
  %103 = extractvalue { ptr, i32 } %102, 0
  store ptr %103, ptr %10, align 8
  %104 = extractvalue { ptr, i32 } %102, 1
  store i32 %104, ptr %11, align 4
  br label %109

105:                                              ; preds = %84, %83
  %106 = landingpad { ptr, i32 }
          cleanup
  %107 = extractvalue { ptr, i32 } %106, 0
  store ptr %107, ptr %10, align 8
  %108 = extractvalue { ptr, i32 } %106, 1
  store i32 %108, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %109

109:                                              ; preds = %105, %101
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %110

110:                                              ; preds = %109, %97
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br label %111

111:                                              ; preds = %110, %93
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %112

112:                                              ; preds = %111, %89
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #7
  br label %113

113:                                              ; preds = %112, %85
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #7
  %114 = load i1, ptr %16, align 1
  br i1 %114, label %115, label %116

115:                                              ; preds = %113
  call void @__cxa_free_exception(ptr %77) #7
  br label %116

116:                                              ; preds = %115, %113
  br label %830

117:                                              ; preds = %3
  store i1 false, ptr %17, align 1
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementC1Ev(ptr noundef nonnull align 8 dereferenceable(164) %0)
  %118 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 19)
          to label %119 unwind label %138

119:                                              ; preds = %117
  %120 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 1
  %121 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef %118)
          to label %122 unwind label %138

122:                                              ; preds = %119
  %123 = load ptr, ptr %6, align 8, !tbaa !5
  %124 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 2
  %125 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %126 unwind label %138

126:                                              ; preds = %122
  %127 = load ptr, ptr %5, align 8, !tbaa !5
  %128 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %127, i32 0, i32 5
  %129 = load i32, ptr %128, align 8, !tbaa !11
  %130 = icmp eq i32 %129, 1
  br i1 %130, label %131, label %156

131:                                              ; preds = %126
  %132 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #7
  %133 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 23)
          to label %134 unwind label %142

134:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef %133, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %135 unwind label %146

135:                                              ; preds = %134
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %132, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %136 unwind label %150

136:                                              ; preds = %135
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #7
  %137 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 7
  store i8 1, ptr %137, align 2, !tbaa !24
  br label %825

138:                                              ; preds = %122, %119, %117
  %139 = landingpad { ptr, i32 }
          cleanup
  %140 = extractvalue { ptr, i32 } %139, 0
  store ptr %140, ptr %10, align 8
  %141 = extractvalue { ptr, i32 } %139, 1
  store i32 %141, ptr %11, align 4
  br label %829

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

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

150:                                              ; preds = %135
  %151 = landingpad { ptr, i32 }
          cleanup
  %152 = extractvalue { ptr, i32 } %151, 0
  store ptr %152, ptr %10, align 8
  %153 = extractvalue { ptr, i32 } %151, 1
  store i32 %153, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %154

154:                                              ; preds = %150, %146
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  br label %155

155:                                              ; preds = %154, %142
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #7
  br label %829

156:                                              ; preds = %126
  %157 = load ptr, ptr %5, align 8, !tbaa !5
  %158 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %157, i32 0, i32 5
  %159 = load i32, ptr %158, align 8, !tbaa !11
  %160 = icmp eq i32 %159, 3
  br i1 %160, label %161, label %240

161:                                              ; preds = %156
  %162 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #7
  %163 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 20)
          to label %164 unwind label %174

164:                                              ; preds = %161
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %163, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %165 unwind label %178

165:                                              ; preds = %164
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %162, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %166 unwind label %182

166:                                              ; preds = %165
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #7
  store float 0.000000e+00, ptr %22, align 4, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #7
  store float 0.000000e+00, ptr %23, align 4, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #7
  store i32 0, ptr %24, align 4, !tbaa !35
  br label %167

167:                                              ; preds = %207, %166
  %168 = load i32, ptr %24, align 4, !tbaa !35
  %169 = load ptr, ptr %5, align 8, !tbaa !5
  %170 = invoke noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumVerticesEv(ptr noundef nonnull align 8 dereferenceable(128) %169)
          to label %171 unwind label %188

171:                                              ; preds = %167
  %172 = icmp ult i32 %168, %170
  br i1 %172, label %192, label %173

173:                                              ; preds = %171
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #7
  br label %210

174:                                              ; preds = %161
  %175 = landingpad { ptr, i32 }
          cleanup
  %176 = extractvalue { ptr, i32 } %175, 0
  store ptr %176, ptr %10, align 8
  %177 = extractvalue { ptr, i32 } %175, 1
  store i32 %177, ptr %11, align 4
  br label %187

178:                                              ; preds = %164
  %179 = landingpad { ptr, i32 }
          cleanup
  %180 = extractvalue { ptr, i32 } %179, 0
  store ptr %180, ptr %10, align 8
  %181 = extractvalue { ptr, i32 } %179, 1
  store i32 %181, ptr %11, align 4
  br label %186

182:                                              ; preds = %165
  %183 = landingpad { ptr, i32 }
          cleanup
  %184 = extractvalue { ptr, i32 } %183, 0
  store ptr %184, ptr %10, align 8
  %185 = extractvalue { ptr, i32 } %183, 1
  store i32 %185, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %186

186:                                              ; preds = %182, %178
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #7
  br label %187

187:                                              ; preds = %186, %174
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #7
  br label %829

188:                                              ; preds = %203, %198, %196, %192, %167
  %189 = landingpad { ptr, i32 }
          cleanup
  %190 = extractvalue { ptr, i32 } %189, 0
  store ptr %190, ptr %10, align 8
  %191 = extractvalue { ptr, i32 } %189, 1
  store i32 %191, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #7
  br label %239

192:                                              ; preds = %171
  %193 = load ptr, ptr %5, align 8, !tbaa !5
  %194 = load i32, ptr %24, align 4, !tbaa !35
  %195 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1xEj(ptr noundef nonnull align 8 dereferenceable(128) %193, i32 noundef %194)
          to label %196 unwind label %188

196:                                              ; preds = %192
  %197 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIfERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(4) %195)
          to label %198 unwind label %188

198:                                              ; preds = %196
  %199 = load float, ptr %197, align 4, !tbaa !33
  store float %199, ptr %22, align 4, !tbaa !33
  %200 = load ptr, ptr %5, align 8, !tbaa !5
  %201 = load i32, ptr %24, align 4, !tbaa !35
  %202 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1yEj(ptr noundef nonnull align 8 dereferenceable(128) %200, i32 noundef %201)
          to label %203 unwind label %188

203:                                              ; preds = %198
  %204 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIfERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(4) %202)
          to label %205 unwind label %188

205:                                              ; preds = %203
  %206 = load float, ptr %204, align 4, !tbaa !33
  store float %206, ptr %23, align 4, !tbaa !33
  br label %207

207:                                              ; preds = %205
  %208 = load i32, ptr %24, align 4, !tbaa !35
  %209 = add i32 %208, 1
  store i32 %209, ptr %24, align 4, !tbaa !35
  br label %167, !llvm.loop !36

210:                                              ; preds = %173
  %211 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #7
  %212 = load float, ptr %22, align 4, !tbaa !33
  %213 = fadd float %212, 1.000000e+00
  store float %213, ptr %26, align 4, !tbaa !33
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 4 dereferenceable(4) %26)
          to label %214 unwind label %221

214:                                              ; preds = %210
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %211, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %215 unwind label %225

215:                                              ; preds = %214
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #7
  %216 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  %217 = load float, ptr %23, align 4, !tbaa !33
  %218 = fadd float %217, 1.000000e+00
  store float %218, ptr %28, align 4, !tbaa !33
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 4 dereferenceable(4) %28)
          to label %219 unwind label %230

219:                                              ; preds = %215
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %216, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %220 unwind label %234

220:                                              ; preds = %219
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  br label %824

221:                                              ; preds = %210
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %10, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %11, align 4
  br label %229

225:                                              ; preds = %214
  %226 = landingpad { ptr, i32 }
          cleanup
  %227 = extractvalue { ptr, i32 } %226, 0
  store ptr %227, ptr %10, align 8
  %228 = extractvalue { ptr, i32 } %226, 1
  store i32 %228, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %229

229:                                              ; preds = %225, %221
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #7
  br label %239

230:                                              ; preds = %215
  %231 = landingpad { ptr, i32 }
          cleanup
  %232 = extractvalue { ptr, i32 } %231, 0
  store ptr %232, ptr %10, align 8
  %233 = extractvalue { ptr, i32 } %231, 1
  store i32 %233, ptr %11, align 4
  br label %238

234:                                              ; preds = %219
  %235 = landingpad { ptr, i32 }
          cleanup
  %236 = extractvalue { ptr, i32 } %235, 0
  store ptr %236, ptr %10, align 8
  %237 = extractvalue { ptr, i32 } %235, 1
  store i32 %237, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %238

238:                                              ; preds = %234, %230
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #7
  br label %239

239:                                              ; preds = %238, %229, %188
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  br label %829

240:                                              ; preds = %156
  %241 = load ptr, ptr %5, align 8, !tbaa !5
  %242 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %241, i32 0, i32 5
  %243 = load i32, ptr %242, align 8, !tbaa !11
  %244 = icmp eq i32 %243, 4
  br i1 %244, label %245, label %345

245:                                              ; preds = %240
  %246 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #7
  %247 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 21)
          to label %248 unwind label %258

248:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef %247, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %249 unwind label %262

249:                                              ; preds = %248
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %246, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %250 unwind label %266

250:                                              ; preds = %249
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #7
  store float 0.000000e+00, ptr %31, align 4, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #7
  store float 0.000000e+00, ptr %32, align 4, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #7
  store float 0.000000e+00, ptr %33, align 4, !tbaa !33
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #7
  store i32 0, ptr %34, align 4, !tbaa !35
  br label %251

251:                                              ; preds = %298, %250
  %252 = load i32, ptr %34, align 4, !tbaa !35
  %253 = load ptr, ptr %5, align 8, !tbaa !5
  %254 = invoke noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumVerticesEv(ptr noundef nonnull align 8 dereferenceable(128) %253)
          to label %255 unwind label %272

255:                                              ; preds = %251
  %256 = icmp ult i32 %252, %254
  br i1 %256, label %276, label %257

257:                                              ; preds = %255
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #7
  br label %301

258:                                              ; preds = %245
  %259 = landingpad { ptr, i32 }
          cleanup
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %10, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %11, align 4
  br label %271

262:                                              ; preds = %248
  %263 = landingpad { ptr, i32 }
          cleanup
  %264 = extractvalue { ptr, i32 } %263, 0
  store ptr %264, ptr %10, align 8
  %265 = extractvalue { ptr, i32 } %263, 1
  store i32 %265, ptr %11, align 4
  br label %270

266:                                              ; preds = %249
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %10, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %270

270:                                              ; preds = %266, %262
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #7
  br label %271

271:                                              ; preds = %270, %258
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #7
  br label %829

272:                                              ; preds = %294, %289, %287, %282, %280, %276, %251
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %10, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #7
  br label %344

276:                                              ; preds = %255
  %277 = load ptr, ptr %5, align 8, !tbaa !5
  %278 = load i32, ptr %34, align 4, !tbaa !35
  %279 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1xEj(ptr noundef nonnull align 8 dereferenceable(128) %277, i32 noundef %278)
          to label %280 unwind label %272

280:                                              ; preds = %276
  %281 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIfERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %31, ptr noundef nonnull align 4 dereferenceable(4) %279)
          to label %282 unwind label %272

282:                                              ; preds = %280
  %283 = load float, ptr %281, align 4, !tbaa !33
  store float %283, ptr %31, align 4, !tbaa !33
  %284 = load ptr, ptr %5, align 8, !tbaa !5
  %285 = load i32, ptr %34, align 4, !tbaa !35
  %286 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1yEj(ptr noundef nonnull align 8 dereferenceable(128) %284, i32 noundef %285)
          to label %287 unwind label %272

287:                                              ; preds = %282
  %288 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIfERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %32, ptr noundef nonnull align 4 dereferenceable(4) %286)
          to label %289 unwind label %272

289:                                              ; preds = %287
  %290 = load float, ptr %288, align 4, !tbaa !33
  store float %290, ptr %32, align 4, !tbaa !33
  %291 = load ptr, ptr %5, align 8, !tbaa !5
  %292 = load i32, ptr %34, align 4, !tbaa !35
  %293 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1zEj(ptr noundef nonnull align 8 dereferenceable(128) %291, i32 noundef %292)
          to label %294 unwind label %272

294:                                              ; preds = %289
  %295 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIfERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %33, ptr noundef nonnull align 4 dereferenceable(4) %293)
          to label %296 unwind label %272

296:                                              ; preds = %294
  %297 = load float, ptr %295, align 4, !tbaa !33
  store float %297, ptr %33, align 4, !tbaa !33
  br label %298

298:                                              ; preds = %296
  %299 = load i32, ptr %34, align 4, !tbaa !35
  %300 = add i32 %299, 1
  store i32 %300, ptr %34, align 4, !tbaa !35
  br label %251, !llvm.loop !38

301:                                              ; preds = %257
  %302 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #7
  %303 = load float, ptr %31, align 4, !tbaa !33
  %304 = fadd float %303, 1.000000e+00
  store float %304, ptr %36, align 4, !tbaa !33
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %305 unwind label %317

305:                                              ; preds = %301
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %302, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %306 unwind label %321

306:                                              ; preds = %305
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #7
  %307 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #7
  %308 = load float, ptr %32, align 4, !tbaa !33
  %309 = fadd float %308, 1.000000e+00
  store float %309, ptr %38, align 4, !tbaa !33
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 4 dereferenceable(4) %38)
          to label %310 unwind label %326

310:                                              ; preds = %306
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %307, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %311 unwind label %330

311:                                              ; preds = %310
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #7
  %312 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #7
  %313 = load float, ptr %33, align 4, !tbaa !33
  %314 = fadd float %313, 1.000000e+00
  store float %314, ptr %40, align 4, !tbaa !33
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 4 dereferenceable(4) %40)
          to label %315 unwind label %335

315:                                              ; preds = %311
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %312, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %316 unwind label %339

316:                                              ; preds = %315
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #7
  br label %823

317:                                              ; preds = %301
  %318 = landingpad { ptr, i32 }
          cleanup
  %319 = extractvalue { ptr, i32 } %318, 0
  store ptr %319, ptr %10, align 8
  %320 = extractvalue { ptr, i32 } %318, 1
  store i32 %320, ptr %11, align 4
  br label %325

321:                                              ; preds = %305
  %322 = landingpad { ptr, i32 }
          cleanup
  %323 = extractvalue { ptr, i32 } %322, 0
  store ptr %323, ptr %10, align 8
  %324 = extractvalue { ptr, i32 } %322, 1
  store i32 %324, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %325

325:                                              ; preds = %321, %317
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #7
  br label %344

326:                                              ; preds = %306
  %327 = landingpad { ptr, i32 }
          cleanup
  %328 = extractvalue { ptr, i32 } %327, 0
  store ptr %328, ptr %10, align 8
  %329 = extractvalue { ptr, i32 } %327, 1
  store i32 %329, ptr %11, align 4
  br label %334

330:                                              ; preds = %310
  %331 = landingpad { ptr, i32 }
          cleanup
  %332 = extractvalue { ptr, i32 } %331, 0
  store ptr %332, ptr %10, align 8
  %333 = extractvalue { ptr, i32 } %331, 1
  store i32 %333, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %334

334:                                              ; preds = %330, %326
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #7
  br label %344

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

339:                                              ; preds = %315
  %340 = landingpad { ptr, i32 }
          cleanup
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %10, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %343

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

344:                                              ; preds = %343, %334, %325, %272
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #7
  br label %829

345:                                              ; preds = %240
  %346 = load ptr, ptr %5, align 8, !tbaa !5
  %347 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %346, i32 0, i32 5
  %348 = load i32, ptr %347, align 8, !tbaa !11
  %349 = icmp eq i32 %348, 0
  br i1 %349, label %350, label %822

350:                                              ; preds = %345
  %351 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #7
  %352 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 22)
          to label %353 unwind label %406

353:                                              ; preds = %350
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef %352, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %354 unwind label %410

354:                                              ; preds = %353
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %351, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %355 unwind label %414

355:                                              ; preds = %354
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #7
  %356 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #7
  %357 = load ptr, ptr %5, align 8, !tbaa !5
  %358 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %357, i32 0, i32 11
  invoke void @_ZN4Glip6CoreGL13getGLEnumNameB5cxx11ERKj(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 4 dereferenceable(4) %358)
          to label %359 unwind label %420

359:                                              ; preds = %355
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %356, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %360 unwind label %424

360:                                              ; preds = %359
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #7
  %361 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #7
  %362 = load ptr, ptr %5, align 8, !tbaa !5
  %363 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %362, i32 0, i32 6
  %364 = load i8, ptr %363, align 4, !tbaa !39, !range !40, !noundef !41
  %365 = trunc i8 %364 to i1
  br i1 %365, label %366, label %369

366:                                              ; preds = %360
  %367 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 0)
          to label %368 unwind label %429

368:                                              ; preds = %366
  br label %372

369:                                              ; preds = %360
  %370 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 1)
          to label %371 unwind label %429

371:                                              ; preds = %369
  br label %372

372:                                              ; preds = %371, %368
  %373 = phi ptr [ %367, %368 ], [ %370, %371 ]
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef %373, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %374 unwind label %433

374:                                              ; preds = %372
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %361, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %375 unwind label %437

375:                                              ; preds = %374
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #7
  %376 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #7
  %377 = load ptr, ptr %5, align 8, !tbaa !5
  %378 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %377, i32 0, i32 7
  %379 = load i8, ptr %378, align 1, !tbaa !42, !range !40, !noundef !41
  %380 = trunc i8 %379 to i1
  br i1 %380, label %381, label %384

381:                                              ; preds = %375
  %382 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 0)
          to label %383 unwind label %443

383:                                              ; preds = %381
  br label %387

384:                                              ; preds = %375
  %385 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 1)
          to label %386 unwind label %443

386:                                              ; preds = %384
  br label %387

387:                                              ; preds = %386, %383
  %388 = phi ptr [ %382, %383 ], [ %385, %386 ]
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef %388, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %389 unwind label %447

389:                                              ; preds = %387
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %376, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %390 unwind label %451

390:                                              ; preds = %389
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 168, ptr %48) #7
  invoke void @_ZN4Glip7Modules18VanillaParserSpace7ElementC1Ev(ptr noundef nonnull align 8 dereferenceable(164) %48)
          to label %391 unwind label %457

391:                                              ; preds = %390
  %392 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 24)
          to label %393 unwind label %461

393:                                              ; preds = %391
  %394 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 1
  %395 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %394, ptr noundef %392)
          to label %396 unwind label %461

396:                                              ; preds = %393
  %397 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 5
  store i8 1, ptr %397, align 8, !tbaa !43
  %398 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 7
  store i8 1, ptr %398, align 2, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #7
  store i32 0, ptr %49, align 4, !tbaa !35
  br label %399

399:                                              ; preds = %655, %396
  %400 = load i32, ptr %49, align 4, !tbaa !35
  %401 = load ptr, ptr %5, align 8, !tbaa !5
  %402 = invoke noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumVerticesEv(ptr noundef nonnull align 8 dereferenceable(128) %401)
          to label %403 unwind label %465

403:                                              ; preds = %399
  %404 = icmp ult i32 %400, %402
  br i1 %404, label %469, label %405

405:                                              ; preds = %403
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #7
  br label %673

406:                                              ; preds = %350
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %10, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %11, align 4
  br label %419

410:                                              ; preds = %353
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %10, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %11, align 4
  br label %418

414:                                              ; preds = %354
  %415 = landingpad { ptr, i32 }
          cleanup
  %416 = extractvalue { ptr, i32 } %415, 0
  store ptr %416, ptr %10, align 8
  %417 = extractvalue { ptr, i32 } %415, 1
  store i32 %417, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %418

418:                                              ; preds = %414, %410
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #7
  br label %419

419:                                              ; preds = %418, %406
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #7
  br label %829

420:                                              ; preds = %355
  %421 = landingpad { ptr, i32 }
          cleanup
  %422 = extractvalue { ptr, i32 } %421, 0
  store ptr %422, ptr %10, align 8
  %423 = extractvalue { ptr, i32 } %421, 1
  store i32 %423, ptr %11, align 4
  br label %428

424:                                              ; preds = %359
  %425 = landingpad { ptr, i32 }
          cleanup
  %426 = extractvalue { ptr, i32 } %425, 0
  store ptr %426, ptr %10, align 8
  %427 = extractvalue { ptr, i32 } %425, 1
  store i32 %427, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %428

428:                                              ; preds = %424, %420
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #7
  br label %829

429:                                              ; preds = %369, %366
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %10, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %11, align 4
  br label %442

433:                                              ; preds = %372
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %10, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %11, align 4
  br label %441

437:                                              ; preds = %374
  %438 = landingpad { ptr, i32 }
          cleanup
  %439 = extractvalue { ptr, i32 } %438, 0
  store ptr %439, ptr %10, align 8
  %440 = extractvalue { ptr, i32 } %438, 1
  store i32 %440, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %441

441:                                              ; preds = %437, %433
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #7
  br label %442

442:                                              ; preds = %441, %429
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #7
  br label %829

443:                                              ; preds = %384, %381
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %10, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %11, align 4
  br label %456

447:                                              ; preds = %387
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %10, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, ptr %11, align 4
  br label %455

451:                                              ; preds = %389
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %10, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %455

455:                                              ; preds = %451, %447
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  br label %456

456:                                              ; preds = %455, %443
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #7
  br label %829

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

461:                                              ; preds = %393, %391
  %462 = landingpad { ptr, i32 }
          cleanup
  %463 = extractvalue { ptr, i32 } %462, 0
  store ptr %463, ptr %10, align 8
  %464 = extractvalue { ptr, i32 } %462, 1
  store i32 %464, ptr %11, align 4
  br label %820

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

469:                                              ; preds = %403
  %470 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 4
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %470) #7
  %471 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #7
  %472 = load ptr, ptr %5, align 8, !tbaa !5
  %473 = load i32, ptr %49, align 4, !tbaa !35
  %474 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1xEj(ptr noundef nonnull align 8 dereferenceable(128) %472, i32 noundef %473)
          to label %475 unwind label %497

475:                                              ; preds = %469
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 4 dereferenceable(4) %474)
          to label %476 unwind label %497

476:                                              ; preds = %475
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %471, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %477 unwind label %501

477:                                              ; preds = %476
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #7
  %478 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #7
  %479 = load ptr, ptr %5, align 8, !tbaa !5
  %480 = load i32, ptr %49, align 4, !tbaa !35
  %481 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1yEj(ptr noundef nonnull align 8 dereferenceable(128) %479, i32 noundef %480)
          to label %482 unwind label %506

482:                                              ; preds = %477
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 4 dereferenceable(4) %481)
          to label %483 unwind label %506

483:                                              ; preds = %482
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %478, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %484 unwind label %510

484:                                              ; preds = %483
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #7
  %485 = load ptr, ptr %5, align 8, !tbaa !5
  %486 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %485, i32 0, i32 8
  %487 = load i32, ptr %486, align 8, !tbaa !44
  %488 = icmp sgt i32 %487, 2
  br i1 %488, label %489, label %524

489:                                              ; preds = %484
  %490 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #7
  %491 = load ptr, ptr %5, align 8, !tbaa !5
  %492 = load i32, ptr %49, align 4, !tbaa !35
  %493 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1zEj(ptr noundef nonnull align 8 dereferenceable(128) %491, i32 noundef %492)
          to label %494 unwind label %515

494:                                              ; preds = %489
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 4 dereferenceable(4) %493)
          to label %495 unwind label %515

495:                                              ; preds = %494
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %490, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %496 unwind label %519

496:                                              ; preds = %495
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #7
  br label %557

497:                                              ; preds = %475, %469
  %498 = landingpad { ptr, i32 }
          cleanup
  %499 = extractvalue { ptr, i32 } %498, 0
  store ptr %499, ptr %10, align 8
  %500 = extractvalue { ptr, i32 } %498, 1
  store i32 %500, ptr %11, align 4
  br label %505

501:                                              ; preds = %476
  %502 = landingpad { ptr, i32 }
          cleanup
  %503 = extractvalue { ptr, i32 } %502, 0
  store ptr %503, ptr %10, align 8
  %504 = extractvalue { ptr, i32 } %502, 1
  store i32 %504, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %505

505:                                              ; preds = %501, %497
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #7
  br label %672

506:                                              ; preds = %482, %477
  %507 = landingpad { ptr, i32 }
          cleanup
  %508 = extractvalue { ptr, i32 } %507, 0
  store ptr %508, ptr %10, align 8
  %509 = extractvalue { ptr, i32 } %507, 1
  store i32 %509, ptr %11, align 4
  br label %514

510:                                              ; preds = %483
  %511 = landingpad { ptr, i32 }
          cleanup
  %512 = extractvalue { ptr, i32 } %511, 0
  store ptr %512, ptr %10, align 8
  %513 = extractvalue { ptr, i32 } %511, 1
  store i32 %513, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %514

514:                                              ; preds = %510, %506
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #7
  br label %672

515:                                              ; preds = %494, %489
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %10, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %11, align 4
  br label %523

519:                                              ; preds = %495
  %520 = landingpad { ptr, i32 }
          cleanup
  %521 = extractvalue { ptr, i32 } %520, 0
  store ptr %521, ptr %10, align 8
  %522 = extractvalue { ptr, i32 } %520, 1
  store i32 %522, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %523

523:                                              ; preds = %519, %515
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #7
  br label %672

524:                                              ; preds = %484
  %525 = load ptr, ptr %5, align 8, !tbaa !5
  %526 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %525, i32 0, i32 8
  %527 = load i32, ptr %526, align 8, !tbaa !44
  %528 = icmp ne i32 %527, 2
  br i1 %528, label %529, label %556

529:                                              ; preds = %524
  %530 = load ptr, ptr %5, align 8, !tbaa !5
  %531 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %530, i32 0, i32 8
  %532 = load i32, ptr %531, align 8, !tbaa !44
  %533 = icmp ne i32 %532, 3
  br i1 %533, label %534, label %556

534:                                              ; preds = %529
  store i1 true, ptr %58, align 1
  %535 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.257, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %536 unwind label %539

536:                                              ; preds = %534
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %537 unwind label %543

537:                                              ; preds = %536
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #7
  store i32 2, ptr %57, align 4, !tbaa !9
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %535, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef %55, i32 noundef 2901, ptr noundef nonnull align 4 dereferenceable(4) %57)
          to label %538 unwind label %547

538:                                              ; preds = %537
  store i1 false, ptr %58, align 1
  invoke void @__cxa_throw(ptr %535, ptr @_ZTIN4Glip9ExceptionE, ptr @_ZN4Glip9ExceptionD1Ev) #8
          to label %835 unwind label %547

539:                                              ; preds = %534
  %540 = landingpad { ptr, i32 }
          cleanup
  %541 = extractvalue { ptr, i32 } %540, 0
  store ptr %541, ptr %10, align 8
  %542 = extractvalue { ptr, i32 } %540, 1
  store i32 %542, ptr %11, align 4
  br label %552

543:                                              ; preds = %536
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %10, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %11, align 4
  br label %551

547:                                              ; preds = %538, %537
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %10, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %551

551:                                              ; preds = %547, %543
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %552

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

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

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

556:                                              ; preds = %529, %524
  br label %557

557:                                              ; preds = %556, %496
  %558 = load ptr, ptr %5, align 8, !tbaa !5
  %559 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %558, i32 0, i32 6
  %560 = load i8, ptr %559, align 4, !tbaa !39, !range !40, !noundef !41
  %561 = trunc i8 %560 to i1
  br i1 %561, label %562, label %611

562:                                              ; preds = %557
  %563 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #7
  %564 = load ptr, ptr %5, align 8, !tbaa !5
  %565 = load i32, ptr %49, align 4, !tbaa !35
  %566 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nxEj(ptr noundef nonnull align 8 dereferenceable(128) %564, i32 noundef %565)
          to label %567 unwind label %584

567:                                              ; preds = %562
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 4 dereferenceable(4) %566)
          to label %568 unwind label %584

568:                                              ; preds = %567
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %563, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %569 unwind label %588

569:                                              ; preds = %568
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #7
  %570 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #7
  %571 = load ptr, ptr %5, align 8, !tbaa !5
  %572 = load i32, ptr %49, align 4, !tbaa !35
  %573 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nyEj(ptr noundef nonnull align 8 dereferenceable(128) %571, i32 noundef %572)
          to label %574 unwind label %593

574:                                              ; preds = %569
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 4 dereferenceable(4) %573)
          to label %575 unwind label %593

575:                                              ; preds = %574
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %570, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %576 unwind label %597

576:                                              ; preds = %575
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #7
  %577 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #7
  %578 = load ptr, ptr %5, align 8, !tbaa !5
  %579 = load i32, ptr %49, align 4, !tbaa !35
  %580 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nzEj(ptr noundef nonnull align 8 dereferenceable(128) %578, i32 noundef %579)
          to label %581 unwind label %602

581:                                              ; preds = %576
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 4 dereferenceable(4) %580)
          to label %582 unwind label %602

582:                                              ; preds = %581
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %577, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %583 unwind label %606

583:                                              ; preds = %582
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #7
  br label %611

584:                                              ; preds = %567, %562
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %10, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %11, align 4
  br label %592

588:                                              ; preds = %568
  %589 = landingpad { ptr, i32 }
          cleanup
  %590 = extractvalue { ptr, i32 } %589, 0
  store ptr %590, ptr %10, align 8
  %591 = extractvalue { ptr, i32 } %589, 1
  store i32 %591, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %592

592:                                              ; preds = %588, %584
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #7
  br label %672

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

597:                                              ; preds = %575
  %598 = landingpad { ptr, i32 }
          cleanup
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %10, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %601

601:                                              ; preds = %597, %593
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #7
  br label %672

602:                                              ; preds = %581, %576
  %603 = landingpad { ptr, i32 }
          cleanup
  %604 = extractvalue { ptr, i32 } %603, 0
  store ptr %604, ptr %10, align 8
  %605 = extractvalue { ptr, i32 } %603, 1
  store i32 %605, ptr %11, align 4
  br label %610

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

610:                                              ; preds = %606, %602
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #7
  br label %672

611:                                              ; preds = %583, %557
  %612 = load ptr, ptr %5, align 8, !tbaa !5
  %613 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %612, i32 0, i32 7
  %614 = load i8, ptr %613, align 1, !tbaa !42, !range !40, !noundef !41
  %615 = trunc i8 %614 to i1
  br i1 %615, label %616, label %649

616:                                              ; preds = %611
  %617 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #7
  %618 = load ptr, ptr %5, align 8, !tbaa !5
  %619 = load i32, ptr %49, align 4, !tbaa !35
  %620 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1uEj(ptr noundef nonnull align 8 dereferenceable(128) %618, i32 noundef %619)
          to label %621 unwind label %631

621:                                              ; preds = %616
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 4 dereferenceable(4) %620)
          to label %622 unwind label %631

622:                                              ; preds = %621
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %617, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %623 unwind label %635

623:                                              ; preds = %622
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  %624 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %48, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #7
  %625 = load ptr, ptr %5, align 8, !tbaa !5
  %626 = load i32, ptr %49, align 4, !tbaa !35
  %627 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1vEj(ptr noundef nonnull align 8 dereferenceable(128) %625, i32 noundef %626)
          to label %628 unwind label %640

628:                                              ; preds = %623
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 4 dereferenceable(4) %627)
          to label %629 unwind label %640

629:                                              ; preds = %628
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %624, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %630 unwind label %644

630:                                              ; preds = %629
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #7
  br label %649

631:                                              ; preds = %621, %616
  %632 = landingpad { ptr, i32 }
          cleanup
  %633 = extractvalue { ptr, i32 } %632, 0
  store ptr %633, ptr %10, align 8
  %634 = extractvalue { ptr, i32 } %632, 1
  store i32 %634, ptr %11, align 4
  br label %639

635:                                              ; preds = %622
  %636 = landingpad { ptr, i32 }
          cleanup
  %637 = extractvalue { ptr, i32 } %636, 0
  store ptr %637, ptr %10, align 8
  %638 = extractvalue { ptr, i32 } %636, 1
  store i32 %638, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  br label %639

639:                                              ; preds = %635, %631
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #7
  br label %672

640:                                              ; preds = %628, %623
  %641 = landingpad { ptr, i32 }
          cleanup
  %642 = extractvalue { ptr, i32 } %641, 0
  store ptr %642, ptr %10, align 8
  %643 = extractvalue { ptr, i32 } %641, 1
  store i32 %643, ptr %11, align 4
  br label %648

644:                                              ; preds = %629
  %645 = landingpad { ptr, i32 }
          cleanup
  %646 = extractvalue { ptr, i32 } %645, 0
  store ptr %646, ptr %10, align 8
  %647 = extractvalue { ptr, i32 } %645, 1
  store i32 %647, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  br label %648

648:                                              ; preds = %644, %640
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #7
  br label %672

649:                                              ; preds = %630, %611
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #7
  invoke void @_ZNK4Glip7Modules18VanillaParserSpace7Element7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull align 8 dereferenceable(164) %48)
          to label %650 unwind label %658

650:                                              ; preds = %649
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef @.str.30)
          to label %651 unwind label %662

651:                                              ; preds = %650
  %652 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 3
  %653 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %652, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %654 unwind label %666

654:                                              ; preds = %651
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #7
  br label %655

655:                                              ; preds = %654
  %656 = load i32, ptr %49, align 4, !tbaa !35
  %657 = add i32 %656, 1
  store i32 %657, ptr %49, align 4, !tbaa !35
  br label %399, !llvm.loop !45

658:                                              ; preds = %649
  %659 = landingpad { ptr, i32 }
          cleanup
  %660 = extractvalue { ptr, i32 } %659, 0
  store ptr %660, ptr %10, align 8
  %661 = extractvalue { ptr, i32 } %659, 1
  store i32 %661, ptr %11, align 4
  br label %671

662:                                              ; preds = %650
  %663 = landingpad { ptr, i32 }
          cleanup
  %664 = extractvalue { ptr, i32 } %663, 0
  store ptr %664, ptr %10, align 8
  %665 = extractvalue { ptr, i32 } %663, 1
  store i32 %665, ptr %11, align 4
  br label %670

666:                                              ; preds = %651
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %10, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #7
  br label %670

670:                                              ; preds = %666, %662
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #7
  br label %671

671:                                              ; preds = %670, %658
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #7
  br label %672

672:                                              ; preds = %671, %648, %639, %610, %601, %592, %555, %523, %514, %505, %465
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #7
  br label %820

673:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 168, ptr %66) #7
  invoke void @_ZN4Glip7Modules18VanillaParserSpace7ElementC1Ev(ptr noundef nonnull align 8 dereferenceable(164) %66)
          to label %674 unwind label %692

674:                                              ; preds = %673
  %675 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 25)
          to label %676 unwind label %696

676:                                              ; preds = %674
  %677 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %66, i32 0, i32 1
  %678 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %677, ptr noundef %675)
          to label %679 unwind label %696

679:                                              ; preds = %676
  %680 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %66, i32 0, i32 5
  store i8 1, ptr %680, align 8, !tbaa !43
  %681 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %66, i32 0, i32 7
  store i8 1, ptr %681, align 2, !tbaa !24
  %682 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 3
  %683 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %682, ptr noundef @.str.30)
          to label %684 unwind label %696

684:                                              ; preds = %679
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #7
  store i32 0, ptr %67, align 4, !tbaa !35
  br label %685

685:                                              ; preds = %799, %684
  %686 = load i32, ptr %67, align 4, !tbaa !35
  %687 = load ptr, ptr %5, align 8, !tbaa !5
  %688 = invoke noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumElementsEv(ptr noundef nonnull align 8 dereferenceable(128) %687)
          to label %689 unwind label %700

689:                                              ; preds = %685
  %690 = icmp ult i32 %686, %688
  br i1 %690, label %704, label %691

691:                                              ; preds = %689
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #7
  br label %817

692:                                              ; preds = %673
  %693 = landingpad { ptr, i32 }
          cleanup
  %694 = extractvalue { ptr, i32 } %693, 0
  store ptr %694, ptr %10, align 8
  %695 = extractvalue { ptr, i32 } %693, 1
  store i32 %695, ptr %11, align 4
  br label %819

696:                                              ; preds = %679, %676, %674
  %697 = landingpad { ptr, i32 }
          cleanup
  %698 = extractvalue { ptr, i32 } %697, 0
  store ptr %698, ptr %10, align 8
  %699 = extractvalue { ptr, i32 } %697, 1
  store i32 %699, ptr %11, align 4
  br label %818

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

704:                                              ; preds = %689
  %705 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %66, i32 0, i32 4
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %705) #7
  %706 = load ptr, ptr %5, align 8, !tbaa !5
  %707 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %706, i32 0, i32 9
  %708 = load i32, ptr %707, align 4, !tbaa !46
  %709 = icmp sge i32 %708, 1
  br i1 %709, label %710, label %727

710:                                              ; preds = %704
  %711 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %66, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #7
  %712 = load ptr, ptr %5, align 8, !tbaa !5
  %713 = load i32, ptr %67, align 4, !tbaa !35
  %714 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1aEj(ptr noundef nonnull align 8 dereferenceable(128) %712, i32 noundef %713)
          to label %715 unwind label %718

715:                                              ; preds = %710
  invoke void @_ZN4Glip8toStringIjEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %68, ptr noundef nonnull align 4 dereferenceable(4) %714)
          to label %716 unwind label %718

716:                                              ; preds = %715
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %711, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %717 unwind label %722

717:                                              ; preds = %716
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #7
  br label %727

718:                                              ; preds = %715, %710
  %719 = landingpad { ptr, i32 }
          cleanup
  %720 = extractvalue { ptr, i32 } %719, 0
  store ptr %720, ptr %10, align 8
  %721 = extractvalue { ptr, i32 } %719, 1
  store i32 %721, ptr %11, align 4
  br label %726

722:                                              ; preds = %716
  %723 = landingpad { ptr, i32 }
          cleanup
  %724 = extractvalue { ptr, i32 } %723, 0
  store ptr %724, ptr %10, align 8
  %725 = extractvalue { ptr, i32 } %723, 1
  store i32 %725, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %726

726:                                              ; preds = %722, %718
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #7
  br label %816

727:                                              ; preds = %717, %704
  %728 = load ptr, ptr %5, align 8, !tbaa !5
  %729 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %728, i32 0, i32 9
  %730 = load i32, ptr %729, align 4, !tbaa !46
  %731 = icmp sge i32 %730, 2
  br i1 %731, label %732, label %749

732:                                              ; preds = %727
  %733 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %66, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #7
  %734 = load ptr, ptr %5, align 8, !tbaa !5
  %735 = load i32, ptr %67, align 4, !tbaa !35
  %736 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1bEj(ptr noundef nonnull align 8 dereferenceable(128) %734, i32 noundef %735)
          to label %737 unwind label %740

737:                                              ; preds = %732
  invoke void @_ZN4Glip8toStringIjEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 4 dereferenceable(4) %736)
          to label %738 unwind label %740

738:                                              ; preds = %737
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %733, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %739 unwind label %744

739:                                              ; preds = %738
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #7
  br label %749

740:                                              ; preds = %737, %732
  %741 = landingpad { ptr, i32 }
          cleanup
  %742 = extractvalue { ptr, i32 } %741, 0
  store ptr %742, ptr %10, align 8
  %743 = extractvalue { ptr, i32 } %741, 1
  store i32 %743, ptr %11, align 4
  br label %748

744:                                              ; preds = %738
  %745 = landingpad { ptr, i32 }
          cleanup
  %746 = extractvalue { ptr, i32 } %745, 0
  store ptr %746, ptr %10, align 8
  %747 = extractvalue { ptr, i32 } %745, 1
  store i32 %747, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %748

748:                                              ; preds = %744, %740
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #7
  br label %816

749:                                              ; preds = %739, %727
  %750 = load ptr, ptr %5, align 8, !tbaa !5
  %751 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %750, i32 0, i32 9
  %752 = load i32, ptr %751, align 4, !tbaa !46
  %753 = icmp sge i32 %752, 3
  br i1 %753, label %754, label %771

754:                                              ; preds = %749
  %755 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %66, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #7
  %756 = load ptr, ptr %5, align 8, !tbaa !5
  %757 = load i32, ptr %67, align 4, !tbaa !35
  %758 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1cEj(ptr noundef nonnull align 8 dereferenceable(128) %756, i32 noundef %757)
          to label %759 unwind label %762

759:                                              ; preds = %754
  invoke void @_ZN4Glip8toStringIjEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 4 dereferenceable(4) %758)
          to label %760 unwind label %762

760:                                              ; preds = %759
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %755, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %761 unwind label %766

761:                                              ; preds = %760
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  br label %771

762:                                              ; preds = %759, %754
  %763 = landingpad { ptr, i32 }
          cleanup
  %764 = extractvalue { ptr, i32 } %763, 0
  store ptr %764, ptr %10, align 8
  %765 = extractvalue { ptr, i32 } %763, 1
  store i32 %765, ptr %11, align 4
  br label %770

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

770:                                              ; preds = %766, %762
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  br label %816

771:                                              ; preds = %761, %749
  %772 = load ptr, ptr %5, align 8, !tbaa !5
  %773 = getelementptr inbounds %"class.Glip::CorePipeline::GeometryModel", ptr %772, i32 0, i32 9
  %774 = load i32, ptr %773, align 4, !tbaa !46
  %775 = icmp sge i32 %774, 4
  br i1 %775, label %776, label %793

776:                                              ; preds = %771
  %777 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %66, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #7
  %778 = load ptr, ptr %5, align 8, !tbaa !5
  %779 = load i32, ptr %67, align 4, !tbaa !35
  %780 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1dEj(ptr noundef nonnull align 8 dereferenceable(128) %778, i32 noundef %779)
          to label %781 unwind label %784

781:                                              ; preds = %776
  invoke void @_ZN4Glip8toStringIjEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 4 dereferenceable(4) %780)
          to label %782 unwind label %784

782:                                              ; preds = %781
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %777, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %783 unwind label %788

783:                                              ; preds = %782
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #7
  br label %793

784:                                              ; preds = %781, %776
  %785 = landingpad { ptr, i32 }
          cleanup
  %786 = extractvalue { ptr, i32 } %785, 0
  store ptr %786, ptr %10, align 8
  %787 = extractvalue { ptr, i32 } %785, 1
  store i32 %787, ptr %11, align 4
  br label %792

788:                                              ; preds = %782
  %789 = landingpad { ptr, i32 }
          cleanup
  %790 = extractvalue { ptr, i32 } %789, 0
  store ptr %790, ptr %10, align 8
  %791 = extractvalue { ptr, i32 } %789, 1
  store i32 %791, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %792

792:                                              ; preds = %788, %784
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #7
  br label %816

793:                                              ; preds = %783, %771
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #7
  invoke void @_ZNK4Glip7Modules18VanillaParserSpace7Element7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 8 dereferenceable(164) %66)
          to label %794 unwind label %802

794:                                              ; preds = %793
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef @.str.30)
          to label %795 unwind label %806

795:                                              ; preds = %794
  %796 = getelementptr inbounds %"struct.Glip::Modules::VanillaParserSpace::Element", ptr %0, i32 0, i32 3
  %797 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %796, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %798 unwind label %810

798:                                              ; preds = %795
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #7
  br label %799

799:                                              ; preds = %798
  %800 = load i32, ptr %67, align 4, !tbaa !35
  %801 = add i32 %800, 1
  store i32 %801, ptr %67, align 4, !tbaa !35
  br label %685, !llvm.loop !47

802:                                              ; preds = %793
  %803 = landingpad { ptr, i32 }
          cleanup
  %804 = extractvalue { ptr, i32 } %803, 0
  store ptr %804, ptr %10, align 8
  %805 = extractvalue { ptr, i32 } %803, 1
  store i32 %805, ptr %11, align 4
  br label %815

806:                                              ; preds = %794
  %807 = landingpad { ptr, i32 }
          cleanup
  %808 = extractvalue { ptr, i32 } %807, 0
  store ptr %808, ptr %10, align 8
  %809 = extractvalue { ptr, i32 } %807, 1
  store i32 %809, ptr %11, align 4
  br label %814

810:                                              ; preds = %795
  %811 = landingpad { ptr, i32 }
          cleanup
  %812 = extractvalue { ptr, i32 } %811, 0
  store ptr %812, ptr %10, align 8
  %813 = extractvalue { ptr, i32 } %811, 1
  store i32 %813, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  br label %814

814:                                              ; preds = %810, %806
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  br label %815

815:                                              ; preds = %814, %802
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #7
  br label %816

816:                                              ; preds = %815, %792, %770, %748, %726, %700
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #7
  br label %818

817:                                              ; preds = %691
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %66) #7
  call void @llvm.lifetime.end.p0(i64 168, ptr %66) #7
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %48) #7
  call void @llvm.lifetime.end.p0(i64 168, ptr %48) #7
  br label %822

818:                                              ; preds = %816, %696
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %66) #7
  br label %819

819:                                              ; preds = %818, %692
  call void @llvm.lifetime.end.p0(i64 168, ptr %66) #7
  br label %820

820:                                              ; preds = %819, %672, %461
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %48) #7
  br label %821

821:                                              ; preds = %820, %457
  call void @llvm.lifetime.end.p0(i64 168, ptr %48) #7
  br label %829

822:                                              ; preds = %817, %345
  br label %823

823:                                              ; preds = %822, %316
  br label %824

824:                                              ; preds = %823, %220
  br label %825

825:                                              ; preds = %824, %136
  store i1 true, ptr %17, align 1
  %826 = load i1, ptr %17, align 1
  br i1 %826, label %828, label %827

827:                                              ; preds = %825
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %0) #7
  br label %828

828:                                              ; preds = %827, %825
  ret void

829:                                              ; preds = %821, %456, %442, %428, %419, %344, %271, %239, %187, %155, %138
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %0) #7
  br label %830

830:                                              ; preds = %829, %116
  %831 = load ptr, ptr %10, align 8
  %832 = load i32, ptr %11, align 4
  %833 = insertvalue { ptr, i32 } poison, ptr %831, 0
  %834 = insertvalue { ptr, i32 } %833, i32 %832, 1
  resume { ptr, i32 } %834

835:                                              ; preds = %538, %84
  unreachable
}

declare noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumVerticesEv(ptr noundef nonnull align 8 dereferenceable(128)) #4

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1xEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1yEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1zEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nxEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nyEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nzEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1uEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1vEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

declare void @_ZNK4Glip7Modules18VanillaParserSpace7Element7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(164)) #4

declare noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumElementsEv(ptr noundef nonnull align 8 dereferenceable(128)) #4

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1aEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1bEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1cEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1dEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #4

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"_ZTSN4Glip9Exception4TypeE", !7, i64 0}
!11 = !{!12, !21, i64 104}
!12 = !{!"_ZTSN4Glip12CorePipeline13GeometryModelE", !13, i64 8, !13, i64 32, !13, i64 56, !17, i64 80, !21, i64 104, !22, i64 108, !22, i64 109, !23, i64 112, !23, i64 116, !23, i64 120, !23, i64 124}
!13 = !{!"_ZTSSt6vectorIfSaIfEE", !14, i64 0}
!14 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !15, i64 0}
!15 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!17 = !{!"_ZTSSt6vectorIjSaIjEE", !18, i64 0}
!18 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!21 = !{!"_ZTSN4Glip12CorePipeline13GeometryModel12GeometryTypeE", !7, i64 0}
!22 = !{!"bool", !7, i64 0}
!23 = !{!"int", !7, i64 0}
!24 = !{!25, !22, i64 154}
!25 = !{!"_ZTSN4Glip7Modules18VanillaParserSpace7ElementE", !26, i64 0, !26, i64 32, !26, i64 64, !26, i64 96, !29, i64 128, !22, i64 152, !22, i64 153, !22, i64 154, !23, i64 156, !23, i64 160}
!26 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !27, i64 0, !28, i64 8, !7, i64 16}
!27 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!28 = !{!"long", !7, i64 0}
!29 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !30, i64 0}
!30 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!33 = !{!34, !34, i64 0}
!34 = !{!"float", !7, i64 0}
!35 = !{!23, !23, i64 0}
!36 = distinct !{!36, !37}
!37 = !{!"llvm.loop.mustprogress"}
!38 = distinct !{!38, !37}
!39 = !{!12, !22, i64 108}
!40 = !{i8 0, i8 2}
!41 = !{}
!42 = !{!12, !22, i64 109}
!43 = !{!25, !22, i64 152}
!44 = !{!12, !23, i64 112}
!45 = distinct !{!45, !37}
!46 = !{!12, !23, i64 116}
!47 = distinct !{!47, !37}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.Glip::Modules::VanillaParserSpace::Element" = type <{ %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::vector", i8, i8, i8, i8, i32, i32, [4 x i8] }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator" = type { i8 }

@.str.30 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZTIN4Glip9ExceptionE = external constant ptr
@.str.67 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.254 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.257 = external hidden unnamed_addr constant [83 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

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

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

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

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef) local_unnamed_addr #2 align 2

declare void @_ZN4Glip7Modules18VanillaParserSpace7ElementC1Ev(ptr noundef nonnull align 8 dereferenceable(164)) unnamed_addr #4

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

declare void @_ZN4Glip6CoreGL13getGLEnumNameB5cxx11ERKj(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Glip7Modules12LayoutWriter5writeERKNS_12CorePipeline13GeometryModelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind noalias writable sret(%"struct.Glip::Modules::VanillaParserSpace::Element") align 8 %0, ptr noundef nonnull align 8 dereferenceable(128) %1, ptr noundef nonnull align 8 dereferenceable(32) %2) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::allocator", align 1
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca i32, align 4
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca float, align 4
  %16 = alloca float, align 4
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca float, align 4
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca float, align 4
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator", align 1
  %23 = alloca float, align 4
  %24 = alloca float, align 4
  %25 = alloca float, align 4
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca float, align 4
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca float, align 4
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca float, align 4
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator", align 1
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::allocator", align 1
  %39 = alloca %"struct.Glip::Modules::VanillaParserSpace::Element", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator", align 1
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::allocator", 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::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"struct.Glip::Modules::VanillaParserSpace::Element", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = tail call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  br i1 %62, label %63, label %86

63:                                               ; preds = %3
  %64 = tail call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #7
  %65 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 19)
          to label %66 unwind label %.thread

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

67:                                               ; preds = %66
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, ptr noundef nonnull @.str.253, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %68 unwind label %74

68:                                               ; preds = %67
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.254)
          to label %69 unwind label %76

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

70:                                               ; preds = %69
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #7
  store i32 2, ptr %10, align 4, !tbaa !5
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %64, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull %8, i32 noundef 2834, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %71 unwind label %80

71:                                               ; preds = %70
  invoke void @__cxa_throw(ptr nonnull %64, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #8
          to label %497 unwind label %80

.thread:                                          ; preds = %63
  %72 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  br label %85

.thread217:                                       ; preds = %66
  %73 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  br label %85

74:                                               ; preds = %67
  %75 = landingpad { ptr, i32 }
          cleanup
  br label %84

76:                                               ; preds = %68
  %77 = landingpad { ptr, i32 }
          cleanup
  br label %83

78:                                               ; preds = %69
  %79 = landingpad { ptr, i32 }
          cleanup
  br label %82

80:                                               ; preds = %71, %70
  %.072 = phi i1 [ false, %71 ], [ true, %70 ]
  %81 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br label %82

82:                                               ; preds = %80, %78
  %.pn207 = phi { ptr, i32 } [ %81, %80 ], [ %79, %78 ]
  %.173 = phi i1 [ %.072, %80 ], [ true, %78 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  br label %83

83:                                               ; preds = %82, %76
  %.pn207.pn = phi { ptr, i32 } [ %.pn207, %82 ], [ %77, %76 ]
  %.274 = phi i1 [ %.173, %82 ], [ true, %76 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %84

84:                                               ; preds = %74, %83
  %.pn207.pn.pn = phi { ptr, i32 } [ %.pn207.pn, %83 ], [ %75, %74 ]
  %.3 = phi i1 [ %.274, %83 ], [ true, %74 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  br i1 %.3, label %85, label %496

85:                                               ; preds = %.thread217, %.thread, %84
  %.pn207.pn.pn.pn.pn216 = phi { ptr, i32 } [ %72, %.thread ], [ %.pn207.pn.pn, %84 ], [ %73, %.thread217 ]
  call void @__cxa_free_exception(ptr %64) #7
  br label %496

86:                                               ; preds = %3
  tail call void @_ZN4Glip7Modules18VanillaParserSpace7ElementC1Ev(ptr noundef nonnull align 8 dereferenceable(164) %0)
  %87 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 19)
          to label %88 unwind label %104

88:                                               ; preds = %86
  %89 = getelementptr inbounds i8, ptr %0, i64 32
  %90 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef %87)
          to label %91 unwind label %104

91:                                               ; preds = %88
  %92 = getelementptr inbounds i8, ptr %0, i64 64
  %93 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %94 unwind label %104

94:                                               ; preds = %91
  %95 = getelementptr inbounds i8, ptr %1, i64 104
  %96 = load i32, ptr %95, align 8, !tbaa !9
  switch i32 %96, label %494 [
    i32 1, label %97
    i32 3, label %114
    i32 4, label %164
    i32 0, label %227
  ]

97:                                               ; preds = %94
  %98 = getelementptr inbounds i8, ptr %0, i64 128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  %99 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 23)
          to label %100 unwind label %106

100:                                              ; preds = %97
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef %99, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %101 unwind label %108

101:                                              ; preds = %100
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %102 unwind label %110

102:                                              ; preds = %101
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  %103 = getelementptr inbounds i8, ptr %0, i64 154
  store i8 1, ptr %103, align 2, !tbaa !23
  br label %494

104:                                              ; preds = %91, %88, %86
  %105 = landingpad { ptr, i32 }
          cleanup
  br label %495

106:                                              ; preds = %97
  %107 = landingpad { ptr, i32 }
          cleanup
  br label %113

108:                                              ; preds = %100
  %109 = landingpad { ptr, i32 }
          cleanup
  br label %112

110:                                              ; preds = %101
  %111 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %112

112:                                              ; preds = %110, %108
  %.pn203 = phi { ptr, i32 } [ %111, %110 ], [ %109, %108 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  br label %113

113:                                              ; preds = %112, %106
  %.pn203.pn = phi { ptr, i32 } [ %.pn203, %112 ], [ %107, %106 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br label %495

114:                                              ; preds = %94
  %115 = getelementptr inbounds i8, ptr %0, i64 128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #7
  %116 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 20)
          to label %117 unwind label %127

117:                                              ; preds = %114
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef %116, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %118 unwind label %129

118:                                              ; preds = %117
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %115, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %119 unwind label %131

119:                                              ; preds = %118
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  store float 0.000000e+00, ptr %15, align 4, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #7
  store float 0.000000e+00, ptr %16, align 4, !tbaa !32
  br label %120

120:                                              ; preds = %143, %119
  %.071 = phi i32 [ 0, %119 ], [ %146, %143 ]
  %121 = invoke noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumVerticesEv(ptr noundef nonnull align 8 dereferenceable(128) %1)
          to label %122 unwind label %135

122:                                              ; preds = %120
  %123 = icmp ult i32 %.071, %121
  br i1 %123, label %137, label %124

124:                                              ; preds = %122
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #7
  %125 = load float, ptr %15, align 4, !tbaa !32
  %126 = fadd float %125, 1.000000e+00
  store float %126, ptr %18, align 4, !tbaa !32
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %147 unwind label %153

127:                                              ; preds = %114
  %128 = landingpad { ptr, i32 }
          cleanup
  br label %134

129:                                              ; preds = %117
  %130 = landingpad { ptr, i32 }
          cleanup
  br label %133

131:                                              ; preds = %118
  %132 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %133

133:                                              ; preds = %131, %129
  %.pn194 = phi { ptr, i32 } [ %132, %131 ], [ %130, %129 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #7
  br label %134

134:                                              ; preds = %133, %127
  %.pn194.pn = phi { ptr, i32 } [ %.pn194, %133 ], [ %128, %127 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  br label %495

135:                                              ; preds = %139, %137, %120
  %136 = landingpad { ptr, i32 }
          cleanup
  br label %163

137:                                              ; preds = %122
  %138 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1xEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.071)
          to label %139 unwind label %135

139:                                              ; preds = %137
  %140 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIfERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %15, ptr noundef nonnull align 4 dereferenceable(4) %138)
  %141 = load float, ptr %140, align 4, !tbaa !32
  store float %141, ptr %15, align 4, !tbaa !32
  %142 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1yEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.071)
          to label %143 unwind label %135

143:                                              ; preds = %139
  %144 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIfERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %142)
  %145 = load float, ptr %144, align 4, !tbaa !32
  store float %145, ptr %16, align 4, !tbaa !32
  %146 = add nuw i32 %.071, 1
  br label %120, !llvm.loop !34

147:                                              ; preds = %124
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %115, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %148 unwind label %155

148:                                              ; preds = %147
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #7
  %149 = load float, ptr %16, align 4, !tbaa !32
  %150 = fadd float %149, 1.000000e+00
  store float %150, ptr %20, align 4, !tbaa !32
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 4 dereferenceable(4) %20)
          to label %151 unwind label %158

151:                                              ; preds = %148
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %115, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %152 unwind label %160

152:                                              ; preds = %151
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  br label %494

153:                                              ; preds = %124
  %154 = landingpad { ptr, i32 }
          cleanup
  br label %157

155:                                              ; preds = %147
  %156 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %157

157:                                              ; preds = %155, %153
  %.pn197 = phi { ptr, i32 } [ %156, %155 ], [ %154, %153 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  br label %163

158:                                              ; preds = %148
  %159 = landingpad { ptr, i32 }
          cleanup
  br label %162

160:                                              ; preds = %151
  %161 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %162

162:                                              ; preds = %160, %158
  %.pn199 = phi { ptr, i32 } [ %161, %160 ], [ %159, %158 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %163

163:                                              ; preds = %162, %157, %135
  %.pn201 = phi { ptr, i32 } [ %136, %135 ], [ %.pn199, %162 ], [ %.pn197, %157 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  br label %495

164:                                              ; preds = %94
  %165 = getelementptr inbounds i8, ptr %0, i64 128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  %166 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 21)
          to label %167 unwind label %177

167:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef %166, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %168 unwind label %179

168:                                              ; preds = %167
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %165, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %169 unwind label %181

169:                                              ; preds = %168
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #7
  store float 0.000000e+00, ptr %23, align 4, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #7
  store float 0.000000e+00, ptr %24, align 4, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #7
  store float 0.000000e+00, ptr %25, align 4, !tbaa !32
  br label %170

170:                                              ; preds = %197, %169
  %.070 = phi i32 [ 0, %169 ], [ %200, %197 ]
  %171 = invoke noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumVerticesEv(ptr noundef nonnull align 8 dereferenceable(128) %1)
          to label %172 unwind label %185

172:                                              ; preds = %170
  %173 = icmp ult i32 %.070, %171
  br i1 %173, label %187, label %174

174:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #7
  %175 = load float, ptr %23, align 4, !tbaa !32
  %176 = fadd float %175, 1.000000e+00
  store float %176, ptr %27, align 4, !tbaa !32
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 4 dereferenceable(4) %27)
          to label %201 unwind label %211

177:                                              ; preds = %164
  %178 = landingpad { ptr, i32 }
          cleanup
  br label %184

179:                                              ; preds = %167
  %180 = landingpad { ptr, i32 }
          cleanup
  br label %183

181:                                              ; preds = %168
  %182 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %183

183:                                              ; preds = %181, %179
  %.pn183 = phi { ptr, i32 } [ %182, %181 ], [ %180, %179 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  br label %184

184:                                              ; preds = %183, %177
  %.pn183.pn = phi { ptr, i32 } [ %.pn183, %183 ], [ %178, %177 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  br label %495

185:                                              ; preds = %193, %189, %187, %170
  %186 = landingpad { ptr, i32 }
          cleanup
  br label %226

187:                                              ; preds = %172
  %188 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1xEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.070)
          to label %189 unwind label %185

189:                                              ; preds = %187
  %190 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIfERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 4 dereferenceable(4) %188)
  %191 = load float, ptr %190, align 4, !tbaa !32
  store float %191, ptr %23, align 4, !tbaa !32
  %192 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1yEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.070)
          to label %193 unwind label %185

193:                                              ; preds = %189
  %194 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIfERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull align 4 dereferenceable(4) %192)
  %195 = load float, ptr %194, align 4, !tbaa !32
  store float %195, ptr %24, align 4, !tbaa !32
  %196 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1zEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.070)
          to label %197 unwind label %185

197:                                              ; preds = %193
  %198 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIfERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %25, ptr noundef nonnull align 4 dereferenceable(4) %196)
  %199 = load float, ptr %198, align 4, !tbaa !32
  store float %199, ptr %25, align 4, !tbaa !32
  %200 = add nuw i32 %.070, 1
  br label %170, !llvm.loop !36

201:                                              ; preds = %174
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %165, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %202 unwind label %213

202:                                              ; preds = %201
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #7
  %203 = load float, ptr %24, align 4, !tbaa !32
  %204 = fadd float %203, 1.000000e+00
  store float %204, ptr %29, align 4, !tbaa !32
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %205 unwind label %216

205:                                              ; preds = %202
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %165, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %206 unwind label %218

206:                                              ; preds = %205
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #7
  %207 = load float, ptr %25, align 4, !tbaa !32
  %208 = fadd float %207, 1.000000e+00
  store float %208, ptr %31, align 4, !tbaa !32
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 4 dereferenceable(4) %31)
          to label %209 unwind label %221

209:                                              ; preds = %206
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %165, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %210 unwind label %223

210:                                              ; preds = %209
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #7
  br label %494

211:                                              ; preds = %174
  %212 = landingpad { ptr, i32 }
          cleanup
  br label %215

213:                                              ; preds = %201
  %214 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %215

215:                                              ; preds = %213, %211
  %.pn186 = phi { ptr, i32 } [ %214, %213 ], [ %212, %211 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %226

216:                                              ; preds = %202
  %217 = landingpad { ptr, i32 }
          cleanup
  br label %220

218:                                              ; preds = %205
  %219 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %220

220:                                              ; preds = %218, %216
  %.pn188 = phi { ptr, i32 } [ %219, %218 ], [ %217, %216 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #7
  br label %226

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

223:                                              ; preds = %209
  %224 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %225

225:                                              ; preds = %223, %221
  %.pn190 = phi { ptr, i32 } [ %224, %223 ], [ %222, %221 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  br label %226

226:                                              ; preds = %225, %220, %215, %185
  %.pn192 = phi { ptr, i32 } [ %186, %185 ], [ %.pn190, %225 ], [ %.pn188, %220 ], [ %.pn186, %215 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #7
  br label %495

227:                                              ; preds = %94
  %228 = getelementptr inbounds i8, ptr %0, i64 128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #7
  %229 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 22)
          to label %230 unwind label %264

230:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef %229, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %231 unwind label %266

231:                                              ; preds = %230
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %228, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %232 unwind label %268

232:                                              ; preds = %231
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #7
  %233 = getelementptr inbounds i8, ptr %1, i64 124
  invoke void @_ZN4Glip6CoreGL13getGLEnumNameB5cxx11ERKj(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 4 dereferenceable(4) %233)
          to label %234 unwind label %272

234:                                              ; preds = %232
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %228, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %.invoke unwind label %274

.invoke:                                          ; preds = %234
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #7
  %235 = getelementptr inbounds i8, ptr %1, i64 108
  %236 = load i8, ptr %235, align 4, !tbaa !37, !range !38, !noundef !39
  %237 = xor i8 %236, 1
  %not. = zext nneg i8 %237 to i32
  %238 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef %not.)
          to label %239 unwind label %277

239:                                              ; preds = %.invoke
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef %238, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %240 unwind label %279

240:                                              ; preds = %239
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %228, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %.invoke230 unwind label %281

.invoke230:                                       ; preds = %240
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #7
  %241 = getelementptr inbounds i8, ptr %1, i64 109
  %242 = load i8, ptr %241, align 1, !tbaa !40, !range !38, !noundef !39
  %243 = xor i8 %242, 1
  %not.232 = zext nneg i8 %243 to i32
  %244 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef %not.232)
          to label %245 unwind label %285

245:                                              ; preds = %.invoke230
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef %244, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %246 unwind label %287

246:                                              ; preds = %245
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %228, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %247 unwind label %289

247:                                              ; preds = %246
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %39) #7
  invoke void @_ZN4Glip7Modules18VanillaParserSpace7ElementC1Ev(ptr noundef nonnull align 8 dereferenceable(164) %39)
          to label %248 unwind label %293

248:                                              ; preds = %247
  %249 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 24)
          to label %250 unwind label %295

250:                                              ; preds = %248
  %251 = getelementptr inbounds i8, ptr %39, i64 32
  %252 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %251, ptr noundef %249)
          to label %253 unwind label %295

253:                                              ; preds = %250
  %254 = getelementptr inbounds i8, ptr %39, i64 152
  store i8 1, ptr %254, align 8, !tbaa !41
  %255 = getelementptr inbounds i8, ptr %39, i64 154
  store i8 1, ptr %255, align 2, !tbaa !23
  %256 = getelementptr inbounds i8, ptr %39, i64 128
  %257 = getelementptr inbounds i8, ptr %1, i64 112
  %258 = getelementptr inbounds i8, ptr %0, i64 96
  br label %259

259:                                              ; preds = %400, %253
  %.069 = phi i32 [ 0, %253 ], [ %401, %400 ]
  %260 = invoke noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumVerticesEv(ptr noundef nonnull align 8 dereferenceable(128) %1)
          to label %261 unwind label %297

261:                                              ; preds = %259
  %262 = icmp ult i32 %.069, %260
  br i1 %262, label %299, label %263

263:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %55) #7
  invoke void @_ZN4Glip7Modules18VanillaParserSpace7ElementC1Ev(ptr noundef nonnull align 8 dereferenceable(164) %55)
          to label %410 unwind label %426

264:                                              ; preds = %227
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %271

266:                                              ; preds = %230
  %267 = landingpad { ptr, i32 }
          cleanup
  br label %270

268:                                              ; preds = %231
  %269 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  br label %270

270:                                              ; preds = %268, %266
  %.pn = phi { ptr, i32 } [ %269, %268 ], [ %267, %266 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #7
  br label %271

271:                                              ; preds = %270, %264
  %.pn.pn = phi { ptr, i32 } [ %.pn, %270 ], [ %265, %264 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #7
  br label %495

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

274:                                              ; preds = %234
  %275 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %276

276:                                              ; preds = %274, %272
  %.pn136 = phi { ptr, i32 } [ %275, %274 ], [ %273, %272 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  br label %495

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

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

281:                                              ; preds = %240
  %282 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %283

283:                                              ; preds = %281, %279
  %.pn138 = phi { ptr, i32 } [ %282, %281 ], [ %280, %279 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  br label %284

284:                                              ; preds = %283, %277
  %.pn138.pn = phi { ptr, i32 } [ %.pn138, %283 ], [ %278, %277 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %495

285:                                              ; preds = %.invoke230
  %286 = landingpad { ptr, i32 }
          cleanup
  br label %292

287:                                              ; preds = %245
  %288 = landingpad { ptr, i32 }
          cleanup
  br label %291

289:                                              ; preds = %246
  %290 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %291

291:                                              ; preds = %289, %287
  %.pn141 = phi { ptr, i32 } [ %290, %289 ], [ %288, %287 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #7
  br label %292

292:                                              ; preds = %291, %285
  %.pn141.pn = phi { ptr, i32 } [ %.pn141, %291 ], [ %286, %285 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  br label %495

293:                                              ; preds = %247
  %294 = landingpad { ptr, i32 }
          cleanup
  br label %493

295:                                              ; preds = %250, %248
  %296 = landingpad { ptr, i32 }
          cleanup
  br label %492

297:                                              ; preds = %259
  %298 = landingpad { ptr, i32 }
          cleanup
  br label %492

299:                                              ; preds = %261
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %256) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #7
  %300 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1xEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.069)
          to label %301 unwind label %315

301:                                              ; preds = %299
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 4 dereferenceable(4) %300)
          to label %302 unwind label %315

302:                                              ; preds = %301
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %256, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %303 unwind label %317

303:                                              ; preds = %302
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #7
  %304 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1yEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.069)
          to label %305 unwind label %320

305:                                              ; preds = %303
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 4 dereferenceable(4) %304)
          to label %306 unwind label %320

306:                                              ; preds = %305
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %256, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %307 unwind label %322

307:                                              ; preds = %306
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  %308 = load i32, ptr %257, align 8, !tbaa !42
  %309 = icmp sgt i32 %308, 2
  br i1 %309, label %310, label %330

310:                                              ; preds = %307
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #7
  %311 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1zEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.069)
          to label %312 unwind label %325

312:                                              ; preds = %310
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 4 dereferenceable(4) %311)
          to label %313 unwind label %325

313:                                              ; preds = %312
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %256, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %314 unwind label %327

314:                                              ; preds = %313
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  br label %343

315:                                              ; preds = %301, %299
  %316 = landingpad { ptr, i32 }
          cleanup
  br label %319

317:                                              ; preds = %302
  %318 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  br label %319

319:                                              ; preds = %317, %315
  %.pn158 = phi { ptr, i32 } [ %318, %317 ], [ %316, %315 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #7
  br label %492

320:                                              ; preds = %305, %303
  %321 = landingpad { ptr, i32 }
          cleanup
  br label %324

322:                                              ; preds = %306
  %323 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %324

324:                                              ; preds = %322, %320
  %.pn160 = phi { ptr, i32 } [ %323, %322 ], [ %321, %320 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  br label %492

325:                                              ; preds = %312, %310
  %326 = landingpad { ptr, i32 }
          cleanup
  br label %329

327:                                              ; preds = %313
  %328 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  br label %329

329:                                              ; preds = %327, %325
  %.pn165 = phi { ptr, i32 } [ %328, %327 ], [ %326, %325 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  br label %492

330:                                              ; preds = %307
  %.not = icmp eq i32 %308, 2
  br i1 %.not, label %343, label %331

331:                                              ; preds = %330
  %332 = call ptr @__cxa_allocate_exception(i64 152) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %44) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull @.str.257, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %333 unwind label %.thread220

333:                                              ; preds = %331
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %46) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull @.str.67, ptr noundef nonnull align 1 dereferenceable(1) %46)
          to label %334 unwind label %337

334:                                              ; preds = %333
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #7
  store i32 2, ptr %47, align 4, !tbaa !5
  invoke void @_ZN4Glip9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_iRKNS0_4TypeE(ptr noundef nonnull align 8 dereferenceable(152) %332, ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull %45, i32 noundef 2901, ptr noundef nonnull align 4 dereferenceable(4) %47)
          to label %335 unwind label %339

335:                                              ; preds = %334
  invoke void @__cxa_throw(ptr nonnull %332, ptr nonnull @_ZTIN4Glip9ExceptionE, ptr nonnull @_ZN4Glip9ExceptionD1Ev) #8
          to label %497 unwind label %339

.thread220:                                       ; preds = %331
  %336 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %342

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

339:                                              ; preds = %335, %334
  %.068 = phi i1 [ false, %335 ], [ true, %334 ]
  %340 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %341

341:                                              ; preds = %337, %339
  %.pn162 = phi { ptr, i32 } [ %340, %339 ], [ %338, %337 ]
  %.1 = phi i1 [ %.068, %339 ], [ true, %337 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %46) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br i1 %.1, label %342, label %492

342:                                              ; preds = %.thread220, %341
  %.pn162.pn223 = phi { ptr, i32 } [ %336, %.thread220 ], [ %.pn162, %341 ]
  call void @__cxa_free_exception(ptr %332) #7
  br label %492

343:                                              ; preds = %330, %314
  %344 = load i8, ptr %235, align 4, !tbaa !37, !range !38, !noundef !39
  %345 = trunc nuw i8 %344 to i1
  br i1 %345, label %346, label %374

346:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #7
  %347 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nxEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.069)
          to label %348 unwind label %359

348:                                              ; preds = %346
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 4 dereferenceable(4) %347)
          to label %349 unwind label %359

349:                                              ; preds = %348
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %256, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %350 unwind label %361

350:                                              ; preds = %349
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #7
  %351 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nyEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.069)
          to label %352 unwind label %364

352:                                              ; preds = %350
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 4 dereferenceable(4) %351)
          to label %353 unwind label %364

353:                                              ; preds = %352
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %256, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %354 unwind label %366

354:                                              ; preds = %353
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #7
  %355 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nzEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.069)
          to label %356 unwind label %369

356:                                              ; preds = %354
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 4 dereferenceable(4) %355)
          to label %357 unwind label %369

357:                                              ; preds = %356
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %256, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %358 unwind label %371

358:                                              ; preds = %357
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  br label %374

359:                                              ; preds = %348, %346
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %363

361:                                              ; preds = %349
  %362 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  br label %363

363:                                              ; preds = %361, %359
  %.pn167 = phi { ptr, i32 } [ %362, %361 ], [ %360, %359 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  br label %492

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

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

368:                                              ; preds = %366, %364
  %.pn169 = phi { ptr, i32 } [ %367, %366 ], [ %365, %364 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  br label %492

369:                                              ; preds = %356, %354
  %370 = landingpad { ptr, i32 }
          cleanup
  br label %373

371:                                              ; preds = %357
  %372 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %373

373:                                              ; preds = %371, %369
  %.pn171 = phi { ptr, i32 } [ %372, %371 ], [ %370, %369 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  br label %492

374:                                              ; preds = %358, %343
  %375 = load i8, ptr %241, align 1, !tbaa !40, !range !38, !noundef !39
  %376 = trunc nuw i8 %375 to i1
  br i1 %376, label %377, label %396

377:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #7
  %378 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1uEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.069)
          to label %379 unwind label %386

379:                                              ; preds = %377
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 4 dereferenceable(4) %378)
          to label %380 unwind label %386

380:                                              ; preds = %379
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %256, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %381 unwind label %388

381:                                              ; preds = %380
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #7
  %382 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1vEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.069)
          to label %383 unwind label %391

383:                                              ; preds = %381
  invoke void @_ZN4Glip8toStringIfEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 4 dereferenceable(4) %382)
          to label %384 unwind label %391

384:                                              ; preds = %383
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %256, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %385 unwind label %393

385:                                              ; preds = %384
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  br label %396

386:                                              ; preds = %379, %377
  %387 = landingpad { ptr, i32 }
          cleanup
  br label %390

388:                                              ; preds = %380
  %389 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %390

390:                                              ; preds = %388, %386
  %.pn173 = phi { ptr, i32 } [ %389, %388 ], [ %387, %386 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  br label %492

391:                                              ; preds = %383, %381
  %392 = landingpad { ptr, i32 }
          cleanup
  br label %395

393:                                              ; preds = %384
  %394 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %395

395:                                              ; preds = %393, %391
  %.pn175 = phi { ptr, i32 } [ %394, %393 ], [ %392, %391 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  br label %492

396:                                              ; preds = %385, %374
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #7
  invoke void @_ZNK4Glip7Modules18VanillaParserSpace7Element7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(164) %39)
          to label %397 unwind label %402

397:                                              ; preds = %396
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull @.str.30)
          to label %398 unwind label %404

398:                                              ; preds = %397
  %399 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %258, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %400 unwind label %406

400:                                              ; preds = %398
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #7
  %401 = add nuw i32 %.069, 1
  br label %259, !llvm.loop !43

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

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

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

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

409:                                              ; preds = %408, %402
  %.pn177.pn = phi { ptr, i32 } [ %.pn177, %408 ], [ %403, %402 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #7
  br label %492

410:                                              ; preds = %263
  %411 = invoke noundef ptr @_ZN4Glip7Modules12LayoutLoader10getKeywordENS0_19LayoutLoaderKeywordE(i32 noundef 25)
          to label %412 unwind label %428

412:                                              ; preds = %410
  %413 = getelementptr inbounds i8, ptr %55, i64 32
  %414 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %413, ptr noundef %411)
          to label %415 unwind label %428

415:                                              ; preds = %412
  %416 = getelementptr inbounds i8, ptr %55, i64 152
  store i8 1, ptr %416, align 8, !tbaa !41
  %417 = getelementptr inbounds i8, ptr %55, i64 154
  store i8 1, ptr %417, align 2, !tbaa !23
  %418 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %258, ptr noundef nonnull @.str.30)
          to label %.preheader unwind label %428

.preheader:                                       ; preds = %415
  %419 = getelementptr inbounds i8, ptr %55, i64 128
  %420 = getelementptr inbounds i8, ptr %1, i64 116
  br label %421

421:                                              ; preds = %.preheader, %480
  %.0 = phi i32 [ %481, %480 ], [ 0, %.preheader ]
  %422 = invoke noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumElementsEv(ptr noundef nonnull align 8 dereferenceable(128) %1)
          to label %423 unwind label %430

423:                                              ; preds = %421
  %424 = icmp ult i32 %.0, %422
  br i1 %424, label %432, label %425

425:                                              ; preds = %423
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %55) #7
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %55) #7
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %39) #7
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %39) #7
  br label %494

426:                                              ; preds = %263
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %491

428:                                              ; preds = %415, %412, %410
  %429 = landingpad { ptr, i32 }
          cleanup
  br label %490

430:                                              ; preds = %421
  %431 = landingpad { ptr, i32 }
          cleanup
  br label %490

432:                                              ; preds = %423
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %419) #7
  %433 = load i32, ptr %420, align 4, !tbaa !44
  %434 = icmp sgt i32 %433, 0
  br i1 %434, label %435, label %.thread228

435:                                              ; preds = %432
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #7
  %436 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1aEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.0)
          to label %437 unwind label %439

437:                                              ; preds = %435
  invoke void @_ZN4Glip8toStringIjEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 4 dereferenceable(4) %436)
          to label %438 unwind label %439

438:                                              ; preds = %437
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %419, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %444 unwind label %441

439:                                              ; preds = %437, %435
  %440 = landingpad { ptr, i32 }
          cleanup
  br label %443

441:                                              ; preds = %438
  %442 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  br label %443

443:                                              ; preds = %441, %439
  %.pn144 = phi { ptr, i32 } [ %442, %441 ], [ %440, %439 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #7
  br label %490

444:                                              ; preds = %438
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #7
  %.pr = load i32, ptr %420, align 4, !tbaa !44
  %445 = icmp sgt i32 %.pr, 1
  br i1 %445, label %446, label %.thread228

446:                                              ; preds = %444
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #7
  %447 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1bEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.0)
          to label %448 unwind label %450

448:                                              ; preds = %446
  invoke void @_ZN4Glip8toStringIjEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 4 dereferenceable(4) %447)
          to label %449 unwind label %450

449:                                              ; preds = %448
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %419, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %455 unwind label %452

450:                                              ; preds = %448, %446
  %451 = landingpad { ptr, i32 }
          cleanup
  br label %454

452:                                              ; preds = %449
  %453 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %454

454:                                              ; preds = %452, %450
  %.pn146 = phi { ptr, i32 } [ %453, %452 ], [ %451, %450 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  br label %490

455:                                              ; preds = %449
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  %.pr225 = load i32, ptr %420, align 4, !tbaa !44
  %456 = icmp sgt i32 %.pr225, 2
  br i1 %456, label %457, label %.thread228

457:                                              ; preds = %455
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #7
  %458 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1cEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.0)
          to label %459 unwind label %461

459:                                              ; preds = %457
  invoke void @_ZN4Glip8toStringIjEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 4 dereferenceable(4) %458)
          to label %460 unwind label %461

460:                                              ; preds = %459
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %419, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %.thread226 unwind label %463

461:                                              ; preds = %459, %457
  %462 = landingpad { ptr, i32 }
          cleanup
  br label %465

463:                                              ; preds = %460
  %464 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %465

465:                                              ; preds = %463, %461
  %.pn148 = phi { ptr, i32 } [ %464, %463 ], [ %462, %461 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  br label %490

.thread226:                                       ; preds = %460
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  %.pr227.pr = load i32, ptr %420, align 4, !tbaa !44
  %466 = icmp sgt i32 %.pr227.pr, 3
  br i1 %466, label %467, label %.thread228

467:                                              ; preds = %.thread226
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #7
  %468 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1dEj(ptr noundef nonnull align 8 dereferenceable(128) %1, i32 noundef %.0)
          to label %469 unwind label %472

469:                                              ; preds = %467
  invoke void @_ZN4Glip8toStringIjEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 4 dereferenceable(4) %468)
          to label %470 unwind label %472

470:                                              ; preds = %469
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %419, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %471 unwind label %474

471:                                              ; preds = %470
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br label %.thread228

472:                                              ; preds = %469, %467
  %473 = landingpad { ptr, i32 }
          cleanup
  br label %476

474:                                              ; preds = %470
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %476

476:                                              ; preds = %474, %472
  %.pn150 = phi { ptr, i32 } [ %475, %474 ], [ %473, %472 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  br label %490

.thread228:                                       ; preds = %444, %432, %455, %471, %.thread226
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #7
  invoke void @_ZNK4Glip7Modules18VanillaParserSpace7Element7getCodeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(164) %55)
          to label %477 unwind label %482

477:                                              ; preds = %.thread228
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull @.str.30)
          to label %478 unwind label %484

478:                                              ; preds = %477
  %479 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %258, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %480 unwind label %486

480:                                              ; preds = %478
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #7
  %481 = add nuw i32 %.0, 1
  br label %421, !llvm.loop !45

482:                                              ; preds = %.thread228
  %483 = landingpad { ptr, i32 }
          cleanup
  br label %489

484:                                              ; preds = %477
  %485 = landingpad { ptr, i32 }
          cleanup
  br label %488

486:                                              ; preds = %478
  %487 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %488

488:                                              ; preds = %486, %484
  %.pn152 = phi { ptr, i32 } [ %487, %486 ], [ %485, %484 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %489

489:                                              ; preds = %488, %482
  %.pn152.pn = phi { ptr, i32 } [ %.pn152, %488 ], [ %483, %482 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #7
  br label %490

490:                                              ; preds = %430, %443, %454, %465, %476, %489, %428
  %.pn152.pn.pn.pn = phi { ptr, i32 } [ %429, %428 ], [ %.pn152.pn, %489 ], [ %.pn150, %476 ], [ %.pn148, %465 ], [ %.pn146, %454 ], [ %.pn144, %443 ], [ %431, %430 ]
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %55) #7
  br label %491

491:                                              ; preds = %490, %426
  %.pn152.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn152.pn.pn.pn, %490 ], [ %427, %426 ]
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %55) #7
  br label %492

492:                                              ; preds = %297, %319, %324, %329, %363, %368, %373, %390, %395, %409, %342, %341, %491, %295
  %.pn177.pn.pn.pn = phi { ptr, i32 } [ %.pn152.pn.pn.pn.pn, %491 ], [ %296, %295 ], [ %.pn177.pn, %409 ], [ %.pn175, %395 ], [ %.pn173, %390 ], [ %.pn171, %373 ], [ %.pn169, %368 ], [ %.pn167, %363 ], [ %.pn165, %329 ], [ %.pn162.pn223, %342 ], [ %.pn162, %341 ], [ %.pn160, %324 ], [ %.pn158, %319 ], [ %298, %297 ]
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %39) #7
  br label %493

493:                                              ; preds = %492, %293
  %.pn177.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn177.pn.pn.pn, %492 ], [ %294, %293 ]
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %39) #7
  br label %495

494:                                              ; preds = %102, %210, %425, %152, %94
  ret void

495:                                              ; preds = %493, %292, %284, %276, %271, %226, %184, %163, %134, %113, %104
  %.pn203.pn.pn = phi { ptr, i32 } [ %.pn203.pn, %113 ], [ %.pn201, %163 ], [ %.pn194.pn, %134 ], [ %.pn192, %226 ], [ %.pn183.pn, %184 ], [ %.pn177.pn.pn.pn.pn, %493 ], [ %.pn141.pn, %292 ], [ %.pn138.pn, %284 ], [ %.pn136, %276 ], [ %.pn.pn, %271 ], [ %105, %104 ]
  call void @_ZN4Glip7Modules18VanillaParserSpace7ElementD2Ev(ptr noundef nonnull align 8 dereferenceable(164) %0) #7
  br label %496

496:                                              ; preds = %84, %85, %495
  %.pn207.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn207.pn.pn.pn.pn216, %85 ], [ %.pn207.pn.pn, %84 ], [ %.pn203.pn.pn, %495 ]
  resume { ptr, i32 } %.pn207.pn.pn.pn.pn.pn

497:                                              ; preds = %335, %71
  unreachable
}

declare noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumVerticesEv(ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #4

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

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1xEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1yEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4Glip8toStringIfEENSt7__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 #2

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1zEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nxEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nyEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel2nzEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1uEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1vEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

declare void @_ZNK4Glip7Modules18VanillaParserSpace7Element7getCodeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(164)) local_unnamed_addr #4

declare noundef i32 @_ZNK4Glip12CorePipeline13GeometryModel14getNumElementsEv(ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4Glip8toStringIjEENSt7__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 #2

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1aEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1bEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1cEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

declare noundef nonnull align 4 dereferenceable(4) ptr @_ZNK4Glip12CorePipeline13GeometryModel1dEj(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #4

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"_ZTSN4Glip9Exception4TypeE", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !20, i64 104}
!10 = !{!"_ZTSN4Glip12CorePipeline13GeometryModelE", !11, i64 8, !11, i64 32, !11, i64 56, !16, i64 80, !20, i64 104, !21, i64 108, !21, i64 109, !22, i64 112, !22, i64 116, !22, i64 120, !22, i64 124}
!11 = !{!"_ZTSSt6vectorIfSaIfEE", !12, i64 0}
!12 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !13, i64 0}
!13 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !14, i64 0}
!14 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !15, i64 0, !15, i64 8, !15, i64 16}
!15 = !{!"any pointer", !7, i64 0}
!16 = !{!"_ZTSSt6vectorIjSaIjEE", !17, i64 0}
!17 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !15, i64 0, !15, i64 8, !15, i64 16}
!20 = !{!"_ZTSN4Glip12CorePipeline13GeometryModel12GeometryTypeE", !7, i64 0}
!21 = !{!"bool", !7, i64 0}
!22 = !{!"int", !7, i64 0}
!23 = !{!24, !21, i64 154}
!24 = !{!"_ZTSN4Glip7Modules18VanillaParserSpace7ElementE", !25, i64 0, !25, i64 32, !25, i64 64, !25, i64 96, !28, i64 128, !21, i64 152, !21, i64 153, !21, i64 154, !22, i64 156, !22, i64 160}
!25 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !26, i64 0, !27, i64 8, !7, i64 16}
!26 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !15, i64 0}
!27 = !{!"long", !7, i64 0}
!28 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !15, i64 0, !15, i64 8, !15, i64 16}
!32 = !{!33, !33, i64 0}
!33 = !{!"float", !7, i64 0}
!34 = distinct !{!34, !35}
!35 = !{!"llvm.loop.mustprogress"}
!36 = distinct !{!36, !35}
!37 = !{!10, !21, i64 108}
!38 = !{i8 0, i8 2}
!39 = !{}
!40 = !{!10, !21, i64 109}
!41 = !{!24, !21, i64 152}
!42 = !{!10, !22, i64 112}
!43 = distinct !{!43, !35}
!44 = !{!10, !22, i64 116}
!45 = distinct !{!45, !35}


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