; LLVM IR from vczh/herodb :: Kernel/Source (Vlpp)

; 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.vl::Ptr.608" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.46" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.141" = type { ptr, ptr, ptr, ptr }
%"struct.vl::parsing::ParsingTextRange" = type { %"struct.vl::parsing::ParsingTextPos", %"struct.vl::parsing::ParsingTextPos", i64 }
%"struct.vl::parsing::ParsingTextPos" = type { i64, i64, i64 }
%"class.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"class.vl::Object" = type { ptr }
%"class.vl::collections::EnumerableForEachIterator.634" = type { %"class.vl::collections::ForEachIterator.635", %"class.vl::Ptr.636" }
%"class.vl::collections::ForEachIterator.635" = type { %"class.vl::Object" }
%"class.vl::Ptr.636" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.595" = type { ptr, ptr, ptr, ptr }
%"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange" = type { ptr, ptr }
%"class.vl::parsing::tabling::ParsingTreeBuilder" = type { %"class.vl::parsing::tabling::ParsingTransitionProcessor", %"class.vl::Ptr.46", %"class.vl::Ptr.141", %"class.vl::collections::List.142", i8, %"class.vl::Ptr.46", %"class.vl::Ptr.46", i64, %"class.vl::collections::List.142", %"class.vl::collections::List.142" }
%"class.vl::parsing::tabling::ParsingTransitionProcessor" = type { %"class.vl::Object" }
%"class.vl::collections::List.142" = type { %"class.vl::collections::ListBase.base.148", %"class.vl::collections::IEnumerable.146" }
%"class.vl::collections::ListBase.base.148" = type <{ %"class.vl::collections::ArrayBase.base.147", i64, i8 }>
%"class.vl::collections::ArrayBase.base.147" = type { %"class.vl::collections::ListStore.145", ptr, i64 }
%"class.vl::collections::ListStore.145" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.146" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"struct.vl::parsing::tabling::ParsingState::TransitionResult" = type { i32, i64, %"class.vl::ObjectString", i64, i64, i64, i64, ptr, ptr, i64, i64, %"class.vl::Ptr.140" }
%"class.vl::Ptr.140" = type { ptr, ptr, ptr, ptr }
%"class.vl::parsing::tabling::ParsingTable::TransitionItem" = type { i64, i64, %"class.vl::collections::List.182", %"class.vl::collections::List.116", %"class.vl::collections::List.190" }
%"class.vl::collections::List.182" = type { %"class.vl::collections::ListBase.base.188", %"class.vl::collections::IEnumerable.186" }
%"class.vl::collections::ListBase.base.188" = type <{ %"class.vl::collections::ArrayBase.base.187", i64, i8 }>
%"class.vl::collections::ArrayBase.base.187" = type { %"class.vl::collections::ListStore.185", ptr, i64 }
%"class.vl::collections::ListStore.185" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.186" = type { %"class.vl::Interface" }
%"class.vl::collections::List.116" = type { %"class.vl::collections::ListBase.base.122", %"class.vl::collections::IEnumerable.120" }
%"class.vl::collections::ListBase.base.122" = type <{ %"class.vl::collections::ArrayBase.base.121", i64, i8 }>
%"class.vl::collections::ArrayBase.base.121" = type { %"class.vl::collections::ListStore.119", ptr, i64 }
%"class.vl::collections::ListStore.119" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.120" = type { %"class.vl::Interface" }
%"class.vl::collections::List.190" = type { %"class.vl::collections::ListBase.base.196", %"class.vl::collections::IEnumerable.194" }
%"class.vl::collections::ListBase.base.196" = type <{ %"class.vl::collections::ArrayBase.base.195", i64, i8 }>
%"class.vl::collections::ArrayBase.base.195" = type { %"class.vl::collections::ListStore.193", ptr, i64 }
%"class.vl::collections::ListStore.193" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.194" = type { %"class.vl::Interface" }
%"class.vl::parsing::tabling::ParsingTable::Instruction" = type { i32, i64, %"class.vl::ObjectString", %"class.vl::ObjectString", %"class.vl::ObjectString" }
%"class.vl::regex::RegexToken" = type { i64, i64, i64, ptr, i64, i8, i64, i64, i64, i64 }

@.str.2 = external hidden unnamed_addr constant [1 x i32], align 4
@.str.146 = external hidden unnamed_addr constant [6 x i32], align 4

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #0

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #4

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(160) ptr @_ZN2vl11collections4ListINS_7parsing7tabling12ParsingTable11InstructionES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_16ParsingTreeArrayEEENS0_IT_EEv(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.608") align 8, ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing17ParsingTreeObject9GetMemberERKNS_12ObjectStringIwEE(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.46") align 8, ptr noundef nonnull align 8 dereferenceable(344), ptr noundef nonnull align 8 dereferenceable(48)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.141") align 8, ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl12ObjectStringIwEneEPKw(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) #3 align 2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E5ClearEv(ptr noundef nonnull align 8 dereferenceable(33)) #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN2vl7parsing7tabling18ParsingTreeBuilder3RunERKNS1_12ParsingState16TransitionResultE(ptr noundef nonnull align 8 dereferenceable(296) %0, ptr noundef nonnull align 8 dereferenceable(160) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca i1, align 1
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca %"class.vl::Ptr.46", align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca %"class.vl::Ptr.141", align 8
  %10 = alloca %"class.vl::Ptr.46", align 8
  %11 = alloca i64, align 8
  %12 = alloca %"class.vl::Ptr.141", align 8
  %13 = alloca %"class.vl::Ptr.46", align 8
  %14 = alloca %"class.vl::Ptr.46", align 8
  %15 = alloca %"class.vl::Ptr.141", align 8
  %16 = alloca %"class.vl::Ptr.46", align 8
  %17 = alloca i64, align 8
  %18 = alloca %"class.vl::Ptr.141", align 8
  %19 = alloca %"class.vl::Ptr.46", align 8
  %20 = alloca %"class.vl::Ptr.141", align 8
  %21 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %22 = alloca i1, align 1
  %23 = alloca %"class.vl::Ptr.608", align 8
  %24 = alloca %"class.vl::ObjectString", align 8
  %25 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %26 = alloca i1, align 1
  %27 = alloca i8, align 1
  %28 = alloca ptr, align 8
  %29 = alloca %"class.vl::collections::EnumerableForEachIterator.634", align 8
  %30 = alloca i32, align 4
  %31 = alloca %"class.vl::Ptr.141", align 8
  %32 = alloca %"class.vl::Ptr.46", align 8
  %33 = alloca %"class.vl::ObjectString", align 8
  %34 = alloca %"class.vl::Ptr.46", align 8
  %35 = alloca i64, align 8
  %36 = alloca i64, align 8
  %37 = alloca ptr, align 8
  %38 = alloca %"class.vl::Ptr.141", align 8
  %39 = alloca i64, align 8
  %40 = alloca %"class.vl::ObjectString", align 8
  %41 = alloca %"class.vl::Ptr.46", align 8
  %42 = alloca %"class.vl::Ptr.46", align 8
  %43 = alloca %"class.vl::Ptr.595", align 8
  %44 = alloca %"class.vl::ObjectString", align 8
  %45 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %46 = alloca i1, align 1
  %47 = alloca %"class.vl::ObjectString", align 8
  %48 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %49 = alloca i1, align 1
  %50 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %51 = alloca %"class.vl::Ptr.46", align 8
  %52 = alloca %"class.vl::Ptr.46", align 8
  %53 = alloca %"class.vl::Ptr.608", align 8
  %54 = alloca %"class.vl::Ptr.46", align 8
  %55 = alloca %"class.vl::ObjectString", align 8
  %56 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %57 = alloca i1, align 1
  %58 = alloca %"class.vl::Ptr.46", align 8
  %59 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %60 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %61 = alloca %"class.vl::Ptr.595", align 8
  %62 = alloca %"class.vl::ObjectString", align 8
  %63 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %64 = alloca i1, align 1
  %65 = alloca %"class.vl::ObjectString", align 8
  %66 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %67 = alloca i1, align 1
  %68 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %69 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %70 = alloca %"class.vl::Ptr.46", align 8
  %71 = alloca %"class.vl::Ptr.46", align 8
  %72 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %73 = alloca %"class.vl::Ptr.595", align 8
  %74 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %75 = alloca i1, align 1
  %76 = alloca %"class.vl::Ptr.46", align 8
  %77 = alloca %"class.vl::ObjectString", align 8
  %78 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %79 = alloca i1, align 1
  %80 = alloca %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", align 8
  %81 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %82 = alloca %"class.vl::ObjectString", align 8
  %83 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %84 = alloca i1, align 1
  %85 = alloca %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", align 8
  %86 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %87 = alloca %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", align 8
  %88 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  %89 = load ptr, ptr %4, align 8
  %90 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %91 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %90)
  br i1 %91, label %93, label %92

92:                                               ; preds = %2
  store i1 false, ptr %3, align 1
  br label %1108

93:                                               ; preds = %2
  %94 = load ptr, ptr %5, align 8, !tbaa !5
  %95 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %94, i32 0, i32 0
  %96 = load i32, ptr %95, align 8, !tbaa !9
  switch i32 %96, label %1106 [
    i32 1, label %97
    i32 2, label %186
    i32 3, label %270
    i32 0, label %421
  ]

97:                                               ; preds = %93
  %98 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 4
  %99 = load i8, ptr %98, align 8, !tbaa !16, !range !26, !noundef !27
  %100 = trunc i8 %99 to i1
  br i1 %100, label %101, label %102

101:                                              ; preds = %97
  store i1 false, ptr %3, align 1
  br label %1108

102:                                              ; preds = %97
  %103 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 4
  store i8 1, ptr %103, align 8, !tbaa !16
  %104 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %105 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %104)
  br i1 %105, label %106, label %119

106:                                              ; preds = %102
  call void @llvm.lifetime.start.p0(i64 32, ptr %6) #7
  %107 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %108 = call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %107)
  %109 = load ptr, ptr %108, align 8, !tbaa !28
  %110 = getelementptr inbounds ptr, ptr %109, i64 4
  %111 = load ptr, ptr %110, align 8
  call void %111(ptr dead_on_unwind writable sret(%"class.vl::Ptr.46") align 8 %6, ptr noundef nonnull align 8 dereferenceable(128) %108)
  %112 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 5
  %113 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %114 unwind label %115

114:                                              ; preds = %106
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #7
  br label %122

115:                                              ; preds = %106
  %116 = landingpad { ptr, i32 }
          cleanup
  %117 = extractvalue { ptr, i32 } %116, 0
  store ptr %117, ptr %7, align 8
  %118 = extractvalue { ptr, i32 } %116, 1
  store i32 %118, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %6) #7
  br label %1110

119:                                              ; preds = %102
  %120 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 5
  %121 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef null)
  br label %122

122:                                              ; preds = %119, %114
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %10) #7
  %123 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %124 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %123)
  %125 = load ptr, ptr %124, align 8, !tbaa !28
  %126 = getelementptr inbounds ptr, ptr %125, i64 4
  %127 = load ptr, ptr %126, align 8
  call void %127(ptr dead_on_unwind writable sret(%"class.vl::Ptr.46") align 8 %10, ptr noundef nonnull align 8 dereferenceable(344) %124)
  invoke void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind writable sret(%"class.vl::Ptr.141") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %128 unwind label %150

128:                                              ; preds = %122
  %129 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 6
  %130 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSINS1_17ParsingTreeObjectEEERS3_RKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %131 unwind label %154

131:                                              ; preds = %128
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #7
  %132 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 8
  %133 = call noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E5ClearEv(ptr noundef nonnull align 8 dereferenceable(33) %132)
  %134 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %135 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %134)
  %136 = load ptr, ptr %5, align 8, !tbaa !5
  %137 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %136, i32 0, i32 1
  %138 = load i64, ptr %137, align 8, !tbaa !30
  %139 = sub nsw i64 %135, %138
  %140 = add nsw i64 %139, 1
  %141 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 7
  store i64 %140, ptr %141, align 8, !tbaa !31
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #7
  %142 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 7
  %143 = load i64, ptr %142, align 8, !tbaa !31
  store i64 %143, ptr %11, align 8, !tbaa !32
  br label %144

144:                                              ; preds = %171, %131
  %145 = load i64, ptr %11, align 8, !tbaa !32
  %146 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %147 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %146)
  %148 = icmp slt i64 %145, %147
  br i1 %148, label %159, label %149

149:                                              ; preds = %144
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  br label %183

150:                                              ; preds = %122
  %151 = landingpad { ptr, i32 }
          cleanup
  %152 = extractvalue { ptr, i32 } %151, 0
  store ptr %152, ptr %7, align 8
  %153 = extractvalue { ptr, i32 } %151, 1
  store i32 %153, ptr %8, align 4
  br label %158

154:                                              ; preds = %128
  %155 = landingpad { ptr, i32 }
          cleanup
  %156 = extractvalue { ptr, i32 } %155, 0
  store ptr %156, ptr %7, align 8
  %157 = extractvalue { ptr, i32 } %155, 1
  store i32 %157, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %158

158:                                              ; preds = %154, %150
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #7
  br label %1110

159:                                              ; preds = %144
  %160 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #7
  %161 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %162 = load i64, ptr %11, align 8, !tbaa !32
  %163 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %161, i64 noundef %162)
  %164 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %163)
  %165 = load ptr, ptr %164, align 8, !tbaa !28
  %166 = getelementptr inbounds ptr, ptr %165, i64 4
  %167 = load ptr, ptr %166, align 8
  call void %167(ptr dead_on_unwind writable sret(%"class.vl::Ptr.46") align 8 %13, ptr noundef nonnull align 8 dereferenceable(344) %164)
  invoke void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind writable sret(%"class.vl::Ptr.141") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %168 unwind label %174

168:                                              ; preds = %159
  %169 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %160, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %170 unwind label %178

170:                                              ; preds = %168
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #7
  br label %171

171:                                              ; preds = %170
  %172 = load i64, ptr %11, align 8, !tbaa !32
  %173 = add nsw i64 %172, 1
  store i64 %173, ptr %11, align 8, !tbaa !32
  br label %144, !llvm.loop !33

174:                                              ; preds = %159
  %175 = landingpad { ptr, i32 }
          cleanup
  %176 = extractvalue { ptr, i32 } %175, 0
  store ptr %176, ptr %7, align 8
  %177 = extractvalue { ptr, i32 } %175, 1
  store i32 %177, ptr %8, align 4
  br label %182

178:                                              ; preds = %168
  %179 = landingpad { ptr, i32 }
          cleanup
  %180 = extractvalue { ptr, i32 } %179, 0
  store ptr %180, ptr %7, align 8
  %181 = extractvalue { ptr, i32 } %179, 1
  store i32 %181, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %182

182:                                              ; preds = %178, %174
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  br label %1110

183:                                              ; preds = %149
  %184 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 9
  %185 = call noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E5ClearEv(ptr noundef nonnull align 8 dereferenceable(33) %184)
  br label %1107

186:                                              ; preds = %93
  %187 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 4
  %188 = load i8, ptr %187, align 8, !tbaa !16, !range !26, !noundef !27
  %189 = trunc i8 %188 to i1
  br i1 %189, label %191, label %190

190:                                              ; preds = %186
  store i1 false, ptr %3, align 1
  br label %1108

191:                                              ; preds = %186
  %192 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %193 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %192)
  %194 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 7
  %195 = load i64, ptr %194, align 8, !tbaa !31
  %196 = icmp ne i64 %193, %195
  br i1 %196, label %197, label %198

197:                                              ; preds = %191
  store i1 false, ptr %3, align 1
  br label %1108

198:                                              ; preds = %191
  %199 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 9
  %200 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %201 = call noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %199, ptr noundef nonnull align 8 dereferenceable(32) %200)
  %202 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 5
  %203 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %202)
  br i1 %203, label %204, label %217

204:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #7
  %205 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 5
  %206 = call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %205)
  %207 = load ptr, ptr %206, align 8, !tbaa !28
  %208 = getelementptr inbounds ptr, ptr %207, i64 4
  %209 = load ptr, ptr %208, align 8
  call void %209(ptr dead_on_unwind writable sret(%"class.vl::Ptr.46") align 8 %14, ptr noundef nonnull align 8 dereferenceable(128) %206)
  %210 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %211 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(32) %210, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %212 unwind label %213

212:                                              ; preds = %204
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  br label %220

213:                                              ; preds = %204
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %7, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  br label %1110

217:                                              ; preds = %198
  %218 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %219 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %218, ptr noundef null)
  br label %220

220:                                              ; preds = %217, %212
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #7
  %221 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 6
  %222 = call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %221)
  %223 = load ptr, ptr %222, align 8, !tbaa !28
  %224 = getelementptr inbounds ptr, ptr %223, i64 4
  %225 = load ptr, ptr %224, align 8
  call void %225(ptr dead_on_unwind writable sret(%"class.vl::Ptr.46") align 8 %16, ptr noundef nonnull align 8 dereferenceable(128) %222)
  invoke void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind writable sret(%"class.vl::Ptr.141") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %226 unwind label %236

226:                                              ; preds = %220
  %227 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %228 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(32) %227, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %229 unwind label %240

229:                                              ; preds = %226
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #7
  store i64 0, ptr %17, align 8, !tbaa !32
  br label %230

230:                                              ; preds = %257, %229
  %231 = load i64, ptr %17, align 8, !tbaa !32
  %232 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 8
  %233 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %232)
  %234 = icmp slt i64 %231, %233
  br i1 %234, label %245, label %235

235:                                              ; preds = %230
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  br label %269

236:                                              ; preds = %220
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %7, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %8, align 4
  br label %244

240:                                              ; preds = %226
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %7, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %244

244:                                              ; preds = %240, %236
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #7
  br label %1110

245:                                              ; preds = %230
  %246 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #7
  %247 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 8
  %248 = load i64, ptr %17, align 8, !tbaa !32
  %249 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %247, i64 noundef %248)
  %250 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %249)
  %251 = load ptr, ptr %250, align 8, !tbaa !28
  %252 = getelementptr inbounds ptr, ptr %251, i64 4
  %253 = load ptr, ptr %252, align 8
  call void %253(ptr dead_on_unwind writable sret(%"class.vl::Ptr.46") align 8 %19, ptr noundef nonnull align 8 dereferenceable(344) %250)
  invoke void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind writable sret(%"class.vl::Ptr.141") align 8 %18, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %254 unwind label %260

254:                                              ; preds = %245
  %255 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %246, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %256 unwind label %264

256:                                              ; preds = %254
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #7
  br label %257

257:                                              ; preds = %256
  %258 = load i64, ptr %17, align 8, !tbaa !32
  %259 = add nsw i64 %258, 1
  store i64 %259, ptr %17, align 8, !tbaa !32
  br label %230, !llvm.loop !35

260:                                              ; preds = %245
  %261 = landingpad { ptr, i32 }
          cleanup
  %262 = extractvalue { ptr, i32 } %261, 0
  store ptr %262, ptr %7, align 8
  %263 = extractvalue { ptr, i32 } %261, 1
  store i32 %263, ptr %8, align 4
  br label %268

264:                                              ; preds = %254
  %265 = landingpad { ptr, i32 }
          cleanup
  %266 = extractvalue { ptr, i32 } %265, 0
  store ptr %266, ptr %7, align 8
  %267 = extractvalue { ptr, i32 } %265, 1
  store i32 %267, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %268

268:                                              ; preds = %264, %260
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  br label %1110

269:                                              ; preds = %235
  br label %1107

270:                                              ; preds = %93
  %271 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 4
  %272 = load i8, ptr %271, align 8, !tbaa !16, !range !26, !noundef !27
  %273 = trunc i8 %272 to i1
  br i1 %273, label %275, label %274

274:                                              ; preds = %270
  store i1 false, ptr %3, align 1
  br label %1108

275:                                              ; preds = %270
  %276 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %277 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %276)
  %278 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 7
  %279 = load i64, ptr %278, align 8, !tbaa !31
  %280 = icmp ne i64 %277, %279
  br i1 %280, label %281, label %282

281:                                              ; preds = %275
  store i1 false, ptr %3, align 1
  br label %1108

282:                                              ; preds = %275
  %283 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 9
  %284 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %285 = call noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %283, ptr noundef nonnull align 8 dereferenceable(32) %284)
  %286 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 4
  store i8 0, ptr %286, align 8, !tbaa !16
  %287 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %288 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %287, ptr noundef null)
  %289 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 5
  %290 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %289, ptr noundef null)
  %291 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 6
  %292 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %291, ptr noundef null)
  %293 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 7
  store i64 0, ptr %293, align 8, !tbaa !31
  %294 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 8
  %295 = call noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E5ClearEv(ptr noundef nonnull align 8 dereferenceable(33) %294)
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #7
  %296 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 416) #8
  store i1 true, ptr %22, align 1
  %297 = load ptr, ptr %5, align 8, !tbaa !5
  %298 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %297, i32 0, i32 2
  call void @llvm.lifetime.start.p0(i64 56, ptr %21) #7
  %299 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %300 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %299)
          to label %301 unwind label %327

301:                                              ; preds = %282
  invoke void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind writable sret(%"struct.vl::parsing::ParsingTextRange") align 8 %21, ptr noundef nonnull align 8 dereferenceable(128) %300)
          to label %302 unwind label %327

302:                                              ; preds = %301
  invoke void @_ZN2vl7parsing17ParsingTreeObjectC1ERKNS_12ObjectStringIwEERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(344) %296, ptr noundef nonnull align 8 dereferenceable(48) %298, ptr noundef nonnull align 8 dereferenceable(56) %21)
          to label %303 unwind label %327

303:                                              ; preds = %302
  store i1 false, ptr %22, align 1
  invoke void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %296)
          to label %304 unwind label %327

304:                                              ; preds = %303
  call void @llvm.lifetime.end.p0(i64 56, ptr %21) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #7
  %305 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 304) #8
          to label %306 unwind label %334

306:                                              ; preds = %304
  store i1 true, ptr %26, align 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %24) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %24, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %307 unwind label %338

307:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 56, ptr %25) #7
  %308 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %309 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %308)
          to label %310 unwind label %342

310:                                              ; preds = %307
  invoke void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind writable sret(%"struct.vl::parsing::ParsingTextRange") align 8 %25, ptr noundef nonnull align 8 dereferenceable(128) %309)
          to label %311 unwind label %342

311:                                              ; preds = %310
  invoke void @_ZN2vl7parsing16ParsingTreeArrayC1ERKNS_12ObjectStringIwEERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(232) %305, ptr noundef nonnull align 8 dereferenceable(48) %24, ptr noundef nonnull align 8 dereferenceable(56) %25)
          to label %312 unwind label %342

312:                                              ; preds = %311
  store i1 false, ptr %26, align 1
  invoke void @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef %305)
          to label %313 unwind label %342

313:                                              ; preds = %312
  call void @llvm.lifetime.end.p0(i64 56, ptr %25) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %24) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #7
  store i8 1, ptr %27, align 1, !tbaa !36
  %314 = load i8, ptr %27, align 1, !tbaa !36, !range !26, !noundef !27
  %315 = trunc i8 %314 to i1
  br i1 %315, label %316, label %388

316:                                              ; preds = %313
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %29) #7
  %317 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 9
  %318 = load ptr, ptr %317, align 8, !tbaa !28
  %319 = getelementptr i8, ptr %318, i64 -24
  %320 = load i64, ptr %319, align 8
  %321 = getelementptr inbounds i8, ptr %317, i64 %320
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing17ParsingTreeObjectEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.634") align 8 %29, ptr noundef nonnull align 8 dereferenceable(8) %321)
          to label %322 unwind label %350

322:                                              ; preds = %316
  store ptr %29, ptr %28, align 8, !tbaa !5
  br label %323

323:                                              ; preds = %385, %322
  %324 = load i8, ptr %27, align 1, !tbaa !36, !range !26, !noundef !27
  %325 = trunc i8 %324 to i1
  br i1 %325, label %354, label %326

326:                                              ; preds = %323
  store i32 9, ptr %30, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing17ParsingTreeObjectEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  br label %387

327:                                              ; preds = %303, %302, %301, %282
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %7, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %21) #7
  %331 = load i1, ptr %22, align 1
  br i1 %331, label %332, label %333

332:                                              ; preds = %327
  call void @_ZdlPvm(ptr noundef %296, i64 noundef 416) #9
  br label %333

333:                                              ; preds = %332, %327
  br label %420

334:                                              ; preds = %304
  %335 = landingpad { ptr, i32 }
          cleanup
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %7, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %8, align 4
  br label %419

338:                                              ; preds = %306
  %339 = landingpad { ptr, i32 }
          cleanup
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %7, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %8, align 4
  br label %346

342:                                              ; preds = %312, %311, %310, %307
  %343 = landingpad { ptr, i32 }
          cleanup
  %344 = extractvalue { ptr, i32 } %343, 0
  store ptr %344, ptr %7, align 8
  %345 = extractvalue { ptr, i32 } %343, 1
  store i32 %345, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %25) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #7
  br label %346

346:                                              ; preds = %342, %338
  call void @llvm.lifetime.end.p0(i64 48, ptr %24) #7
  %347 = load i1, ptr %26, align 1
  br i1 %347, label %348, label %349

348:                                              ; preds = %346
  call void @_ZdlPvm(ptr noundef %305, i64 noundef 304) #9
  br label %349

349:                                              ; preds = %348, %346
  br label %419

350:                                              ; preds = %316
  %351 = landingpad { ptr, i32 }
          cleanup
  %352 = extractvalue { ptr, i32 } %351, 0
  store ptr %352, ptr %7, align 8
  %353 = extractvalue { ptr, i32 } %351, 1
  store i32 %353, ptr %8, align 4
  br label %386

354:                                              ; preds = %323
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #7
  invoke void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %355 unwind label %364

355:                                              ; preds = %354
  br label %356

356:                                              ; preds = %377, %355
  %357 = load ptr, ptr %28, align 8, !tbaa !5
  %358 = load ptr, ptr %357, align 8, !tbaa !28
  %359 = getelementptr inbounds ptr, ptr %358, i64 2
  %360 = load ptr, ptr %359, align 8
  %361 = invoke noundef zeroext i1 %360(ptr noundef nonnull align 8 dereferenceable(8) %357, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %362 unwind label %368

362:                                              ; preds = %356
  br i1 %361, label %372, label %363

363:                                              ; preds = %362
  store i32 12, ptr %30, align 4
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #7
  br label %384

364:                                              ; preds = %354
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %7, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %8, align 4
  br label %383

368:                                              ; preds = %374, %372, %356
  %369 = landingpad { ptr, i32 }
          cleanup
  %370 = extractvalue { ptr, i32 } %369, 0
  store ptr %370, ptr %7, align 8
  %371 = extractvalue { ptr, i32 } %369, 1
  store i32 %371, ptr %8, align 4
  br label %382

372:                                              ; preds = %362
  %373 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %374 unwind label %368

374:                                              ; preds = %372
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_17ParsingTreeObjectEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %375 unwind label %368

375:                                              ; preds = %374
  %376 = invoke noundef zeroext i1 @_ZN2vl7parsing16ParsingTreeArray7AddItemENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(232) %373, ptr noundef %32)
          to label %377 unwind label %378

377:                                              ; preds = %375
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  br label %356, !llvm.loop !37

378:                                              ; preds = %375
  %379 = landingpad { ptr, i32 }
          cleanup
  %380 = extractvalue { ptr, i32 } %379, 0
  store ptr %380, ptr %7, align 8
  %381 = extractvalue { ptr, i32 } %379, 1
  store i32 %381, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  br label %382

382:                                              ; preds = %378, %368
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %383

383:                                              ; preds = %382, %364
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing17ParsingTreeObjectEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %29) #7
  br label %386

384:                                              ; preds = %363
  br label %385

385:                                              ; preds = %384
  store i8 0, ptr %27, align 1, !tbaa !36
  br label %323, !llvm.loop !38

386:                                              ; preds = %383, %350
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #7
  br label %418

387:                                              ; preds = %326
  br label %388

388:                                              ; preds = %387, %313
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #7
  %389 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %390 unwind label %400

390:                                              ; preds = %388
  call void @llvm.lifetime.start.p0(i64 48, ptr %33) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %33, ptr noundef @.str.146, i1 noundef zeroext true)
          to label %391 unwind label %404

391:                                              ; preds = %390
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_16ParsingTreeArrayEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %392 unwind label %408

392:                                              ; preds = %391
  %393 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %389, ptr noundef nonnull align 8 dereferenceable(48) %33, ptr noundef %34)
          to label %394 unwind label %412

394:                                              ; preds = %392
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %33) #7
  %395 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %396 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %395, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %397 unwind label %400

397:                                              ; preds = %394
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #7
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #7
  %398 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 9
  %399 = call noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E5ClearEv(ptr noundef nonnull align 8 dereferenceable(33) %398)
  br label %1107

400:                                              ; preds = %394, %388
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %7, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %8, align 4
  br label %418

404:                                              ; preds = %390
  %405 = landingpad { ptr, i32 }
          cleanup
  %406 = extractvalue { ptr, i32 } %405, 0
  store ptr %406, ptr %7, align 8
  %407 = extractvalue { ptr, i32 } %405, 1
  store i32 %407, ptr %8, align 4
  br label %417

408:                                              ; preds = %391
  %409 = landingpad { ptr, i32 }
          cleanup
  %410 = extractvalue { ptr, i32 } %409, 0
  store ptr %410, ptr %7, align 8
  %411 = extractvalue { ptr, i32 } %409, 1
  store i32 %411, ptr %8, align 4
  br label %416

412:                                              ; preds = %392
  %413 = landingpad { ptr, i32 }
          cleanup
  %414 = extractvalue { ptr, i32 } %413, 0
  store ptr %414, ptr %7, align 8
  %415 = extractvalue { ptr, i32 } %413, 1
  store i32 %415, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %416

416:                                              ; preds = %412, %408
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #7
  br label %417

417:                                              ; preds = %416, %404
  call void @llvm.lifetime.end.p0(i64 48, ptr %33) #7
  br label %418

418:                                              ; preds = %417, %400, %386
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %419

419:                                              ; preds = %418, %349, %334
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #7
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %420

420:                                              ; preds = %419, %333
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #7
  br label %1110

421:                                              ; preds = %93
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #7
  store i64 0, ptr %35, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #7
  %422 = load ptr, ptr %5, align 8, !tbaa !5
  %423 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %422, i32 0, i32 9
  %424 = load i64, ptr %423, align 8, !tbaa !39
  store i64 %424, ptr %36, align 8, !tbaa !32
  br label %425

425:                                              ; preds = %1060, %421
  %426 = load i64, ptr %36, align 8, !tbaa !32
  %427 = load ptr, ptr %5, align 8, !tbaa !5
  %428 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %427, i32 0, i32 9
  %429 = load i64, ptr %428, align 8, !tbaa !39
  %430 = load ptr, ptr %5, align 8, !tbaa !5
  %431 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %430, i32 0, i32 10
  %432 = load i64, ptr %431, align 8, !tbaa !40
  %433 = add nsw i64 %429, %432
  %434 = icmp slt i64 %426, %433
  br i1 %434, label %436, label %435

435:                                              ; preds = %425
  store i32 14, ptr %30, align 4
  br label %1064

436:                                              ; preds = %425
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  %437 = load ptr, ptr %5, align 8, !tbaa !5
  %438 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %437, i32 0, i32 8
  %439 = load ptr, ptr %438, align 8, !tbaa !41
  %440 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionItem", ptr %439, i32 0, i32 4
  %441 = load i64, ptr %36, align 8, !tbaa !32
  %442 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN2vl11collections4ListINS_7parsing7tabling12ParsingTable11InstructionES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %440, i64 noundef %441)
  store ptr %442, ptr %37, align 8, !tbaa !5
  %443 = load ptr, ptr %37, align 8, !tbaa !5
  %444 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %443, i32 0, i32 0
  %445 = load i32, ptr %444, align 8, !tbaa !42
  switch i32 %445, label %1055 [
    i32 0, label %446
    i32 3, label %463
    i32 1, label %568
    i32 2, label %679
    i32 4, label %902
    i32 5, label %934
    i32 6, label %959
    i32 7, label %1006
  ]

446:                                              ; preds = %436
  %447 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %448 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %447)
  %449 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing17ParsingTreeObject7GetTypeEv(ptr noundef nonnull align 8 dereferenceable(344) %448)
  %450 = call noundef zeroext i1 @_ZNK2vl12ObjectStringIwEneEPKw(ptr noundef nonnull align 8 dereferenceable(48) %449, ptr noundef @.str.2)
  br i1 %450, label %451, label %452

451:                                              ; preds = %446
  store i1 false, ptr %3, align 1
  store i32 1, ptr %30, align 4
  br label %1057

452:                                              ; preds = %446
  %453 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %454 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %453)
  %455 = load ptr, ptr %37, align 8, !tbaa !5
  %456 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %455, i32 0, i32 2
  call void @_ZN2vl7parsing17ParsingTreeObject7SetTypeERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(344) %454, ptr noundef nonnull align 8 dereferenceable(48) %456)
  %457 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %458 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %457)
  %459 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZN2vl7parsing17ParsingTreeObject15GetCreatorRulesEv(ptr noundef nonnull align 8 dereferenceable(344) %458)
  %460 = load ptr, ptr %37, align 8, !tbaa !5
  %461 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %460, i32 0, i32 4
  %462 = call noundef i64 @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_E3AddERKS3_(ptr noundef nonnull align 8 dereferenceable(33) %459, ptr noundef nonnull align 8 dereferenceable(48) %461)
  br label %1056

463:                                              ; preds = %436
  %464 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %465 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %464)
  %466 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing17ParsingTreeObject7GetTypeEv(ptr noundef nonnull align 8 dereferenceable(344) %465)
  %467 = call noundef zeroext i1 @_ZNK2vl12ObjectStringIwEneEPKw(ptr noundef nonnull align 8 dereferenceable(48) %466, ptr noundef @.str.2)
  br i1 %467, label %471, label %468

468:                                              ; preds = %463
  %469 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %470 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %469)
  br i1 %470, label %472, label %471

471:                                              ; preds = %468, %463
  store i1 false, ptr %3, align 1
  store i32 1, ptr %30, align 4
  br label %1057

472:                                              ; preds = %468
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #7
  %473 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  call void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind writable sret(%"class.vl::Ptr.141") align 8 %38, ptr noundef nonnull align 8 dereferenceable(32) %473)
  %474 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %475 unwind label %477

475:                                              ; preds = %472
  br i1 %474, label %481, label %476

476:                                              ; preds = %475
  store i1 false, ptr %3, align 1
  store i32 1, ptr %30, align 4
  br label %564

477:                                              ; preds = %560, %556, %554, %551, %548, %472
  %478 = landingpad { ptr, i32 }
          cleanup
  %479 = extractvalue { ptr, i32 } %478, 0
  store ptr %479, ptr %7, align 8
  %480 = extractvalue { ptr, i32 } %478, 1
  store i32 %480, ptr %8, align 4
  br label %567

481:                                              ; preds = %475
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #7
  store i64 0, ptr %39, align 8, !tbaa !32
  br label %482

482:                                              ; preds = %525, %481
  %483 = load i64, ptr %39, align 8, !tbaa !32
  %484 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %485 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %484)
          to label %486 unwind label %493

486:                                              ; preds = %482
  %487 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZN2vl7parsing17ParsingTreeObject10GetMembersEv(ptr noundef nonnull align 8 dereferenceable(344) %485)
          to label %488 unwind label %493

488:                                              ; preds = %486
  %489 = invoke noundef i64 @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %487)
          to label %490 unwind label %493

490:                                              ; preds = %488
  %491 = icmp slt i64 %483, %489
  br i1 %491, label %497, label %492

492:                                              ; preds = %490
  store i32 18, ptr %30, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  br label %548

493:                                              ; preds = %488, %486, %482
  %494 = landingpad { ptr, i32 }
          cleanup
  %495 = extractvalue { ptr, i32 } %494, 0
  store ptr %495, ptr %7, align 8
  %496 = extractvalue { ptr, i32 } %494, 1
  store i32 %496, ptr %8, align 4
  br label %547

497:                                              ; preds = %490
  call void @llvm.lifetime.start.p0(i64 48, ptr %40) #7
  %498 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %499 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %498)
          to label %500 unwind label %528

500:                                              ; preds = %497
  %501 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZN2vl7parsing17ParsingTreeObject10GetMembersEv(ptr noundef nonnull align 8 dereferenceable(344) %499)
          to label %502 unwind label %528

502:                                              ; preds = %500
  %503 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %501)
          to label %504 unwind label %528

504:                                              ; preds = %502
  %505 = load i64, ptr %39, align 8, !tbaa !32
  %506 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNK2vl11collections9ArrayBaseINS_12ObjectStringIwEEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %503, i64 noundef %505)
          to label %507 unwind label %528

507:                                              ; preds = %504
  invoke void @_ZN2vl12ObjectStringIwEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %40, ptr noundef nonnull align 8 dereferenceable(48) %506)
          to label %508 unwind label %528

508:                                              ; preds = %507
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #7
  %509 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %510 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %509)
          to label %511 unwind label %532

511:                                              ; preds = %508
  %512 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZN2vl7parsing17ParsingTreeObject10GetMembersEv(ptr noundef nonnull align 8 dereferenceable(344) %510)
          to label %513 unwind label %532

513:                                              ; preds = %511
  %514 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %512)
          to label %515 unwind label %532

515:                                              ; preds = %513
  %516 = load i64, ptr %39, align 8, !tbaa !32
  %517 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing15ParsingTreeNodeEEEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %514, i64 noundef %516)
          to label %518 unwind label %532

518:                                              ; preds = %515
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %517)
          to label %519 unwind label %532

519:                                              ; preds = %518
  %520 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %521 unwind label %536

521:                                              ; preds = %519
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %522 unwind label %536

522:                                              ; preds = %521
  %523 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %520, ptr noundef nonnull align 8 dereferenceable(48) %40, ptr noundef %42)
          to label %524 unwind label %540

524:                                              ; preds = %522
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %40) #7
  br label %525

525:                                              ; preds = %524
  %526 = load i64, ptr %39, align 8, !tbaa !32
  %527 = add nsw i64 %526, 1
  store i64 %527, ptr %39, align 8, !tbaa !32
  br label %482, !llvm.loop !45

528:                                              ; preds = %507, %504, %502, %500, %497
  %529 = landingpad { ptr, i32 }
          cleanup
  %530 = extractvalue { ptr, i32 } %529, 0
  store ptr %530, ptr %7, align 8
  %531 = extractvalue { ptr, i32 } %529, 1
  store i32 %531, ptr %8, align 4
  br label %546

532:                                              ; preds = %518, %515, %513, %511, %508
  %533 = landingpad { ptr, i32 }
          cleanup
  %534 = extractvalue { ptr, i32 } %533, 0
  store ptr %534, ptr %7, align 8
  %535 = extractvalue { ptr, i32 } %533, 1
  store i32 %535, ptr %8, align 4
  br label %545

536:                                              ; preds = %521, %519
  %537 = landingpad { ptr, i32 }
          cleanup
  %538 = extractvalue { ptr, i32 } %537, 0
  store ptr %538, ptr %7, align 8
  %539 = extractvalue { ptr, i32 } %537, 1
  store i32 %539, ptr %8, align 4
  br label %544

540:                                              ; preds = %522
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %7, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  br label %544

544:                                              ; preds = %540, %536
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %545

545:                                              ; preds = %544, %532
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %40) #7
  br label %546

546:                                              ; preds = %545, %528
  call void @llvm.lifetime.end.p0(i64 48, ptr %40) #7
  br label %547

547:                                              ; preds = %546, %493
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  br label %567

548:                                              ; preds = %492
  %549 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %550 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %549, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %551 unwind label %477

551:                                              ; preds = %548
  %552 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %553 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %552)
          to label %554 unwind label %477

554:                                              ; preds = %551
  %555 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZN2vl7parsing17ParsingTreeObject15GetCreatorRulesEv(ptr noundef nonnull align 8 dereferenceable(344) %553)
          to label %556 unwind label %477

556:                                              ; preds = %554
  %557 = load ptr, ptr %37, align 8, !tbaa !5
  %558 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %557, i32 0, i32 4
  %559 = invoke noundef i64 @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_E3AddERKS3_(ptr noundef nonnull align 8 dereferenceable(33) %555, ptr noundef nonnull align 8 dereferenceable(48) %558)
          to label %560 unwind label %477

560:                                              ; preds = %556
  %561 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %562 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %561, ptr noundef null)
          to label %563 unwind label %477

563:                                              ; preds = %560
  store i32 0, ptr %30, align 4
  br label %564

564:                                              ; preds = %563, %476
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #7
  %565 = load i32, ptr %30, align 4
  switch i32 %565, label %1057 [
    i32 0, label %566
  ]

566:                                              ; preds = %564
  br label %1056

567:                                              ; preds = %547, %477
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #7
  br label %1063

568:                                              ; preds = %436
  %569 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %570 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %569)
  br i1 %570, label %664, label %571

571:                                              ; preds = %568
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43)
  %572 = load ptr, ptr %5, align 8, !tbaa !5
  %573 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %572, i32 0, i32 7
  %574 = load ptr, ptr %573, align 8, !tbaa !46
  %575 = icmp eq ptr %574, null
  br i1 %575, label %576, label %603

576:                                              ; preds = %571
  %577 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 264) #8
          to label %578 unwind label %587

578:                                              ; preds = %576
  store i1 true, ptr %46, align 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %44) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %44, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %579 unwind label %591

579:                                              ; preds = %578
  %580 = load ptr, ptr %5, align 8, !tbaa !5
  %581 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %580, i32 0, i32 6
  %582 = load i64, ptr %581, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 56, ptr %45) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %45)
          to label %583 unwind label %595

583:                                              ; preds = %579
  invoke void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192) %577, ptr noundef nonnull align 8 dereferenceable(48) %44, i64 noundef %582, ptr noundef nonnull align 8 dereferenceable(56) %45)
          to label %584 unwind label %595

584:                                              ; preds = %583
  store i1 false, ptr %46, align 1
  %585 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef %577)
          to label %586 unwind label %595

586:                                              ; preds = %584
  call void @llvm.lifetime.end.p0(i64 56, ptr %45) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %44) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %44) #7
  br label %650

587:                                              ; preds = %653, %650, %623, %603, %576
  %588 = landingpad { ptr, i32 }
          cleanup
  %589 = extractvalue { ptr, i32 } %588, 0
  store ptr %589, ptr %7, align 8
  %590 = extractvalue { ptr, i32 } %588, 1
  store i32 %590, ptr %8, align 4
  br label %663

591:                                              ; preds = %578
  %592 = landingpad { ptr, i32 }
          cleanup
  %593 = extractvalue { ptr, i32 } %592, 0
  store ptr %593, ptr %7, align 8
  %594 = extractvalue { ptr, i32 } %592, 1
  store i32 %594, ptr %8, align 4
  br label %599

595:                                              ; preds = %584, %583, %579
  %596 = landingpad { ptr, i32 }
          cleanup
  %597 = extractvalue { ptr, i32 } %596, 0
  store ptr %597, ptr %7, align 8
  %598 = extractvalue { ptr, i32 } %596, 1
  store i32 %598, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %45) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %44) #7
  br label %599

599:                                              ; preds = %595, %591
  call void @llvm.lifetime.end.p0(i64 48, ptr %44) #7
  %600 = load i1, ptr %46, align 1
  br i1 %600, label %601, label %602

601:                                              ; preds = %599
  call void @_ZdlPvm(ptr noundef %577, i64 noundef 264) #9
  br label %602

602:                                              ; preds = %601, %599
  br label %663

603:                                              ; preds = %571
  %604 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 264) #8
          to label %605 unwind label %587

605:                                              ; preds = %603
  store i1 true, ptr %49, align 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %47) #7
  %606 = load ptr, ptr %5, align 8, !tbaa !5
  %607 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %606, i32 0, i32 7
  %608 = load ptr, ptr %607, align 8, !tbaa !46
  %609 = getelementptr inbounds %"class.vl::regex::RegexToken", ptr %608, i32 0, i32 3
  %610 = load ptr, ptr %609, align 8, !tbaa !48
  %611 = load ptr, ptr %5, align 8, !tbaa !5
  %612 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %611, i32 0, i32 7
  %613 = load ptr, ptr %612, align 8, !tbaa !46
  %614 = getelementptr inbounds %"class.vl::regex::RegexToken", ptr %613, i32 0, i32 1
  %615 = load i64, ptr %614, align 8, !tbaa !50
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwl(ptr noundef nonnull align 8 dereferenceable(48) %47, ptr noundef %610, i64 noundef %615)
          to label %616 unwind label %634

616:                                              ; preds = %605
  %617 = load ptr, ptr %5, align 8, !tbaa !5
  %618 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %617, i32 0, i32 6
  %619 = load i64, ptr %618, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 56, ptr %48) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %48)
          to label %620 unwind label %638

620:                                              ; preds = %616
  invoke void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192) %604, ptr noundef nonnull align 8 dereferenceable(48) %47, i64 noundef %619, ptr noundef nonnull align 8 dereferenceable(56) %48)
          to label %621 unwind label %638

621:                                              ; preds = %620
  store i1 false, ptr %49, align 1
  %622 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef %604)
          to label %623 unwind label %638

623:                                              ; preds = %621
  call void @llvm.lifetime.end.p0(i64 56, ptr %48) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %47) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %47) #7
  %624 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeTokenEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %625 unwind label %587

625:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 56, ptr %50) #7
  %626 = load ptr, ptr %5, align 8, !tbaa !5
  %627 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %626, i32 0, i32 7
  %628 = load ptr, ptr %627, align 8, !tbaa !46
  %629 = load ptr, ptr %5, align 8, !tbaa !5
  %630 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %629, i32 0, i32 7
  %631 = load ptr, ptr %630, align 8, !tbaa !46
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2EPKNS_5regex10RegexTokenES5_(ptr noundef nonnull align 8 dereferenceable(56) %50, ptr noundef %628, ptr noundef %631)
          to label %632 unwind label %646

632:                                              ; preds = %625
  invoke void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %624, ptr noundef nonnull align 8 dereferenceable(56) %50)
          to label %633 unwind label %646

633:                                              ; preds = %632
  call void @llvm.lifetime.end.p0(i64 56, ptr %50) #7
  br label %650

634:                                              ; preds = %605
  %635 = landingpad { ptr, i32 }
          cleanup
  %636 = extractvalue { ptr, i32 } %635, 0
  store ptr %636, ptr %7, align 8
  %637 = extractvalue { ptr, i32 } %635, 1
  store i32 %637, ptr %8, align 4
  br label %642

638:                                              ; preds = %621, %620, %616
  %639 = landingpad { ptr, i32 }
          cleanup
  %640 = extractvalue { ptr, i32 } %639, 0
  store ptr %640, ptr %7, align 8
  %641 = extractvalue { ptr, i32 } %639, 1
  store i32 %641, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %48) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %47) #7
  br label %642

642:                                              ; preds = %638, %634
  call void @llvm.lifetime.end.p0(i64 48, ptr %47) #7
  %643 = load i1, ptr %49, align 1
  br i1 %643, label %644, label %645

644:                                              ; preds = %642
  call void @_ZdlPvm(ptr noundef %604, i64 noundef 264) #9
  br label %645

645:                                              ; preds = %644, %642
  br label %663

646:                                              ; preds = %632, %625
  %647 = landingpad { ptr, i32 }
          cleanup
  %648 = extractvalue { ptr, i32 } %647, 0
  store ptr %648, ptr %7, align 8
  %649 = extractvalue { ptr, i32 } %647, 1
  store i32 %649, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %50) #7
  br label %663

650:                                              ; preds = %633, %586
  %651 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %652 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %651)
          to label %653 unwind label %587

653:                                              ; preds = %650
  %654 = load ptr, ptr %37, align 8, !tbaa !5
  %655 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %654, i32 0, i32 2
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_16ParsingTreeTokenEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %656 unwind label %587

656:                                              ; preds = %653
  %657 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %652, ptr noundef nonnull align 8 dereferenceable(48) %655, ptr noundef %51)
          to label %658 unwind label %659

658:                                              ; preds = %656
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #7
  br label %678

659:                                              ; preds = %656
  %660 = landingpad { ptr, i32 }
          cleanup
  %661 = extractvalue { ptr, i32 } %660, 0
  store ptr %661, ptr %7, align 8
  %662 = extractvalue { ptr, i32 } %660, 1
  store i32 %662, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %663

663:                                              ; preds = %659, %646, %645, %602, %587
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #7
  br label %1063

664:                                              ; preds = %568
  %665 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %666 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %665)
  %667 = load ptr, ptr %37, align 8, !tbaa !5
  %668 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %667, i32 0, i32 2
  %669 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %669)
  %670 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %666, ptr noundef nonnull align 8 dereferenceable(48) %668, ptr noundef %52)
          to label %671 unwind label %674

671:                                              ; preds = %664
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  %672 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %673 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %672, ptr noundef null)
  br label %678

674:                                              ; preds = %664
  %675 = landingpad { ptr, i32 }
          cleanup
  %676 = extractvalue { ptr, i32 } %675, 0
  store ptr %676, ptr %7, align 8
  %677 = extractvalue { ptr, i32 } %675, 1
  store i32 %677, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %1063

678:                                              ; preds = %671, %658
  br label %1056

679:                                              ; preds = %436
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #7
  %680 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %681 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %680)
  %682 = load ptr, ptr %37, align 8, !tbaa !5
  %683 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %682, i32 0, i32 2
  call void @_ZN2vl7parsing17ParsingTreeObject9GetMemberERKNS_12ObjectStringIwEE(ptr dead_on_unwind writable sret(%"class.vl::Ptr.46") align 8 %54, ptr noundef nonnull align 8 dereferenceable(344) %681, ptr noundef nonnull align 8 dereferenceable(48) %683)
  invoke void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_16ParsingTreeArrayEEENS0_IT_EEv(ptr dead_on_unwind writable sret(%"class.vl::Ptr.608") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %684 unwind label %703

684:                                              ; preds = %679
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  %685 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %686 unwind label %707

686:                                              ; preds = %684
  br i1 %685, label %727, label %687

687:                                              ; preds = %686
  %688 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 304) #8
          to label %689 unwind label %707

689:                                              ; preds = %687
  store i1 true, ptr %57, align 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %55) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %55, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %690 unwind label %711

690:                                              ; preds = %689
  call void @llvm.lifetime.start.p0(i64 56, ptr %56) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %56)
          to label %691 unwind label %715

691:                                              ; preds = %690
  invoke void @_ZN2vl7parsing16ParsingTreeArrayC1ERKNS_12ObjectStringIwEERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(232) %688, ptr noundef nonnull align 8 dereferenceable(48) %55, ptr noundef nonnull align 8 dereferenceable(56) %56)
          to label %692 unwind label %715

692:                                              ; preds = %691
  store i1 false, ptr %57, align 1
  %693 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef %688)
          to label %694 unwind label %715

694:                                              ; preds = %692
  call void @llvm.lifetime.end.p0(i64 56, ptr %56) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %55) #7
  %695 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %696 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %695)
          to label %697 unwind label %707

697:                                              ; preds = %694
  %698 = load ptr, ptr %37, align 8, !tbaa !5
  %699 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %698, i32 0, i32 2
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_16ParsingTreeArrayEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %700 unwind label %707

700:                                              ; preds = %697
  %701 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %696, ptr noundef nonnull align 8 dereferenceable(48) %699, ptr noundef %58)
          to label %702 unwind label %723

702:                                              ; preds = %700
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %727

703:                                              ; preds = %679
  %704 = landingpad { ptr, i32 }
          cleanup
  %705 = extractvalue { ptr, i32 } %704, 0
  store ptr %705, ptr %7, align 8
  %706 = extractvalue { ptr, i32 } %704, 1
  store i32 %706, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #7
  br label %901

707:                                              ; preds = %697, %694, %687, %684
  %708 = landingpad { ptr, i32 }
          cleanup
  %709 = extractvalue { ptr, i32 } %708, 0
  store ptr %709, ptr %7, align 8
  %710 = extractvalue { ptr, i32 } %708, 1
  store i32 %710, ptr %8, align 4
  br label %900

711:                                              ; preds = %689
  %712 = landingpad { ptr, i32 }
          cleanup
  %713 = extractvalue { ptr, i32 } %712, 0
  store ptr %713, ptr %7, align 8
  %714 = extractvalue { ptr, i32 } %712, 1
  store i32 %714, ptr %8, align 4
  br label %719

715:                                              ; preds = %692, %691, %690
  %716 = landingpad { ptr, i32 }
          cleanup
  %717 = extractvalue { ptr, i32 } %716, 0
  store ptr %717, ptr %7, align 8
  %718 = extractvalue { ptr, i32 } %716, 1
  store i32 %718, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %56) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #7
  br label %719

719:                                              ; preds = %715, %711
  call void @llvm.lifetime.end.p0(i64 48, ptr %55) #7
  %720 = load i1, ptr %57, align 1
  br i1 %720, label %721, label %722

721:                                              ; preds = %719
  call void @_ZdlPvm(ptr noundef %688, i64 noundef 304) #9
  br label %722

722:                                              ; preds = %721, %719
  br label %900

723:                                              ; preds = %700
  %724 = landingpad { ptr, i32 }
          cleanup
  %725 = extractvalue { ptr, i32 } %724, 0
  store ptr %725, ptr %7, align 8
  %726 = extractvalue { ptr, i32 } %724, 1
  store i32 %726, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %900

727:                                              ; preds = %702, %686
  call void @llvm.lifetime.start.p0(i64 56, ptr %59) #7
  %728 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %729 unwind label %752

729:                                              ; preds = %727
  invoke void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind writable sret(%"struct.vl::parsing::ParsingTextRange") align 8 %59, ptr noundef nonnull align 8 dereferenceable(128) %728)
          to label %730 unwind label %752

730:                                              ; preds = %729
  call void @llvm.lifetime.start.p0(i64 56, ptr %60) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %60)
          to label %731 unwind label %756

731:                                              ; preds = %730
  %732 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %733 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %732)
          to label %734 unwind label %756

734:                                              ; preds = %731
  br i1 %733, label %846, label %735

735:                                              ; preds = %734
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #7
  invoke void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %736 unwind label %760

736:                                              ; preds = %735
  %737 = load ptr, ptr %5, align 8, !tbaa !5
  %738 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %737, i32 0, i32 7
  %739 = load ptr, ptr %738, align 8, !tbaa !46
  %740 = icmp eq ptr %739, null
  br i1 %740, label %741, label %780

741:                                              ; preds = %736
  %742 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 264) #8
          to label %743 unwind label %764

743:                                              ; preds = %741
  store i1 true, ptr %64, align 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %62) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %62, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %744 unwind label %768

744:                                              ; preds = %743
  %745 = load ptr, ptr %5, align 8, !tbaa !5
  %746 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %745, i32 0, i32 6
  %747 = load i64, ptr %746, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 56, ptr %63) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %63)
          to label %748 unwind label %772

748:                                              ; preds = %744
  invoke void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192) %742, ptr noundef nonnull align 8 dereferenceable(48) %62, i64 noundef %747, ptr noundef nonnull align 8 dereferenceable(56) %63)
          to label %749 unwind label %772

749:                                              ; preds = %748
  store i1 false, ptr %64, align 1
  %750 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef %742)
          to label %751 unwind label %772

751:                                              ; preds = %749
  call void @llvm.lifetime.end.p0(i64 56, ptr %63) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %62) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %62) #7
  br label %834

752:                                              ; preds = %729, %727
  %753 = landingpad { ptr, i32 }
          cleanup
  %754 = extractvalue { ptr, i32 } %753, 0
  store ptr %754, ptr %7, align 8
  %755 = extractvalue { ptr, i32 } %753, 1
  store i32 %755, ptr %8, align 4
  br label %899

756:                                              ; preds = %896, %894, %886, %873, %856, %848, %846, %731, %730
  %757 = landingpad { ptr, i32 }
          cleanup
  %758 = extractvalue { ptr, i32 } %757, 0
  store ptr %758, ptr %7, align 8
  %759 = extractvalue { ptr, i32 } %757, 1
  store i32 %759, ptr %8, align 4
  br label %898

760:                                              ; preds = %735
  %761 = landingpad { ptr, i32 }
          cleanup
  %762 = extractvalue { ptr, i32 } %761, 0
  store ptr %762, ptr %7, align 8
  %763 = extractvalue { ptr, i32 } %761, 1
  store i32 %763, ptr %8, align 4
  br label %845

764:                                              ; preds = %836, %834, %800, %780, %741
  %765 = landingpad { ptr, i32 }
          cleanup
  %766 = extractvalue { ptr, i32 } %765, 0
  store ptr %766, ptr %7, align 8
  %767 = extractvalue { ptr, i32 } %765, 1
  store i32 %767, ptr %8, align 4
  br label %844

768:                                              ; preds = %743
  %769 = landingpad { ptr, i32 }
          cleanup
  %770 = extractvalue { ptr, i32 } %769, 0
  store ptr %770, ptr %7, align 8
  %771 = extractvalue { ptr, i32 } %769, 1
  store i32 %771, ptr %8, align 4
  br label %776

772:                                              ; preds = %749, %748, %744
  %773 = landingpad { ptr, i32 }
          cleanup
  %774 = extractvalue { ptr, i32 } %773, 0
  store ptr %774, ptr %7, align 8
  %775 = extractvalue { ptr, i32 } %773, 1
  store i32 %775, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %63) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %62) #7
  br label %776

776:                                              ; preds = %772, %768
  call void @llvm.lifetime.end.p0(i64 48, ptr %62) #7
  %777 = load i1, ptr %64, align 1
  br i1 %777, label %778, label %779

778:                                              ; preds = %776
  call void @_ZdlPvm(ptr noundef %742, i64 noundef 264) #9
  br label %779

779:                                              ; preds = %778, %776
  br label %844

780:                                              ; preds = %736
  %781 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 264) #8
          to label %782 unwind label %764

782:                                              ; preds = %780
  store i1 true, ptr %67, align 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %65) #7
  %783 = load ptr, ptr %5, align 8, !tbaa !5
  %784 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %783, i32 0, i32 7
  %785 = load ptr, ptr %784, align 8, !tbaa !46
  %786 = getelementptr inbounds %"class.vl::regex::RegexToken", ptr %785, i32 0, i32 3
  %787 = load ptr, ptr %786, align 8, !tbaa !48
  %788 = load ptr, ptr %5, align 8, !tbaa !5
  %789 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %788, i32 0, i32 7
  %790 = load ptr, ptr %789, align 8, !tbaa !46
  %791 = getelementptr inbounds %"class.vl::regex::RegexToken", ptr %790, i32 0, i32 1
  %792 = load i64, ptr %791, align 8, !tbaa !50
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwl(ptr noundef nonnull align 8 dereferenceable(48) %65, ptr noundef %787, i64 noundef %792)
          to label %793 unwind label %814

793:                                              ; preds = %782
  %794 = load ptr, ptr %5, align 8, !tbaa !5
  %795 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %794, i32 0, i32 6
  %796 = load i64, ptr %795, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 56, ptr %66) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %66)
          to label %797 unwind label %818

797:                                              ; preds = %793
  invoke void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192) %781, ptr noundef nonnull align 8 dereferenceable(48) %65, i64 noundef %796, ptr noundef nonnull align 8 dereferenceable(56) %66)
          to label %798 unwind label %818

798:                                              ; preds = %797
  store i1 false, ptr %67, align 1
  %799 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef %781)
          to label %800 unwind label %818

800:                                              ; preds = %798
  call void @llvm.lifetime.end.p0(i64 56, ptr %66) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %65) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %65) #7
  %801 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeTokenEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %802 unwind label %764

802:                                              ; preds = %800
  call void @llvm.lifetime.start.p0(i64 56, ptr %68) #7
  %803 = load ptr, ptr %5, align 8, !tbaa !5
  %804 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %803, i32 0, i32 7
  %805 = load ptr, ptr %804, align 8, !tbaa !46
  %806 = load ptr, ptr %5, align 8, !tbaa !5
  %807 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %806, i32 0, i32 7
  %808 = load ptr, ptr %807, align 8, !tbaa !46
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2EPKNS_5regex10RegexTokenES5_(ptr noundef nonnull align 8 dereferenceable(56) %68, ptr noundef %805, ptr noundef %808)
          to label %809 unwind label %826

809:                                              ; preds = %802
  invoke void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %801, ptr noundef nonnull align 8 dereferenceable(56) %68)
          to label %810 unwind label %826

810:                                              ; preds = %809
  call void @llvm.lifetime.end.p0(i64 56, ptr %68) #7
  call void @llvm.lifetime.start.p0(i64 56, ptr %69) #7
  %811 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeTokenEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %812 unwind label %830

812:                                              ; preds = %810
  invoke void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind writable sret(%"struct.vl::parsing::ParsingTextRange") align 8 %69, ptr noundef nonnull align 8 dereferenceable(128) %811)
          to label %813 unwind label %830

813:                                              ; preds = %812
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %60, ptr align 8 %69, i64 56, i1 false), !tbaa.struct !51
  call void @llvm.lifetime.end.p0(i64 56, ptr %69) #7
  br label %834

814:                                              ; preds = %782
  %815 = landingpad { ptr, i32 }
          cleanup
  %816 = extractvalue { ptr, i32 } %815, 0
  store ptr %816, ptr %7, align 8
  %817 = extractvalue { ptr, i32 } %815, 1
  store i32 %817, ptr %8, align 4
  br label %822

818:                                              ; preds = %798, %797, %793
  %819 = landingpad { ptr, i32 }
          cleanup
  %820 = extractvalue { ptr, i32 } %819, 0
  store ptr %820, ptr %7, align 8
  %821 = extractvalue { ptr, i32 } %819, 1
  store i32 %821, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %66) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %65) #7
  br label %822

822:                                              ; preds = %818, %814
  call void @llvm.lifetime.end.p0(i64 48, ptr %65) #7
  %823 = load i1, ptr %67, align 1
  br i1 %823, label %824, label %825

824:                                              ; preds = %822
  call void @_ZdlPvm(ptr noundef %781, i64 noundef 264) #9
  br label %825

825:                                              ; preds = %824, %822
  br label %844

826:                                              ; preds = %809, %802
  %827 = landingpad { ptr, i32 }
          cleanup
  %828 = extractvalue { ptr, i32 } %827, 0
  store ptr %828, ptr %7, align 8
  %829 = extractvalue { ptr, i32 } %827, 1
  store i32 %829, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %68) #7
  br label %844

830:                                              ; preds = %812, %810
  %831 = landingpad { ptr, i32 }
          cleanup
  %832 = extractvalue { ptr, i32 } %831, 0
  store ptr %832, ptr %7, align 8
  %833 = extractvalue { ptr, i32 } %831, 1
  store i32 %833, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %69) #7
  br label %844

834:                                              ; preds = %813, %751
  %835 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %836 unwind label %764

836:                                              ; preds = %834
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_16ParsingTreeTokenEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %837 unwind label %764

837:                                              ; preds = %836
  %838 = invoke noundef zeroext i1 @_ZN2vl7parsing16ParsingTreeArray7AddItemENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(232) %835, ptr noundef %70)
          to label %839 unwind label %840

839:                                              ; preds = %837
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #7
  br label %868

840:                                              ; preds = %837
  %841 = landingpad { ptr, i32 }
          cleanup
  %842 = extractvalue { ptr, i32 } %841, 0
  store ptr %842, ptr %7, align 8
  %843 = extractvalue { ptr, i32 } %841, 1
  store i32 %843, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  br label %844

844:                                              ; preds = %840, %830, %826, %825, %779, %764
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %845

845:                                              ; preds = %844, %760
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #7
  br label %898

846:                                              ; preds = %734
  %847 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %848 unwind label %756

848:                                              ; preds = %846
  %849 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(32) %849)
          to label %850 unwind label %756

850:                                              ; preds = %848
  %851 = invoke noundef zeroext i1 @_ZN2vl7parsing16ParsingTreeArray7AddItemENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(232) %847, ptr noundef %71)
          to label %852 unwind label %860

852:                                              ; preds = %850
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  call void @llvm.lifetime.start.p0(i64 56, ptr %72) #7
  %853 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %854 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %853)
          to label %855 unwind label %864

855:                                              ; preds = %852
  invoke void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind writable sret(%"struct.vl::parsing::ParsingTextRange") align 8 %72, ptr noundef nonnull align 8 dereferenceable(128) %854)
          to label %856 unwind label %864

856:                                              ; preds = %855
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %60, ptr align 8 %72, i64 56, i1 false), !tbaa.struct !51
  call void @llvm.lifetime.end.p0(i64 56, ptr %72) #7
  %857 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %858 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %857, ptr noundef null)
          to label %859 unwind label %756

859:                                              ; preds = %856
  br label %868

860:                                              ; preds = %850
  %861 = landingpad { ptr, i32 }
          cleanup
  %862 = extractvalue { ptr, i32 } %861, 0
  store ptr %862, ptr %7, align 8
  %863 = extractvalue { ptr, i32 } %861, 1
  store i32 %863, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %898

864:                                              ; preds = %855, %852
  %865 = landingpad { ptr, i32 }
          cleanup
  %866 = extractvalue { ptr, i32 } %865, 0
  store ptr %866, ptr %7, align 8
  %867 = extractvalue { ptr, i32 } %865, 1
  store i32 %867, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %72) #7
  br label %898

868:                                              ; preds = %859, %839
  %869 = getelementptr inbounds %"struct.vl::parsing::ParsingTextRange", ptr %59, i32 0, i32 0
  %870 = getelementptr inbounds %"struct.vl::parsing::ParsingTextPos", ptr %869, i32 0, i32 0
  %871 = load i64, ptr %870, align 8, !tbaa !52
  %872 = icmp eq i64 %871, -2
  br i1 %872, label %878, label %873

873:                                              ; preds = %868
  %874 = getelementptr inbounds %"struct.vl::parsing::ParsingTextRange", ptr %60, i32 0, i32 0
  %875 = getelementptr inbounds %"struct.vl::parsing::ParsingTextRange", ptr %59, i32 0, i32 0
  %876 = invoke noundef zeroext i1 @_ZNK2vl7parsing14ParsingTextPosltERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %874, ptr noundef nonnull align 8 dereferenceable(24) %875)
          to label %877 unwind label %756

877:                                              ; preds = %873
  br i1 %876, label %878, label %881

878:                                              ; preds = %877, %868
  %879 = getelementptr inbounds %"struct.vl::parsing::ParsingTextRange", ptr %60, i32 0, i32 0
  %880 = getelementptr inbounds %"struct.vl::parsing::ParsingTextRange", ptr %59, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %880, ptr align 8 %879, i64 24, i1 false), !tbaa.struct !55
  br label %881

881:                                              ; preds = %878, %877
  %882 = getelementptr inbounds %"struct.vl::parsing::ParsingTextRange", ptr %59, i32 0, i32 1
  %883 = getelementptr inbounds %"struct.vl::parsing::ParsingTextPos", ptr %882, i32 0, i32 0
  %884 = load i64, ptr %883, align 8, !tbaa !56
  %885 = icmp eq i64 %884, -2
  br i1 %885, label %891, label %886

886:                                              ; preds = %881
  %887 = getelementptr inbounds %"struct.vl::parsing::ParsingTextRange", ptr %60, i32 0, i32 1
  %888 = getelementptr inbounds %"struct.vl::parsing::ParsingTextRange", ptr %59, i32 0, i32 1
  %889 = invoke noundef zeroext i1 @_ZNK2vl7parsing14ParsingTextPosgtERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %887, ptr noundef nonnull align 8 dereferenceable(24) %888)
          to label %890 unwind label %756

890:                                              ; preds = %886
  br i1 %889, label %891, label %894

891:                                              ; preds = %890, %881
  %892 = getelementptr inbounds %"struct.vl::parsing::ParsingTextRange", ptr %60, i32 0, i32 1
  %893 = getelementptr inbounds %"struct.vl::parsing::ParsingTextRange", ptr %59, i32 0, i32 1
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %893, ptr align 8 %892, i64 24, i1 false), !tbaa.struct !55
  br label %894

894:                                              ; preds = %891, %890
  %895 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %896 unwind label %756

896:                                              ; preds = %894
  invoke void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %895, ptr noundef nonnull align 8 dereferenceable(56) %59)
          to label %897 unwind label %756

897:                                              ; preds = %896
  call void @llvm.lifetime.end.p0(i64 56, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %59) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #7
  br label %1056

898:                                              ; preds = %864, %860, %845, %756
  call void @llvm.lifetime.end.p0(i64 56, ptr %60) #7
  br label %899

899:                                              ; preds = %898, %752
  call void @llvm.lifetime.end.p0(i64 56, ptr %59) #7
  br label %900

900:                                              ; preds = %899, %723, %722, %707
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %901

901:                                              ; preds = %900, %703
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #7
  br label %1063

902:                                              ; preds = %436
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #7
  %903 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 264) #8
  store i1 true, ptr %75, align 1
  %904 = load ptr, ptr %37, align 8, !tbaa !5
  %905 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %904, i32 0, i32 3
  call void @llvm.lifetime.start.p0(i64 56, ptr %74) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %74)
          to label %906 unwind label %917

906:                                              ; preds = %902
  invoke void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192) %903, ptr noundef nonnull align 8 dereferenceable(48) %905, i64 noundef -1, ptr noundef nonnull align 8 dereferenceable(56) %74)
          to label %907 unwind label %917

907:                                              ; preds = %906
  store i1 false, ptr %75, align 1
  invoke void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef %903)
          to label %908 unwind label %917

908:                                              ; preds = %907
  call void @llvm.lifetime.end.p0(i64 56, ptr %74) #7
  %909 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %910 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %909)
          to label %911 unwind label %924

911:                                              ; preds = %908
  %912 = load ptr, ptr %37, align 8, !tbaa !5
  %913 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %912, i32 0, i32 2
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_16ParsingTreeTokenEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %914 unwind label %924

914:                                              ; preds = %911
  %915 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %910, ptr noundef nonnull align 8 dereferenceable(48) %913, ptr noundef %76)
          to label %916 unwind label %928

916:                                              ; preds = %914
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  br label %1056

917:                                              ; preds = %907, %906, %902
  %918 = landingpad { ptr, i32 }
          cleanup
  %919 = extractvalue { ptr, i32 } %918, 0
  store ptr %919, ptr %7, align 8
  %920 = extractvalue { ptr, i32 } %918, 1
  store i32 %920, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %74) #7
  %921 = load i1, ptr %75, align 1
  br i1 %921, label %922, label %923

922:                                              ; preds = %917
  call void @_ZdlPvm(ptr noundef %903, i64 noundef 264) #9
  br label %923

923:                                              ; preds = %922, %917
  br label %933

924:                                              ; preds = %911, %908
  %925 = landingpad { ptr, i32 }
          cleanup
  %926 = extractvalue { ptr, i32 } %925, 0
  store ptr %926, ptr %7, align 8
  %927 = extractvalue { ptr, i32 } %925, 1
  store i32 %927, ptr %8, align 4
  br label %932

928:                                              ; preds = %914
  %929 = landingpad { ptr, i32 }
          cleanup
  %930 = extractvalue { ptr, i32 } %929, 0
  store ptr %930, ptr %7, align 8
  %931 = extractvalue { ptr, i32 } %929, 1
  store i32 %931, ptr %8, align 4
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #7
  br label %932

932:                                              ; preds = %928, %924
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  br label %933

933:                                              ; preds = %932, %923
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  br label %1063

934:                                              ; preds = %436
  %935 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %936 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %937 = call noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %935, ptr noundef nonnull align 8 dereferenceable(32) %936)
  %938 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 416) #8
  store i1 true, ptr %79, align 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %77) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %77, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %939 unwind label %947

939:                                              ; preds = %934
  call void @llvm.lifetime.start.p0(i64 56, ptr %78) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %78)
          to label %940 unwind label %951

940:                                              ; preds = %939
  invoke void @_ZN2vl7parsing17ParsingTreeObjectC1ERKNS_12ObjectStringIwEERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(344) %938, ptr noundef nonnull align 8 dereferenceable(48) %77, ptr noundef nonnull align 8 dereferenceable(56) %78)
          to label %941 unwind label %951

941:                                              ; preds = %940
  store i1 false, ptr %79, align 1
  %942 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %943 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %942, ptr noundef %938)
          to label %944 unwind label %951

944:                                              ; preds = %941
  call void @llvm.lifetime.end.p0(i64 56, ptr %78) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %77) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %77) #7
  %945 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %946 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %945, ptr noundef null)
  br label %1056

947:                                              ; preds = %934
  %948 = landingpad { ptr, i32 }
          cleanup
  %949 = extractvalue { ptr, i32 } %948, 0
  store ptr %949, ptr %7, align 8
  %950 = extractvalue { ptr, i32 } %948, 1
  store i32 %950, ptr %8, align 4
  br label %955

951:                                              ; preds = %941, %940, %939
  %952 = landingpad { ptr, i32 }
          cleanup
  %953 = extractvalue { ptr, i32 } %952, 0
  store ptr %953, ptr %7, align 8
  %954 = extractvalue { ptr, i32 } %952, 1
  store i32 %954, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %78) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %77) #7
  br label %955

955:                                              ; preds = %951, %947
  call void @llvm.lifetime.end.p0(i64 48, ptr %77) #7
  %956 = load i1, ptr %79, align 1
  br i1 %956, label %957, label %958

957:                                              ; preds = %955
  call void @_ZdlPvm(ptr noundef %938, i64 noundef 416) #9
  br label %958

958:                                              ; preds = %957, %955
  br label %1063

959:                                              ; preds = %436
  %960 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %961 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %960)
  %962 = icmp eq i64 %961, 0
  br i1 %962, label %963, label %964

963:                                              ; preds = %959
  store i1 false, ptr %3, align 1
  store i32 1, ptr %30, align 4
  br label %1057

964:                                              ; preds = %959
  %965 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %966 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %967 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSINS1_17ParsingTreeObjectEEERS3_RKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %966, ptr noundef nonnull align 8 dereferenceable(32) %965)
  %968 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %969 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %970 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %969)
  %971 = sub nsw i64 %970, 1
  %972 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %968, i64 noundef %971)
  %973 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %974 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %973, ptr noundef nonnull align 8 dereferenceable(32) %972)
  %975 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %976 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 3
  %977 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %976)
  %978 = sub nsw i64 %977, 1
  %979 = call noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E8RemoveAtEl(ptr noundef nonnull align 8 dereferenceable(33) %975, i64 noundef %978)
  %980 = load ptr, ptr %5, align 8, !tbaa !5
  %981 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %980, i32 0, i32 11
  %982 = call noundef zeroext i1 @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %981)
  br i1 %982, label %983, label %1005

983:                                              ; preds = %964
  call void @llvm.lifetime.start.p0(i64 16, ptr %80) #7
  %984 = load ptr, ptr %5, align 8, !tbaa !5
  %985 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %984, i32 0, i32 11
  %986 = call noundef ptr @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %985)
  %987 = load i64, ptr %35, align 8, !tbaa !32
  %988 = add nsw i64 %987, 1
  store i64 %988, ptr %35, align 8, !tbaa !32
  %989 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK2vl11collections9ArrayBaseINS_7parsing7tabling12ParsingState16ShiftReduceRangeEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %986, i64 noundef %987)
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %80, ptr align 8 %989, i64 16, i1 false), !tbaa.struct !57
  %990 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %80, i32 0, i32 0
  %991 = load ptr, ptr %990, align 8, !tbaa !58
  %992 = icmp ne ptr %991, null
  br i1 %992, label %993, label %1004

993:                                              ; preds = %983
  %994 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %80, i32 0, i32 1
  %995 = load ptr, ptr %994, align 8, !tbaa !60
  %996 = icmp ne ptr %995, null
  br i1 %996, label %997, label %1004

997:                                              ; preds = %993
  call void @llvm.lifetime.start.p0(i64 56, ptr %81) #7
  %998 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %80, i32 0, i32 0
  %999 = load ptr, ptr %998, align 8, !tbaa !58
  %1000 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %80, i32 0, i32 1
  %1001 = load ptr, ptr %1000, align 8, !tbaa !60
  call void @_ZN2vl7parsing16ParsingTextRangeC2EPKNS_5regex10RegexTokenES5_(ptr noundef nonnull align 8 dereferenceable(56) %81, ptr noundef %999, ptr noundef %1001)
  %1002 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %1003 = call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1002)
  call void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %1003, ptr noundef nonnull align 8 dereferenceable(56) %81)
  call void @llvm.lifetime.end.p0(i64 56, ptr %81) #7
  br label %1004

1004:                                             ; preds = %997, %993, %983
  call void @llvm.lifetime.end.p0(i64 16, ptr %80) #7
  br label %1005

1005:                                             ; preds = %1004, %964
  br label %1056

1006:                                             ; preds = %436
  %1007 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %1008 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %1009 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSINS1_17ParsingTreeObjectEEERS3_RKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %1008, ptr noundef nonnull align 8 dereferenceable(32) %1007)
  %1010 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 416) #8
  store i1 true, ptr %84, align 1
  call void @llvm.lifetime.start.p0(i64 48, ptr %82) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %82, ptr noundef @.str.2, i1 noundef zeroext true)
          to label %1011 unwind label %1041

1011:                                             ; preds = %1006
  call void @llvm.lifetime.start.p0(i64 56, ptr %83) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %83)
          to label %1012 unwind label %1045

1012:                                             ; preds = %1011
  invoke void @_ZN2vl7parsing17ParsingTreeObjectC1ERKNS_12ObjectStringIwEERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(344) %1010, ptr noundef nonnull align 8 dereferenceable(48) %82, ptr noundef nonnull align 8 dereferenceable(56) %83)
          to label %1013 unwind label %1045

1013:                                             ; preds = %1012
  store i1 false, ptr %84, align 1
  %1014 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %1015 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %1014, ptr noundef %1010)
          to label %1016 unwind label %1045

1016:                                             ; preds = %1013
  call void @llvm.lifetime.end.p0(i64 56, ptr %83) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %82) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %82) #7
  %1017 = load ptr, ptr %5, align 8, !tbaa !5
  %1018 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %1017, i32 0, i32 11
  %1019 = call noundef zeroext i1 @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %1018)
  br i1 %1019, label %1020, label %1054

1020:                                             ; preds = %1016
  call void @llvm.lifetime.start.p0(i64 16, ptr %85) #7
  %1021 = load ptr, ptr %5, align 8, !tbaa !5
  %1022 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %1021, i32 0, i32 11
  %1023 = call noundef ptr @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1022)
  %1024 = load i64, ptr %35, align 8, !tbaa !32
  %1025 = add nsw i64 %1024, 1
  store i64 %1025, ptr %35, align 8, !tbaa !32
  %1026 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK2vl11collections9ArrayBaseINS_7parsing7tabling12ParsingState16ShiftReduceRangeEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %1023, i64 noundef %1024)
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %85, ptr align 8 %1026, i64 16, i1 false), !tbaa.struct !57
  %1027 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %85, i32 0, i32 0
  %1028 = load ptr, ptr %1027, align 8, !tbaa !58
  %1029 = icmp ne ptr %1028, null
  br i1 %1029, label %1030, label %1053

1030:                                             ; preds = %1020
  %1031 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %85, i32 0, i32 1
  %1032 = load ptr, ptr %1031, align 8, !tbaa !60
  %1033 = icmp ne ptr %1032, null
  br i1 %1033, label %1034, label %1053

1034:                                             ; preds = %1030
  call void @llvm.lifetime.start.p0(i64 56, ptr %86) #7
  %1035 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %85, i32 0, i32 0
  %1036 = load ptr, ptr %1035, align 8, !tbaa !58
  %1037 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %85, i32 0, i32 1
  %1038 = load ptr, ptr %1037, align 8, !tbaa !60
  call void @_ZN2vl7parsing16ParsingTextRangeC2EPKNS_5regex10RegexTokenES5_(ptr noundef nonnull align 8 dereferenceable(56) %86, ptr noundef %1036, ptr noundef %1038)
  %1039 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 1
  %1040 = call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1039)
  call void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %1040, ptr noundef nonnull align 8 dereferenceable(56) %86)
  call void @llvm.lifetime.end.p0(i64 56, ptr %86) #7
  br label %1053

1041:                                             ; preds = %1006
  %1042 = landingpad { ptr, i32 }
          cleanup
  %1043 = extractvalue { ptr, i32 } %1042, 0
  store ptr %1043, ptr %7, align 8
  %1044 = extractvalue { ptr, i32 } %1042, 1
  store i32 %1044, ptr %8, align 4
  br label %1049

1045:                                             ; preds = %1013, %1012, %1011
  %1046 = landingpad { ptr, i32 }
          cleanup
  %1047 = extractvalue { ptr, i32 } %1046, 0
  store ptr %1047, ptr %7, align 8
  %1048 = extractvalue { ptr, i32 } %1046, 1
  store i32 %1048, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 56, ptr %83) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %82) #7
  br label %1049

1049:                                             ; preds = %1045, %1041
  call void @llvm.lifetime.end.p0(i64 48, ptr %82) #7
  %1050 = load i1, ptr %84, align 1
  br i1 %1050, label %1051, label %1052

1051:                                             ; preds = %1049
  call void @_ZdlPvm(ptr noundef %1010, i64 noundef 416) #9
  br label %1052

1052:                                             ; preds = %1051, %1049
  br label %1063

1053:                                             ; preds = %1034, %1030, %1020
  call void @llvm.lifetime.end.p0(i64 16, ptr %85) #7
  br label %1054

1054:                                             ; preds = %1053, %1016
  br label %1056

1055:                                             ; preds = %436
  store i1 false, ptr %3, align 1
  store i32 1, ptr %30, align 4
  br label %1057

1056:                                             ; preds = %1054, %1005, %944, %916, %897, %678, %566, %452
  store i32 0, ptr %30, align 4
  br label %1057

1057:                                             ; preds = %1056, %1055, %963, %564, %471, %451
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  %1058 = load i32, ptr %30, align 4
  switch i32 %1058, label %1064 [
    i32 0, label %1059
  ]

1059:                                             ; preds = %1057
  br label %1060

1060:                                             ; preds = %1059
  %1061 = load i64, ptr %36, align 8, !tbaa !32
  %1062 = add nsw i64 %1061, 1
  store i64 %1062, ptr %36, align 8, !tbaa !32
  br label %425, !llvm.loop !61

1063:                                             ; preds = %1052, %958, %933, %901, %674, %663, %567
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  br label %1110

1064:                                             ; preds = %1057, %435
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  %1065 = load i32, ptr %30, align 4
  switch i32 %1065, label %1103 [
    i32 14, label %1066
  ]

1066:                                             ; preds = %1064
  %1067 = load ptr, ptr %5, align 8, !tbaa !5
  %1068 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %1067, i32 0, i32 3
  %1069 = load i64, ptr %1068, align 8, !tbaa !62
  %1070 = icmp eq i64 %1069, 1
  br i1 %1070, label %1071, label %1102

1071:                                             ; preds = %1066
  %1072 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 4
  %1073 = load i8, ptr %1072, align 8, !tbaa !16, !range !26, !noundef !27
  %1074 = trunc i8 %1073 to i1
  br i1 %1074, label %1102, label %1075

1075:                                             ; preds = %1071
  %1076 = load ptr, ptr %5, align 8, !tbaa !5
  %1077 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %1076, i32 0, i32 11
  %1078 = call noundef zeroext i1 @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %1077)
  br i1 %1078, label %1079, label %1101

1079:                                             ; preds = %1075
  call void @llvm.lifetime.start.p0(i64 16, ptr %87) #7
  %1080 = load ptr, ptr %5, align 8, !tbaa !5
  %1081 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::TransitionResult", ptr %1080, i32 0, i32 11
  %1082 = call noundef ptr @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1081)
  %1083 = load i64, ptr %35, align 8, !tbaa !32
  %1084 = add nsw i64 %1083, 1
  store i64 %1084, ptr %35, align 8, !tbaa !32
  %1085 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK2vl11collections9ArrayBaseINS_7parsing7tabling12ParsingState16ShiftReduceRangeEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %1082, i64 noundef %1083)
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %87, ptr align 8 %1085, i64 16, i1 false), !tbaa.struct !57
  %1086 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %87, i32 0, i32 0
  %1087 = load ptr, ptr %1086, align 8, !tbaa !58
  %1088 = icmp ne ptr %1087, null
  br i1 %1088, label %1089, label %1100

1089:                                             ; preds = %1079
  %1090 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %87, i32 0, i32 1
  %1091 = load ptr, ptr %1090, align 8, !tbaa !60
  %1092 = icmp ne ptr %1091, null
  br i1 %1092, label %1093, label %1100

1093:                                             ; preds = %1089
  call void @llvm.lifetime.start.p0(i64 56, ptr %88) #7
  %1094 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %87, i32 0, i32 0
  %1095 = load ptr, ptr %1094, align 8, !tbaa !58
  %1096 = getelementptr inbounds %"struct.vl::parsing::tabling::ParsingState::ShiftReduceRange", ptr %87, i32 0, i32 1
  %1097 = load ptr, ptr %1096, align 8, !tbaa !60
  call void @_ZN2vl7parsing16ParsingTextRangeC2EPKNS_5regex10RegexTokenES5_(ptr noundef nonnull align 8 dereferenceable(56) %88, ptr noundef %1095, ptr noundef %1097)
  %1098 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTreeBuilder", ptr %89, i32 0, i32 2
  %1099 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1098)
  call void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %1099, ptr noundef nonnull align 8 dereferenceable(56) %88)
  call void @llvm.lifetime.end.p0(i64 56, ptr %88) #7
  br label %1100

1100:                                             ; preds = %1093, %1089, %1079
  call void @llvm.lifetime.end.p0(i64 16, ptr %87) #7
  br label %1101

1101:                                             ; preds = %1100, %1075
  br label %1102

1102:                                             ; preds = %1101, %1071, %1066
  store i32 0, ptr %30, align 4
  br label %1103

1103:                                             ; preds = %1102, %1064
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  %1104 = load i32, ptr %30, align 4
  switch i32 %1104, label %1115 [
    i32 0, label %1105
    i32 1, label %1108
  ]

1105:                                             ; preds = %1103
  br label %1107

1106:                                             ; preds = %93
  store i1 false, ptr %3, align 1
  br label %1108

1107:                                             ; preds = %1105, %397, %269, %183
  store i1 true, ptr %3, align 1
  br label %1108

1108:                                             ; preds = %1107, %1106, %1103, %281, %274, %197, %190, %101, %92
  %1109 = load i1, ptr %3, align 1
  ret i1 %1109

1110:                                             ; preds = %1063, %420, %268, %244, %213, %182, %158, %115
  %1111 = load ptr, ptr %7, align 8
  %1112 = load i32, ptr %8, align 4
  %1113 = insertvalue { ptr, i32 } poison, ptr %1111, 0
  %1114 = insertvalue { ptr, i32 } %1113, i32 %1112, 1
  resume { ptr, i32 } %1114

1115:                                             ; preds = %1103
  unreachable
}

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind noalias writable sret(%"struct.vl::parsing::ParsingTextRange") align 8, ptr noundef nonnull align 8 dereferenceable(128)) #3 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing17ParsingTreeObjectEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.634") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl7parsing16ParsingTreeArray7AddItemENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(232), ptr noundef) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344), ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSERKS3_(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 @_ZN2vl7parsing17ParsingTreeObject7SetTypeERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(344), ptr noundef nonnull align 8 dereferenceable(48)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZN2vl7parsing17ParsingTreeObject15GetCreatorRulesEv(ptr noundef nonnull align 8 dereferenceable(344)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(104) ptr @_ZN2vl7parsing17ParsingTreeObject10GetMembersEv(ptr noundef nonnull align 8 dereferenceable(344)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104)) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104)) #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104)) #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(48), i64 noundef, ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E8RemoveAtEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) #2 align 2

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

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

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

attributes #0 = { nobuiltin 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 #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 = { 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 #4 = { nobuiltin allocsize(0) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
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 = { builtin allocsize(0) }
attributes #9 = { builtin nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !11, i64 0}
!10 = !{!"_ZTSN2vl7parsing7tabling12ParsingState16TransitionResultE", !11, i64 0, !12, i64 8, !13, i64 16, !12, i64 64, !12, i64 72, !12, i64 80, !12, i64 88, !6, i64 96, !6, i64 104, !12, i64 112, !12, i64 120, !15, i64 128}
!11 = !{!"_ZTSN2vl7parsing7tabling12ParsingState16TransitionResult14TransitionTypeE", !7, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!"_ZTSN2vl12ObjectStringIwEE", !14, i64 0, !6, i64 8, !6, i64 16, !12, i64 24, !12, i64 32, !12, i64 40}
!14 = !{!"_ZTSN2vl6ObjectE"}
!15 = !{!"_ZTSN2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEE", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!16 = !{!17, !25, i64 120}
!17 = !{!"_ZTSN2vl7parsing7tabling18ParsingTreeBuilderE", !18, i64 0, !19, i64 8, !20, i64 40, !21, i64 72, !25, i64 120, !19, i64 128, !19, i64 160, !12, i64 192, !21, i64 200, !21, i64 248}
!18 = !{!"_ZTSN2vl7parsing7tabling26ParsingTransitionProcessorE", !14, i64 0}
!19 = !{!"_ZTSN2vl3PtrINS_7parsing15ParsingTreeNodeEEE", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!20 = !{!"_ZTSN2vl3PtrINS_7parsing17ParsingTreeObjectEEE", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!21 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_EE", !22, i64 0}
!22 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_EE", !23, i64 0, !12, i64 24, !25, i64 32}
!23 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEEE", !24, i64 0, !6, i64 8, !12, i64 16}
!24 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing17ParsingTreeObjectEEELb0EEE", !14, i64 0}
!25 = !{!"bool", !7, i64 0}
!26 = !{i8 0, i8 2}
!27 = !{}
!28 = !{!29, !29, i64 0}
!29 = !{!"vtable pointer", !8, i64 0}
!30 = !{!10, !12, i64 8}
!31 = !{!17, !12, i64 192}
!32 = !{!12, !12, i64 0}
!33 = distinct !{!33, !34}
!34 = !{!"llvm.loop.mustprogress"}
!35 = distinct !{!35, !34}
!36 = !{!25, !25, i64 0}
!37 = distinct !{!37, !34}
!38 = distinct !{!38, !34}
!39 = !{!10, !12, i64 112}
!40 = !{!10, !12, i64 120}
!41 = !{!10, !6, i64 104}
!42 = !{!43, !44, i64 0}
!43 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable11InstructionE", !44, i64 0, !12, i64 8, !13, i64 16, !13, i64 64, !13, i64 112}
!44 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable11Instruction15InstructionTypeE", !7, i64 0}
!45 = distinct !{!45, !34}
!46 = !{!10, !6, i64 96}
!47 = !{!10, !12, i64 88}
!48 = !{!49, !6, i64 24}
!49 = !{!"_ZTSN2vl5regex10RegexTokenE", !12, i64 0, !12, i64 8, !12, i64 16, !6, i64 24, !12, i64 32, !25, i64 40, !12, i64 48, !12, i64 56, !12, i64 64, !12, i64 72}
!50 = !{!49, !12, i64 8}
!51 = !{i64 0, i64 8, !32, i64 8, i64 8, !32, i64 16, i64 8, !32, i64 24, i64 8, !32, i64 32, i64 8, !32, i64 40, i64 8, !32, i64 48, i64 8, !32}
!52 = !{!53, !12, i64 0}
!53 = !{!"_ZTSN2vl7parsing16ParsingTextRangeE", !54, i64 0, !54, i64 24, !12, i64 48}
!54 = !{!"_ZTSN2vl7parsing14ParsingTextPosE", !12, i64 0, !12, i64 8, !12, i64 16}
!55 = !{i64 0, i64 8, !32, i64 8, i64 8, !32, i64 16, i64 8, !32}
!56 = !{!53, !12, i64 24}
!57 = !{i64 0, i64 8, !5, i64 8, i64 8, !5}
!58 = !{!59, !6, i64 0}
!59 = !{!"_ZTSN2vl7parsing7tabling12ParsingState16ShiftReduceRangeE", !6, i64 0, !6, i64 8}
!60 = !{!59, !6, i64 8}
!61 = distinct !{!61, !34}
!62 = !{!10, !12, i64 64}


; 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.vl::Ptr.608" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.46" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.141" = type { ptr, ptr, ptr, ptr }
%"struct.vl::parsing::ParsingTextRange" = type { %"struct.vl::parsing::ParsingTextPos", %"struct.vl::parsing::ParsingTextPos", i64 }
%"struct.vl::parsing::ParsingTextPos" = type { i64, i64, i64 }
%"class.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"class.vl::Object" = type { ptr }
%"class.vl::collections::EnumerableForEachIterator.634" = type { %"class.vl::collections::ForEachIterator.635", %"class.vl::Ptr.636" }
%"class.vl::collections::ForEachIterator.635" = type { %"class.vl::Object" }
%"class.vl::Ptr.636" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.595" = type { ptr, ptr, ptr, ptr }

@.str.2 = external hidden unnamed_addr constant [1 x i32], align 4
@.str.146 = external hidden unnamed_addr constant [6 x i32], align 4

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #0

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #4

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(160) ptr @_ZN2vl11collections4ListINS_7parsing7tabling12ParsingTable11InstructionES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_16ParsingTreeArrayEEENS0_IT_EEv(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.608") align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing17ParsingTreeObject9GetMemberERKNS_12ObjectStringIwEE(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.46") align 8, ptr noundef nonnull align 8 dereferenceable(344), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.141") align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E5ClearEv(ptr noundef nonnull align 8 dereferenceable(33)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN2vl7parsing7tabling18ParsingTreeBuilder3RunERKNS1_12ParsingState16TransitionResultE(ptr noundef nonnull align 8 dereferenceable(296) %0, ptr noundef nonnull align 8 dereferenceable(160) %1) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.vl::Ptr.46", align 8
  %4 = alloca %"class.vl::Ptr.141", align 8
  %5 = alloca %"class.vl::Ptr.46", align 8
  %6 = alloca %"class.vl::Ptr.141", align 8
  %7 = alloca %"class.vl::Ptr.46", align 8
  %8 = alloca %"class.vl::Ptr.46", align 8
  %9 = alloca %"class.vl::Ptr.141", align 8
  %10 = alloca %"class.vl::Ptr.46", align 8
  %11 = alloca %"class.vl::Ptr.141", align 8
  %12 = alloca %"class.vl::Ptr.46", align 8
  %13 = alloca %"class.vl::Ptr.141", align 8
  %14 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %15 = alloca %"class.vl::Ptr.608", align 8
  %16 = alloca %"class.vl::ObjectString", align 8
  %17 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %18 = alloca %"class.vl::collections::EnumerableForEachIterator.634", align 8
  %19 = alloca %"class.vl::Ptr.141", align 8
  %20 = alloca %"class.vl::Ptr.46", align 8
  %21 = alloca %"class.vl::ObjectString", align 8
  %22 = alloca %"class.vl::Ptr.46", align 8
  %23 = alloca %"class.vl::Ptr.141", align 8
  %24 = alloca %"class.vl::ObjectString", align 8
  %25 = alloca %"class.vl::Ptr.46", align 8
  %26 = alloca %"class.vl::Ptr.46", align 8
  %27 = alloca %"class.vl::Ptr.595", align 8
  %28 = alloca %"class.vl::ObjectString", align 8
  %29 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %30 = alloca %"class.vl::ObjectString", align 8
  %31 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %32 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %33 = alloca %"class.vl::Ptr.46", align 8
  %34 = alloca %"class.vl::Ptr.46", align 8
  %35 = alloca %"class.vl::Ptr.608", align 8
  %36 = alloca %"class.vl::Ptr.46", align 8
  %37 = alloca %"class.vl::ObjectString", align 8
  %38 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %39 = alloca %"class.vl::Ptr.46", align 8
  %40 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %41 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %42 = alloca %"class.vl::Ptr.595", align 8
  %43 = alloca %"class.vl::ObjectString", align 8
  %44 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %45 = alloca %"class.vl::ObjectString", align 8
  %46 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %47 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %48 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %49 = alloca %"class.vl::Ptr.46", align 8
  %50 = alloca %"class.vl::Ptr.46", align 8
  %51 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %52 = alloca %"class.vl::Ptr.595", align 8
  %53 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %54 = alloca %"class.vl::Ptr.46", align 8
  %55 = alloca %"class.vl::ObjectString", align 8
  %56 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %57 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %58 = alloca %"class.vl::ObjectString", align 8
  %59 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %60 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %61 = alloca %"struct.vl::parsing::ParsingTextRange", align 8
  %62 = getelementptr inbounds i8, ptr %0, i64 40
  %63 = tail call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  br i1 %63, label %64, label %.thread298

64:                                               ; preds = %2
  %65 = load i32, ptr %1, align 8, !tbaa !5
  switch i32 %65, label %.thread298 [
    i32 1, label %66
    i32 2, label %129
    i32 3, label %189
    i32 0, label %271
  ]

66:                                               ; preds = %64
  %67 = getelementptr inbounds i8, ptr %0, i64 120
  %68 = load i8, ptr %67, align 8, !tbaa !15, !range !25, !noundef !26
  %69 = trunc nuw i8 %68 to i1
  br i1 %69, label %.thread298, label %70

70:                                               ; preds = %66
  store i8 1, ptr %67, align 8, !tbaa !15
  %71 = getelementptr inbounds i8, ptr %0, i64 8
  %72 = tail call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %71)
  br i1 %72, label %73, label %83

73:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #7
  %74 = tail call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %71)
  %75 = load ptr, ptr %74, align 8, !tbaa !27
  %76 = getelementptr inbounds i8, ptr %75, i64 32
  %77 = load ptr, ptr %76, align 8
  call void %77(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.46") align 8 %3, ptr noundef nonnull align 8 dereferenceable(128) %74)
  %78 = getelementptr inbounds i8, ptr %0, i64 128
  %79 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %80 unwind label %81

80:                                               ; preds = %73
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  br label %86

81:                                               ; preds = %73
  %82 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  br label %598

83:                                               ; preds = %70
  %84 = getelementptr inbounds i8, ptr %0, i64 128
  %85 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef null)
  br label %86

86:                                               ; preds = %83, %80
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #7
  %87 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %88 = load ptr, ptr %87, align 8, !tbaa !27
  %89 = getelementptr inbounds i8, ptr %88, i64 32
  %90 = load ptr, ptr %89, align 8
  call void %90(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.46") align 8 %5, ptr noundef nonnull align 8 dereferenceable(344) %87)
  invoke void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.141") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %5)
          to label %91 unwind label %108

91:                                               ; preds = %86
  %92 = getelementptr inbounds i8, ptr %0, i64 160
  %93 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSINS1_17ParsingTreeObjectEEERS3_RKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %94 unwind label %110

94:                                               ; preds = %91
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #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
  %95 = getelementptr inbounds i8, ptr %0, i64 200
  %96 = call noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E5ClearEv(ptr noundef nonnull align 8 dereferenceable(33) %95)
  %97 = getelementptr inbounds i8, ptr %0, i64 72
  %98 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %97)
  %99 = getelementptr inbounds i8, ptr %1, i64 8
  %100 = load i64, ptr %99, align 8, !tbaa !29
  %101 = sub nsw i64 %98, %100
  %102 = add nsw i64 %101, 1
  %103 = getelementptr inbounds i8, ptr %0, i64 192
  store i64 %102, ptr %103, align 8, !tbaa !30
  %104 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %97)
  %105 = icmp slt i64 %102, %104
  br i1 %105, label %.lr.ph389, label %._crit_edge390

._crit_edge390:                                   ; preds = %120, %94
  %106 = getelementptr inbounds i8, ptr %0, i64 248
  %107 = call noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E5ClearEv(ptr noundef nonnull align 8 dereferenceable(33) %106)
  br label %.thread298

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

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

112:                                              ; preds = %110, %108
  %.pn204 = phi { ptr, i32 } [ %111, %110 ], [ %109, %108 ]
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #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 %598

.lr.ph389:                                        ; preds = %94, %120
  %.0130387 = phi i64 [ %121, %120 ], [ %102, %94 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  %113 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %97, i64 noundef %.0130387)
  %114 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %113)
  %115 = load ptr, ptr %114, align 8, !tbaa !27
  %116 = getelementptr inbounds i8, ptr %115, i64 32
  %117 = load ptr, ptr %116, align 8
  call void %117(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.46") align 8 %7, ptr noundef nonnull align 8 dereferenceable(344) %114)
  invoke void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.141") align 8 %6, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %118 unwind label %124

118:                                              ; preds = %.lr.ph389
  %119 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %95, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %120 unwind label %126

120:                                              ; preds = %118
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  %121 = add nsw i64 %.0130387, 1
  %122 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %97)
  %123 = icmp slt i64 %121, %122
  br i1 %123, label %.lr.ph389, label %._crit_edge390, !llvm.loop !31

124:                                              ; preds = %.lr.ph389
  %125 = landingpad { ptr, i32 }
          cleanup
  br label %128

126:                                              ; preds = %118
  %127 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  br label %128

128:                                              ; preds = %126, %124
  %.pn206 = phi { ptr, i32 } [ %127, %126 ], [ %125, %124 ]
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  br label %598

129:                                              ; preds = %64
  %130 = getelementptr inbounds i8, ptr %0, i64 120
  %131 = load i8, ptr %130, align 8, !tbaa !15, !range !25, !noundef !26
  %132 = trunc nuw i8 %131 to i1
  br i1 %132, label %133, label %.thread298

133:                                              ; preds = %129
  %134 = getelementptr inbounds i8, ptr %0, i64 72
  %135 = tail call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %134)
  %136 = getelementptr inbounds i8, ptr %0, i64 192
  %137 = load i64, ptr %136, align 8, !tbaa !30
  %.not199 = icmp eq i64 %135, %137
  br i1 %.not199, label %138, label %.thread298

138:                                              ; preds = %133
  %139 = getelementptr inbounds i8, ptr %0, i64 248
  %140 = tail call noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %139, ptr noundef nonnull align 8 dereferenceable(32) %62)
  %141 = getelementptr inbounds i8, ptr %0, i64 128
  %142 = tail call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %141)
  br i1 %142, label %143, label %153

143:                                              ; preds = %138
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #7
  %144 = tail call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %141)
  %145 = load ptr, ptr %144, align 8, !tbaa !27
  %146 = getelementptr inbounds i8, ptr %145, i64 32
  %147 = load ptr, ptr %146, align 8
  call void %147(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.46") align 8 %8, ptr noundef nonnull align 8 dereferenceable(128) %144)
  %148 = getelementptr inbounds i8, ptr %0, i64 8
  %149 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %150 unwind label %151

150:                                              ; preds = %143
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  br label %156

151:                                              ; preds = %143
  %152 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  br label %598

153:                                              ; preds = %138
  %154 = getelementptr inbounds i8, ptr %0, i64 8
  %155 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef null)
  br label %156

156:                                              ; preds = %153, %150
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #7
  %157 = getelementptr inbounds i8, ptr %0, i64 160
  %158 = call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %157)
  %159 = load ptr, ptr %158, align 8, !tbaa !27
  %160 = getelementptr inbounds i8, ptr %159, i64 32
  %161 = load ptr, ptr %160, align 8
  call void %161(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.46") align 8 %10, ptr noundef nonnull align 8 dereferenceable(128) %158)
  invoke void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.141") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %162 unwind label %168

162:                                              ; preds = %156
  %163 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %164 unwind label %170

164:                                              ; preds = %162
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  %165 = getelementptr inbounds i8, ptr %0, i64 200
  %166 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %165)
  %167 = icmp sgt i64 %166, 0
  br i1 %167, label %.lr.ph386, label %.thread298

168:                                              ; preds = %156
  %169 = landingpad { ptr, i32 }
          cleanup
  br label %172

170:                                              ; preds = %162
  %171 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %172

172:                                              ; preds = %170, %168
  %.pn200 = phi { ptr, i32 } [ %171, %170 ], [ %169, %168 ]
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  br label %598

.lr.ph386:                                        ; preds = %164, %180
  %.0133384 = phi i64 [ %181, %180 ], [ 0, %164 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #7
  %173 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %165, i64 noundef %.0133384)
  %174 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %173)
  %175 = load ptr, ptr %174, align 8, !tbaa !27
  %176 = getelementptr inbounds i8, ptr %175, i64 32
  %177 = load ptr, ptr %176, align 8
  call void %177(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.46") align 8 %12, ptr noundef nonnull align 8 dereferenceable(344) %174)
  invoke void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.141") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %178 unwind label %184

178:                                              ; preds = %.lr.ph386
  %179 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %134, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %180 unwind label %186

180:                                              ; preds = %178
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  %181 = add nuw nsw i64 %.0133384, 1
  %182 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %165)
  %183 = icmp slt i64 %181, %182
  br i1 %183, label %.lr.ph386, label %.thread298, !llvm.loop !33

184:                                              ; preds = %.lr.ph386
  %185 = landingpad { ptr, i32 }
          cleanup
  br label %188

186:                                              ; preds = %178
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %188

188:                                              ; preds = %186, %184
  %.pn202 = phi { ptr, i32 } [ %187, %186 ], [ %185, %184 ]
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br label %598

189:                                              ; preds = %64
  %190 = getelementptr inbounds i8, ptr %0, i64 120
  %191 = load i8, ptr %190, align 8, !tbaa !15, !range !25, !noundef !26
  %192 = trunc nuw i8 %191 to i1
  br i1 %192, label %193, label %.thread298

193:                                              ; preds = %189
  %194 = getelementptr inbounds i8, ptr %0, i64 72
  %195 = tail call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %194)
  %196 = getelementptr inbounds i8, ptr %0, i64 192
  %197 = load i64, ptr %196, align 8, !tbaa !30
  %.not187 = icmp eq i64 %195, %197
  br i1 %.not187, label %198, label %.thread298

198:                                              ; preds = %193
  %199 = getelementptr inbounds i8, ptr %0, i64 248
  %200 = tail call noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %199, ptr noundef nonnull align 8 dereferenceable(32) %62)
  store i8 0, ptr %190, align 8, !tbaa !15
  %201 = getelementptr inbounds i8, ptr %0, i64 8
  %202 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %201, ptr noundef null)
  %203 = getelementptr inbounds i8, ptr %0, i64 128
  %204 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %203, ptr noundef null)
  %205 = getelementptr inbounds i8, ptr %0, i64 160
  %206 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %205, ptr noundef null)
  store i64 0, ptr %196, align 8, !tbaa !30
  %207 = getelementptr inbounds i8, ptr %0, i64 200
  %208 = tail call noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E5ClearEv(ptr noundef nonnull align 8 dereferenceable(33) %207)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #7
  %209 = tail call noalias noundef nonnull dereferenceable(416) ptr @_Znwm(i64 noundef 416) #8
  %210 = getelementptr inbounds i8, ptr %1, i64 16
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %14) #7
  %211 = tail call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  call void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind nonnull writable sret(%"struct.vl::parsing::ParsingTextRange") align 8 %14, ptr noundef nonnull align 8 dereferenceable(128) %211)
  invoke void @_ZN2vl7parsing17ParsingTreeObjectC1ERKNS_12ObjectStringIwEERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(344) %209, ptr noundef nonnull align 8 dereferenceable(48) %210, ptr noundef nonnull align 8 dereferenceable(56) %14)
          to label %212 unwind label %224

212:                                              ; preds = %198
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull %209)
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %14) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  %213 = invoke noalias noundef nonnull dereferenceable(304) ptr @_Znwm(i64 noundef 304) #8
          to label %214 unwind label %226

214:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %16) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %215 unwind label %.thread

215:                                              ; preds = %214
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %17) #7
  %216 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  call void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind nonnull writable sret(%"struct.vl::parsing::ParsingTextRange") align 8 %17, ptr noundef nonnull align 8 dereferenceable(128) %216)
  invoke void @_ZN2vl7parsing16ParsingTreeArrayC1ERKNS_12ObjectStringIwEERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(232) %213, ptr noundef nonnull align 8 dereferenceable(48) %16, ptr noundef nonnull align 8 dereferenceable(56) %17)
          to label %218 unwind label %.thread214

.thread214:                                       ; preds = %215
  %217 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %17) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  br label %231

218:                                              ; preds = %215
  invoke void @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull %213)
          to label %219 unwind label %229

219:                                              ; preds = %218
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %17) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %18) #7
  %220 = load ptr, ptr %199, align 8, !tbaa !27
  %221 = getelementptr i8, ptr %220, i64 -24
  %222 = load i64, ptr %221, align 8
  %223 = getelementptr inbounds i8, ptr %199, i64 %222
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing17ParsingTreeObjectEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.634") align 8 %18, ptr noundef nonnull align 8 dereferenceable(8) %223)
          to label %234 unwind label %232

224:                                              ; preds = %198
  %225 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %14) #7
  call void @_ZdlPvm(ptr noundef nonnull %209, i64 noundef 416) #9
  br label %270

226:                                              ; preds = %212
  %227 = landingpad { ptr, i32 }
          cleanup
  br label %269

.thread:                                          ; preds = %214
  %228 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  br label %231

229:                                              ; preds = %218
  %230 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %17) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %16) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %16) #7
  br label %269

231:                                              ; preds = %.thread214, %.thread
  %.pn188213 = phi { ptr, i32 } [ %228, %.thread ], [ %217, %.thread214 ]
  call void @_ZdlPvm(ptr noundef nonnull %213, i64 noundef 304) #9
  br label %269

232:                                              ; preds = %219
  %233 = landingpad { ptr, i32 }
          cleanup
  br label %268

234:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19)
  br label %235

235:                                              ; preds = %247, %234
  %236 = load ptr, ptr %18, align 8, !tbaa !27
  %237 = getelementptr inbounds i8, ptr %236, i64 16
  %238 = load ptr, ptr %237, align 8
  %239 = invoke noundef zeroext i1 %238(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %240 unwind label %242

240:                                              ; preds = %235
  br i1 %239, label %244, label %.critedge

.critedge:                                        ; preds = %240
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing17ParsingTreeObjectEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %18) #7
  %241 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %21) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %21, ptr noundef nonnull @.str.146, i1 noundef zeroext true)
          to label %251 unwind label %260

242:                                              ; preds = %235
  %243 = landingpad { ptr, i32 }
          cleanup
  br label %250

244:                                              ; preds = %240
  %245 = call noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_17ParsingTreeObjectEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %19)
  %246 = invoke noundef zeroext i1 @_ZN2vl7parsing16ParsingTreeArray7AddItemENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(232) %245, ptr noundef nonnull %20)
          to label %247 unwind label %248

247:                                              ; preds = %244
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %235, !llvm.loop !34

248:                                              ; preds = %244
  %249 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %250

250:                                              ; preds = %248, %242
  %.pn193 = phi { ptr, i32 } [ %249, %248 ], [ %243, %242 ]
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing17ParsingTreeObjectEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %18) #7
  br label %268

251:                                              ; preds = %.critedge
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_16ParsingTreeArrayEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %252 unwind label %262

252:                                              ; preds = %251
  %253 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %241, ptr noundef nonnull align 8 dereferenceable(48) %21, ptr noundef nonnull %22)
          to label %254 unwind label %264

254:                                              ; preds = %252
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21) #7
  %255 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %256 unwind label %258

256:                                              ; preds = %254
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  %257 = call noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E5ClearEv(ptr noundef nonnull align 8 dereferenceable(33) %199)
  br label %.thread298

258:                                              ; preds = %254
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %268

260:                                              ; preds = %.critedge
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %267

262:                                              ; preds = %251
  %263 = landingpad { ptr, i32 }
          cleanup
  br label %266

264:                                              ; preds = %252
  %265 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %266

266:                                              ; preds = %264, %262
  %.pn190 = phi { ptr, i32 } [ %265, %264 ], [ %263, %262 ]
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #7
  br label %267

267:                                              ; preds = %266, %260
  %.pn190.pn = phi { ptr, i32 } [ %.pn190, %266 ], [ %261, %260 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %21) #7
  br label %268

268:                                              ; preds = %232, %250, %267, %258
  %.pn193.pn.pn = phi { ptr, i32 } [ %259, %258 ], [ %.pn190.pn, %267 ], [ %.pn193, %250 ], [ %233, %232 ]
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %269

269:                                              ; preds = %229, %231, %268, %226
  %.pn193.pn.pn.pn = phi { ptr, i32 } [ %.pn193.pn.pn, %268 ], [ %.pn188213, %231 ], [ %230, %229 ], [ %227, %226 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %270

270:                                              ; preds = %224, %269
  %.pn193.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn193.pn.pn.pn, %269 ], [ %225, %224 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  br label %598

271:                                              ; preds = %64
  %272 = getelementptr inbounds i8, ptr %1, i64 112
  %273 = getelementptr inbounds i8, ptr %1, i64 120
  %274 = load i64, ptr %273, align 8, !tbaa !35
  %.not379 = icmp sgt i64 %274, 0
  br i1 %.not379, label %.lr.ph383, label %.thread301

.lr.ph383:                                        ; preds = %271
  %275 = load i64, ptr %272, align 8, !tbaa !36
  %276 = getelementptr inbounds i8, ptr %1, i64 104
  %277 = getelementptr inbounds i8, ptr %0, i64 8
  %278 = getelementptr inbounds i8, ptr %1, i64 128
  %279 = getelementptr inbounds i8, ptr %0, i64 72
  %280 = getelementptr inbounds i8, ptr %1, i64 96
  %281 = getelementptr inbounds i8, ptr %1, i64 88
  %282 = getelementptr inbounds i8, ptr %40, i64 24
  %283 = getelementptr inbounds i8, ptr %41, i64 24
  br label %284

284:                                              ; preds = %.lr.ph383, %.thread290
  %.0149381 = phi i64 [ %275, %.lr.ph383 ], [ %577, %.thread290 ]
  %.0150380 = phi i64 [ 0, %.lr.ph383 ], [ %.2152293, %.thread290 ]
  %285 = load ptr, ptr %276, align 8, !tbaa !37
  %286 = getelementptr inbounds i8, ptr %285, i64 112
  %287 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN2vl11collections4ListINS_7parsing7tabling12ParsingTable11InstructionES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %286, i64 noundef %.0149381)
  %288 = load i32, ptr %287, align 8, !tbaa !38
  switch i32 %288, label %.thread298 [
    i32 0, label %289
    i32 3, label %300
    i32 1, label %349
    i32 2, label %405
    i32 4, label %509
    i32 5, label %523
    i32 6, label %535
    i32 7, label %556
  ]

289:                                              ; preds = %284
  %290 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %291 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing17ParsingTreeObject7GetTypeEv(ptr noundef nonnull align 8 dereferenceable(344) %290)
  %292 = call noundef zeroext i1 @_ZNK2vl12ObjectStringIwEneEPKw(ptr noundef nonnull align 8 dereferenceable(48) %291, ptr noundef nonnull @.str.2)
  br i1 %292, label %.thread298, label %293

293:                                              ; preds = %289
  %294 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %295 = getelementptr inbounds i8, ptr %287, i64 16
  call void @_ZN2vl7parsing17ParsingTreeObject7SetTypeERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(344) %294, ptr noundef nonnull align 8 dereferenceable(48) %295)
  %296 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %297 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZN2vl7parsing17ParsingTreeObject15GetCreatorRulesEv(ptr noundef nonnull align 8 dereferenceable(344) %296)
  %298 = getelementptr inbounds i8, ptr %287, i64 112
  %299 = call noundef i64 @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_E3AddERKS3_(ptr noundef nonnull align 8 dereferenceable(33) %297, ptr noundef nonnull align 8 dereferenceable(48) %298)
  br label %.thread290

300:                                              ; preds = %284
  %301 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %302 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing17ParsingTreeObject7GetTypeEv(ptr noundef nonnull align 8 dereferenceable(344) %301)
  %303 = call noundef zeroext i1 @_ZNK2vl12ObjectStringIwEneEPKw(ptr noundef nonnull align 8 dereferenceable(48) %302, ptr noundef nonnull @.str.2)
  br i1 %303, label %.thread298, label %304

304:                                              ; preds = %300
  %305 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %277)
  br i1 %305, label %306, label %.thread298

306:                                              ; preds = %304
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  call void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_17ParsingTreeObjectEEENS0_IT_EEv(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.141") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %277)
  %307 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %23)
  br i1 %307, label %.preheader, label %.critedge210

.preheader:                                       ; preds = %306
  %308 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %309 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZN2vl7parsing17ParsingTreeObject10GetMembersEv(ptr noundef nonnull align 8 dereferenceable(344) %308)
  %310 = call noundef i64 @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %309)
  %311 = icmp sgt i64 %310, 0
  br i1 %311, label %.lr.ph, label %._crit_edge

312:                                              ; preds = %346, %341, %._crit_edge
  %313 = landingpad { ptr, i32 }
          cleanup
  br label %348

._crit_edge:                                      ; preds = %327, %.preheader
  %314 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %341 unwind label %312

.lr.ph:                                           ; preds = %.preheader, %327
  %.0146378 = phi i64 [ %328, %327 ], [ 0, %.preheader ]
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %24) #7
  %315 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %316 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZN2vl7parsing17ParsingTreeObject10GetMembersEv(ptr noundef nonnull align 8 dereferenceable(344) %315)
  %317 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %316)
  %318 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNK2vl11collections9ArrayBaseINS_12ObjectStringIwEEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %317, i64 noundef %.0146378)
          to label %319 unwind label %333

319:                                              ; preds = %.lr.ph
  call void @_ZN2vl12ObjectStringIwEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %24, ptr noundef nonnull align 8 dereferenceable(48) %318)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #7
  %320 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %321 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZN2vl7parsing17ParsingTreeObject10GetMembersEv(ptr noundef nonnull align 8 dereferenceable(344) %320)
  %322 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %321)
  %323 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing15ParsingTreeNodeEEEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %322, i64 noundef %.0146378)
          to label %324 unwind label %335

324:                                              ; preds = %319
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(32) %323)
  %325 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %23)
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %25)
  %326 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %325, ptr noundef nonnull align 8 dereferenceable(48) %24, ptr noundef nonnull %26)
          to label %327 unwind label %337

327:                                              ; preds = %324
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24) #7
  %328 = add nuw nsw i64 %.0146378, 1
  %329 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %330 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZN2vl7parsing17ParsingTreeObject10GetMembersEv(ptr noundef nonnull align 8 dereferenceable(344) %329)
  %331 = call noundef i64 @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %330)
  %332 = icmp slt i64 %328, %331
  br i1 %332, label %.lr.ph, label %._crit_edge, !llvm.loop !41

333:                                              ; preds = %.lr.ph
  %334 = landingpad { ptr, i32 }
          cleanup
  br label %340

335:                                              ; preds = %319
  %336 = landingpad { ptr, i32 }
          cleanup
  br label %339

337:                                              ; preds = %324
  %338 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %339

339:                                              ; preds = %337, %335
  %.pn182 = phi { ptr, i32 } [ %338, %337 ], [ %336, %335 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %24) #7
  br label %340

340:                                              ; preds = %339, %333
  %.pn182.pn = phi { ptr, i32 } [ %.pn182, %339 ], [ %334, %333 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %24) #7
  br label %348

341:                                              ; preds = %._crit_edge
  %342 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %343 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZN2vl7parsing17ParsingTreeObject15GetCreatorRulesEv(ptr noundef nonnull align 8 dereferenceable(344) %342)
  %344 = getelementptr inbounds i8, ptr %287, i64 112
  %345 = invoke noundef i64 @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_E3AddERKS3_(ptr noundef nonnull align 8 dereferenceable(33) %343, ptr noundef nonnull align 8 dereferenceable(48) %344)
          to label %346 unwind label %312

346:                                              ; preds = %341
  %347 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %277, ptr noundef null)
          to label %576 unwind label %312

348:                                              ; preds = %340, %312
  %.pn182.pn.pn = phi { ptr, i32 } [ %.pn182.pn, %340 ], [ %313, %312 ]
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %598

349:                                              ; preds = %284
  %350 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %277)
  br i1 %350, label %397, label %351

351:                                              ; preds = %349
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27)
  %352 = load ptr, ptr %280, align 8, !tbaa !42
  %353 = icmp eq ptr %352, null
  br i1 %353, label %354, label %368

354:                                              ; preds = %351
  %355 = invoke noalias noundef nonnull dereferenceable(264) ptr @_Znwm(i64 noundef 264) #8
          to label %356 unwind label %363

356:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %28) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %28, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %357 unwind label %.thread216

357:                                              ; preds = %356
  %358 = load i64, ptr %281, align 8, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %29) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %29)
          to label %359 unwind label %.thread220

359:                                              ; preds = %357
  invoke void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192) %355, ptr noundef nonnull align 8 dereferenceable(48) %28, i64 noundef %358, ptr noundef nonnull align 8 dereferenceable(56) %29)
          to label %360 unwind label %.thread220

360:                                              ; preds = %359
  %361 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull %355)
          to label %362 unwind label %366

362:                                              ; preds = %360
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %29) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %28) #7
  br label %389

363:                                              ; preds = %368, %354
  %364 = landingpad { ptr, i32 }
          cleanup
  br label %396

.thread216:                                       ; preds = %356
  %365 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %28) #7
  br label %367

.thread220:                                       ; preds = %359, %357
  %lpad.thr_comm = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %29) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %28) #7
  br label %367

366:                                              ; preds = %360
  %lpad.thr_comm.split-lp = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %29) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %28) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %28) #7
  br label %396

367:                                              ; preds = %.thread220, %.thread216
  %.pn178219 = phi { ptr, i32 } [ %365, %.thread216 ], [ %lpad.thr_comm, %.thread220 ]
  call void @_ZdlPvm(ptr noundef nonnull %355, i64 noundef 264) #9
  br label %396

368:                                              ; preds = %351
  %369 = invoke noalias noundef nonnull dereferenceable(264) ptr @_Znwm(i64 noundef 264) #8
          to label %370 unwind label %363

370:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %30) #7
  %371 = getelementptr inbounds i8, ptr %352, i64 24
  %372 = load ptr, ptr %371, align 8, !tbaa !44
  %373 = getelementptr inbounds i8, ptr %352, i64 8
  %374 = load i64, ptr %373, align 8, !tbaa !46
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwl(ptr noundef nonnull align 8 dereferenceable(48) %30, ptr noundef %372, i64 noundef %374)
          to label %375 unwind label %.thread223

375:                                              ; preds = %370
  %376 = load i64, ptr %281, align 8, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %31) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %31)
          to label %377 unwind label %.thread231

377:                                              ; preds = %375
  invoke void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192) %369, ptr noundef nonnull align 8 dereferenceable(48) %30, i64 noundef %376, ptr noundef nonnull align 8 dereferenceable(56) %31)
          to label %378 unwind label %.thread231

378:                                              ; preds = %377
  %379 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull %369)
          to label %380 unwind label %385

380:                                              ; preds = %378
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %31) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %30) #7
  %381 = call noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeTokenEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %27)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %32) #7
  %382 = load ptr, ptr %280, align 8, !tbaa !42
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2EPKNS_5regex10RegexTokenES5_(ptr noundef nonnull align 8 dereferenceable(56) %32, ptr noundef %382, ptr noundef %382)
          to label %383 unwind label %387

383:                                              ; preds = %380
  call void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %381, ptr noundef nonnull align 8 dereferenceable(56) %32)
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %32) #7
  br label %389

.thread223:                                       ; preds = %370
  %384 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %30) #7
  br label %386

.thread231:                                       ; preds = %377, %375
  %lpad.thr_comm229 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %31) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %30) #7
  br label %386

385:                                              ; preds = %378
  %lpad.thr_comm.split-lp230 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %31) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %30) #7
  br label %396

386:                                              ; preds = %.thread231, %.thread223
  %.pn176226 = phi { ptr, i32 } [ %384, %.thread223 ], [ %lpad.thr_comm229, %.thread231 ]
  call void @_ZdlPvm(ptr noundef nonnull %369, i64 noundef 264) #9
  br label %396

387:                                              ; preds = %380
  %388 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %32) #7
  br label %396

389:                                              ; preds = %383, %362
  %390 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %391 = getelementptr inbounds i8, ptr %287, i64 16
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_16ParsingTreeTokenEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %27)
  %392 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %390, ptr noundef nonnull align 8 dereferenceable(48) %391, ptr noundef nonnull %33)
          to label %393 unwind label %394

393:                                              ; preds = %389
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %.thread290

394:                                              ; preds = %389
  %395 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %396

396:                                              ; preds = %385, %366, %386, %367, %394, %387, %363
  %.pn180 = phi { ptr, i32 } [ %395, %394 ], [ %.pn178219, %367 ], [ %lpad.thr_comm.split-lp, %366 ], [ %364, %363 ], [ %388, %387 ], [ %.pn176226, %386 ], [ %lpad.thr_comm.split-lp230, %385 ]
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %598

397:                                              ; preds = %349
  %398 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %399 = getelementptr inbounds i8, ptr %287, i64 16
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %277)
  %400 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %398, ptr noundef nonnull align 8 dereferenceable(48) %399, ptr noundef nonnull %34)
          to label %401 unwind label %403

401:                                              ; preds = %397
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  %402 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %277, ptr noundef null)
  br label %.thread290

403:                                              ; preds = %397
  %404 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %598

405:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #7
  %406 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %407 = getelementptr inbounds i8, ptr %287, i64 16
  call void @_ZN2vl7parsing17ParsingTreeObject9GetMemberERKNS_12ObjectStringIwEE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.46") align 8 %36, ptr noundef nonnull align 8 dereferenceable(344) %406, ptr noundef nonnull align 8 dereferenceable(48) %407)
  invoke void @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEE4CastINS1_16ParsingTreeArrayEEENS0_IT_EEv(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.608") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %408 unwind label %422

408:                                              ; preds = %405
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  %409 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %35)
  br i1 %409, label %431, label %410

410:                                              ; preds = %408
  %411 = invoke noalias noundef nonnull dereferenceable(304) ptr @_Znwm(i64 noundef 304) #8
          to label %412 unwind label %424

412:                                              ; preds = %410
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %37) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %413 unwind label %.thread234

413:                                              ; preds = %412
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %38) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %38)
          to label %414 unwind label %.thread242

414:                                              ; preds = %413
  invoke void @_ZN2vl7parsing16ParsingTreeArrayC1ERKNS_12ObjectStringIwEERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(232) %411, ptr noundef nonnull align 8 dereferenceable(48) %37, ptr noundef nonnull align 8 dereferenceable(56) %38)
          to label %415 unwind label %.thread242

415:                                              ; preds = %414
  %416 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull %411)
          to label %417 unwind label %427

417:                                              ; preds = %415
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %38) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) #7
  %418 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  invoke void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_16ParsingTreeArrayEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %419 unwind label %424

419:                                              ; preds = %417
  %420 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %418, ptr noundef nonnull align 8 dereferenceable(48) %407, ptr noundef nonnull %39)
          to label %421 unwind label %429

421:                                              ; preds = %419
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %431

422:                                              ; preds = %405
  %423 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  br label %508

424:                                              ; preds = %417, %410
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %507

.thread234:                                       ; preds = %412
  %426 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) #7
  br label %428

.thread242:                                       ; preds = %414, %413
  %lpad.thr_comm240 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %38) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) #7
  br label %428

427:                                              ; preds = %415
  %lpad.thr_comm.split-lp241 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %38) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %37) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %37) #7
  br label %507

428:                                              ; preds = %.thread242, %.thread234
  %.pn164237 = phi { ptr, i32 } [ %426, %.thread234 ], [ %lpad.thr_comm240, %.thread242 ]
  call void @_ZdlPvm(ptr noundef nonnull %411, i64 noundef 304) #9
  br label %507

429:                                              ; preds = %419
  %430 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %507

431:                                              ; preds = %421, %408
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %40) #7
  %432 = call noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %35)
  call void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind nonnull writable sret(%"struct.vl::parsing::ParsingTextRange") align 8 %40, ptr noundef nonnull align 8 dereferenceable(128) %432)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %41) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %41)
          to label %433 unwind label %447

433:                                              ; preds = %431
  %434 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %277)
  br i1 %434, label %483, label %435

435:                                              ; preds = %433
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42)
  %436 = load ptr, ptr %280, align 8, !tbaa !42
  %437 = icmp eq ptr %436, null
  br i1 %437, label %438, label %454

438:                                              ; preds = %435
  %439 = invoke noalias noundef nonnull dereferenceable(264) ptr @_Znwm(i64 noundef 264) #8
          to label %440 unwind label %449

440:                                              ; preds = %438
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %43) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %43, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %441 unwind label %.thread245

441:                                              ; preds = %440
  %442 = load i64, ptr %281, align 8, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %44) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %44)
          to label %443 unwind label %.thread253

443:                                              ; preds = %441
  invoke void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192) %439, ptr noundef nonnull align 8 dereferenceable(48) %43, i64 noundef %442, ptr noundef nonnull align 8 dereferenceable(56) %44)
          to label %444 unwind label %.thread253

444:                                              ; preds = %443
  %445 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull %439)
          to label %446 unwind label %452

446:                                              ; preds = %444
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %44) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %43) #7
  br label %476

447:                                              ; preds = %494, %486, %431
  %448 = landingpad { ptr, i32 }
          cleanup
  br label %506

449:                                              ; preds = %454, %438
  %450 = landingpad { ptr, i32 }
          cleanup
  br label %482

.thread245:                                       ; preds = %440
  %451 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %43) #7
  br label %453

.thread253:                                       ; preds = %443, %441
  %lpad.thr_comm251 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %44) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %43) #7
  br label %453

452:                                              ; preds = %444
  %lpad.thr_comm.split-lp252 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %44) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %43) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %43) #7
  br label %482

453:                                              ; preds = %.thread253, %.thread245
  %.pn168248 = phi { ptr, i32 } [ %451, %.thread245 ], [ %lpad.thr_comm251, %.thread253 ]
  call void @_ZdlPvm(ptr noundef nonnull %439, i64 noundef 264) #9
  br label %482

454:                                              ; preds = %435
  %455 = invoke noalias noundef nonnull dereferenceable(264) ptr @_Znwm(i64 noundef 264) #8
          to label %456 unwind label %449

456:                                              ; preds = %454
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %45) #7
  %457 = getelementptr inbounds i8, ptr %436, i64 24
  %458 = load ptr, ptr %457, align 8, !tbaa !44
  %459 = getelementptr inbounds i8, ptr %436, i64 8
  %460 = load i64, ptr %459, align 8, !tbaa !46
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwl(ptr noundef nonnull align 8 dereferenceable(48) %45, ptr noundef %458, i64 noundef %460)
          to label %461 unwind label %.thread256

461:                                              ; preds = %456
  %462 = load i64, ptr %281, align 8, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %46) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %46)
          to label %463 unwind label %.thread264

463:                                              ; preds = %461
  invoke void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192) %455, ptr noundef nonnull align 8 dereferenceable(48) %45, i64 noundef %462, ptr noundef nonnull align 8 dereferenceable(56) %46)
          to label %464 unwind label %.thread264

464:                                              ; preds = %463
  %465 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull %455)
          to label %466 unwind label %472

466:                                              ; preds = %464
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %46) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %45) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %45) #7
  %467 = call noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeTokenEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %42)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %47) #7
  %468 = load ptr, ptr %280, align 8, !tbaa !42
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2EPKNS_5regex10RegexTokenES5_(ptr noundef nonnull align 8 dereferenceable(56) %47, ptr noundef %468, ptr noundef %468)
          to label %469 unwind label %474

469:                                              ; preds = %466
  call void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %467, ptr noundef nonnull align 8 dereferenceable(56) %47)
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %48) #7
  %470 = call noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeTokenEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %42)
  call void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind nonnull writable sret(%"struct.vl::parsing::ParsingTextRange") align 8 %48, ptr noundef nonnull align 8 dereferenceable(128) %470)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %41, ptr noundef nonnull align 8 dereferenceable(56) %48, i64 56, i1 false), !tbaa.struct !47
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %48) #7
  br label %476

.thread256:                                       ; preds = %456
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %45) #7
  br label %473

.thread264:                                       ; preds = %463, %461
  %lpad.thr_comm262 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %46) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %45) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %45) #7
  br label %473

472:                                              ; preds = %464
  %lpad.thr_comm.split-lp263 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %46) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %45) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %45) #7
  br label %482

473:                                              ; preds = %.thread264, %.thread256
  %.pn166259 = phi { ptr, i32 } [ %471, %.thread256 ], [ %lpad.thr_comm262, %.thread264 ]
  call void @_ZdlPvm(ptr noundef nonnull %455, i64 noundef 264) #9
  br label %482

474:                                              ; preds = %466
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %47) #7
  br label %482

476:                                              ; preds = %469, %446
  %477 = call noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %35)
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_16ParsingTreeTokenEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %42)
  %478 = invoke noundef zeroext i1 @_ZN2vl7parsing16ParsingTreeArray7AddItemENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(232) %477, ptr noundef nonnull %49)
          to label %479 unwind label %480

479:                                              ; preds = %476
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  br label %491

480:                                              ; preds = %476
  %481 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %482

482:                                              ; preds = %472, %452, %473, %453, %480, %474, %449
  %.pn170 = phi { ptr, i32 } [ %481, %480 ], [ %.pn168248, %453 ], [ %lpad.thr_comm.split-lp252, %452 ], [ %450, %449 ], [ %475, %474 ], [ %.pn166259, %473 ], [ %lpad.thr_comm.split-lp263, %472 ]
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  br label %506

483:                                              ; preds = %433
  %484 = call noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %35)
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %277)
  %485 = invoke noundef zeroext i1 @_ZN2vl7parsing16ParsingTreeArray7AddItemENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(232) %484, ptr noundef nonnull %50)
          to label %486 unwind label %489

486:                                              ; preds = %483
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %51) #7
  %487 = call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %277)
  call void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind nonnull writable sret(%"struct.vl::parsing::ParsingTextRange") align 8 %51, ptr noundef nonnull align 8 dereferenceable(128) %487)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %41, ptr noundef nonnull align 8 dereferenceable(56) %51, i64 56, i1 false), !tbaa.struct !47
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %51) #7
  %488 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %277, ptr noundef null)
          to label %491 unwind label %447

489:                                              ; preds = %483
  %490 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %506

491:                                              ; preds = %486, %479
  %492 = load i64, ptr %40, align 8, !tbaa !49
  %493 = icmp eq i64 %492, -2
  br i1 %493, label %497, label %494

494:                                              ; preds = %491
  %495 = invoke noundef zeroext i1 @_ZNK2vl7parsing14ParsingTextPosltERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %40)
          to label %496 unwind label %447

496:                                              ; preds = %494
  br i1 %495, label %497, label %498

497:                                              ; preds = %496, %491
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %41, i64 24, i1 false), !tbaa.struct !52
  br label %498

498:                                              ; preds = %497, %496
  %499 = load i64, ptr %282, align 8, !tbaa !53
  %500 = icmp eq i64 %499, -2
  br i1 %500, label %503, label %501

501:                                              ; preds = %498
  %502 = call noundef zeroext i1 @_ZNK2vl7parsing14ParsingTextPosgtERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %283, ptr noundef nonnull align 8 dereferenceable(24) %282)
  br i1 %502, label %503, label %504

503:                                              ; preds = %501, %498
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %282, ptr noundef nonnull align 8 dereferenceable(24) %283, i64 24, i1 false), !tbaa.struct !52
  br label %504

504:                                              ; preds = %503, %501
  %505 = call noundef ptr @_ZNK2vl3PtrINS_7parsing16ParsingTreeArrayEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %35)
  call void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %505, ptr noundef nonnull align 8 dereferenceable(56) %40)
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %40) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %.thread290

506:                                              ; preds = %489, %482, %447
  %.pn172 = phi { ptr, i32 } [ %448, %447 ], [ %490, %489 ], [ %.pn170, %482 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %40) #7
  br label %507

507:                                              ; preds = %427, %428, %506, %429, %424
  %.pn172.pn = phi { ptr, i32 } [ %.pn172, %506 ], [ %430, %429 ], [ %425, %424 ], [ %.pn164237, %428 ], [ %lpad.thr_comm.split-lp241, %427 ]
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeArrayEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %508

508:                                              ; preds = %507, %422
  %.pn172.pn.pn = phi { ptr, i32 } [ %.pn172.pn, %507 ], [ %423, %422 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %598

509:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #7
  %510 = call noalias noundef nonnull dereferenceable(264) ptr @_Znwm(i64 noundef 264) #8
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %53) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %53)
          to label %511 unwind label %518

511:                                              ; preds = %509
  %512 = getelementptr inbounds i8, ptr %287, i64 64
  invoke void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192) %510, ptr noundef nonnull align 8 dereferenceable(48) %512, i64 noundef -1, ptr noundef nonnull align 8 dereferenceable(56) %53)
          to label %513 unwind label %518

513:                                              ; preds = %511
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEEC2EPS2_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull %510)
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %53) #7
  %514 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  %515 = getelementptr inbounds i8, ptr %287, i64 16
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEC2INS1_16ParsingTreeTokenEEERKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %52)
  %516 = invoke noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344) %514, ptr noundef nonnull align 8 dereferenceable(48) %515, ptr noundef nonnull %54)
          to label %517 unwind label %520

517:                                              ; preds = %513
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  br label %.thread290

518:                                              ; preds = %511, %509
  %519 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %53) #7
  call void @_ZdlPvm(ptr noundef nonnull %510, i64 noundef 264) #9
  br label %522

520:                                              ; preds = %513
  %521 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @_ZN2vl3PtrINS_7parsing16ParsingTreeTokenEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %522

522:                                              ; preds = %518, %520
  %.pn162 = phi { ptr, i32 } [ %521, %520 ], [ %519, %518 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  br label %598

523:                                              ; preds = %284
  %524 = call noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %279, ptr noundef nonnull align 8 dereferenceable(32) %62)
  %525 = call noalias noundef nonnull dereferenceable(416) ptr @_Znwm(i64 noundef 416) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %55) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %55, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %526 unwind label %.thread267

526:                                              ; preds = %523
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %56) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %56)
          to label %527 unwind label %.thread275

527:                                              ; preds = %526
  invoke void @_ZN2vl7parsing17ParsingTreeObjectC1ERKNS_12ObjectStringIwEERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(344) %525, ptr noundef nonnull align 8 dereferenceable(48) %55, ptr noundef nonnull align 8 dereferenceable(56) %56)
          to label %528 unwind label %.thread275

528:                                              ; preds = %527
  %529 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull %525)
          to label %530 unwind label %533

530:                                              ; preds = %528
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %56) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %55) #7
  %531 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %277, ptr noundef null)
  br label %.thread290

.thread267:                                       ; preds = %523
  %532 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %55) #7
  br label %534

.thread275:                                       ; preds = %527, %526
  %lpad.thr_comm273 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %56) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %55) #7
  br label %534

533:                                              ; preds = %528
  %lpad.thr_comm.split-lp274 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %56) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %55) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %55) #7
  br label %598

534:                                              ; preds = %.thread275, %.thread267
  %.pn160270 = phi { ptr, i32 } [ %532, %.thread267 ], [ %lpad.thr_comm273, %.thread275 ]
  call void @_ZdlPvm(ptr noundef nonnull %525, i64 noundef 416) #9
  br label %598

535:                                              ; preds = %284
  %536 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %279)
  %537 = icmp eq i64 %536, 0
  br i1 %537, label %.thread298, label %538

538:                                              ; preds = %535
  %539 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSINS1_17ParsingTreeObjectEEERS3_RKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %277, ptr noundef nonnull align 8 dereferenceable(32) %62)
  %540 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %279)
  %541 = add nsw i64 %540, -1
  %542 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %279, i64 noundef %541)
  %543 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %542)
  %544 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %279)
  %545 = add nsw i64 %544, -1
  %546 = call noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E8RemoveAtEl(ptr noundef nonnull align 8 dereferenceable(33) %279, i64 noundef %545)
  %547 = call noundef zeroext i1 @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %278)
  br i1 %547, label %548, label %.thread290

548:                                              ; preds = %538
  %549 = call noundef ptr @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %278)
  %550 = add nsw i64 %.0150380, 1
  %551 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK2vl11collections9ArrayBaseINS_7parsing7tabling12ParsingState16ShiftReduceRangeEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %549, i64 noundef %.0150380)
  %.sroa.017.0.copyload = load ptr, ptr %551, align 8, !tbaa !54
  %.sroa.519.0..sroa_idx = getelementptr inbounds i8, ptr %551, i64 8
  %.sroa.519.0.copyload = load ptr, ptr %.sroa.519.0..sroa_idx, align 8, !tbaa !54
  %552 = icmp ne ptr %.sroa.017.0.copyload, null
  %553 = icmp ne ptr %.sroa.519.0.copyload, null
  %or.cond = select i1 %552, i1 %553, i1 false
  br i1 %or.cond, label %554, label %.thread290

554:                                              ; preds = %548
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %57) #7
  call void @_ZN2vl7parsing16ParsingTextRangeC2EPKNS_5regex10RegexTokenES5_(ptr noundef nonnull align 8 dereferenceable(56) %57, ptr noundef nonnull %.sroa.017.0.copyload, ptr noundef nonnull %.sroa.519.0.copyload)
  %555 = call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %277)
  call void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %555, ptr noundef nonnull align 8 dereferenceable(56) %57)
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %57) #7
  br label %.thread290

556:                                              ; preds = %284
  %557 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing15ParsingTreeNodeEEaSINS1_17ParsingTreeObjectEEERS3_RKNS0_IT_EE(ptr noundef nonnull align 8 dereferenceable(32) %277, ptr noundef nonnull align 8 dereferenceable(32) %62)
  %558 = call noalias noundef nonnull dereferenceable(416) ptr @_Znwm(i64 noundef 416) #8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %58) #7
  invoke void @_ZN2vl12ObjectStringIwEC2EPKwb(ptr noundef nonnull align 8 dereferenceable(48) %58, ptr noundef nonnull @.str.2, i1 noundef zeroext true)
          to label %559 unwind label %.thread278

559:                                              ; preds = %556
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %59) #7
  invoke void @_ZN2vl7parsing16ParsingTextRangeC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %59)
          to label %560 unwind label %.thread286

560:                                              ; preds = %559
  invoke void @_ZN2vl7parsing17ParsingTreeObjectC1ERKNS_12ObjectStringIwEERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(344) %558, ptr noundef nonnull align 8 dereferenceable(48) %58, ptr noundef nonnull align 8 dereferenceable(56) %59)
          to label %561 unwind label %.thread286

561:                                              ; preds = %560
  %562 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSEPS2_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull %558)
          to label %563 unwind label %574

563:                                              ; preds = %561
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %59) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58) #7
  %564 = call noundef zeroext i1 @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %278)
  br i1 %564, label %565, label %.thread290

565:                                              ; preds = %563
  %566 = call noundef ptr @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %278)
  %567 = add nsw i64 %.0150380, 1
  %568 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK2vl11collections9ArrayBaseINS_7parsing7tabling12ParsingState16ShiftReduceRangeEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %566, i64 noundef %.0150380)
  %.sroa.013.0.copyload = load ptr, ptr %568, align 8, !tbaa !54
  %.sroa.515.0..sroa_idx = getelementptr inbounds i8, ptr %568, i64 8
  %.sroa.515.0.copyload = load ptr, ptr %.sroa.515.0..sroa_idx, align 8, !tbaa !54
  %569 = icmp ne ptr %.sroa.013.0.copyload, null
  %570 = icmp ne ptr %.sroa.515.0.copyload, null
  %or.cond7 = select i1 %569, i1 %570, i1 false
  br i1 %or.cond7, label %571, label %.thread290

571:                                              ; preds = %565
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %60) #7
  call void @_ZN2vl7parsing16ParsingTextRangeC2EPKNS_5regex10RegexTokenES5_(ptr noundef nonnull align 8 dereferenceable(56) %60, ptr noundef nonnull %.sroa.013.0.copyload, ptr noundef nonnull %.sroa.515.0.copyload)
  %572 = call noundef ptr @_ZNK2vl3PtrINS_7parsing15ParsingTreeNodeEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %277)
  call void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %572, ptr noundef nonnull align 8 dereferenceable(56) %60)
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %60) #7
  br label %.thread290

.thread278:                                       ; preds = %556
  %573 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58) #7
  br label %575

.thread286:                                       ; preds = %560, %559
  %lpad.thr_comm284 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %59) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58) #7
  br label %575

574:                                              ; preds = %561
  %lpad.thr_comm.split-lp285 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %59) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %58) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %58) #7
  br label %598

575:                                              ; preds = %.thread286, %.thread278
  %.pn281 = phi { ptr, i32 } [ %573, %.thread278 ], [ %lpad.thr_comm284, %.thread286 ]
  call void @_ZdlPvm(ptr noundef nonnull %558, i64 noundef 416) #9
  br label %598

.critedge210:                                     ; preds = %306
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %.thread298

576:                                              ; preds = %346
  call void @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %.thread290

.thread290:                                       ; preds = %576, %293, %504, %517, %530, %401, %393, %538, %563, %554, %548, %571, %565
  %.2152293 = phi i64 [ %.0150380, %576 ], [ %567, %565 ], [ %567, %571 ], [ %550, %548 ], [ %550, %554 ], [ %.0150380, %293 ], [ %.0150380, %393 ], [ %.0150380, %401 ], [ %.0150380, %504 ], [ %.0150380, %517 ], [ %.0150380, %530 ], [ %.0150380, %538 ], [ %.0150380, %563 ]
  %577 = add nsw i64 %.0149381, 1
  %578 = load i64, ptr %272, align 8, !tbaa !36
  %579 = load i64, ptr %273, align 8, !tbaa !35
  %580 = add nsw i64 %579, %578
  %.not = icmp slt i64 %577, %580
  br i1 %.not, label %284, label %.thread301, !llvm.loop !55

.thread301:                                       ; preds = %.thread290, %271
  %.0150.lcssa = phi i64 [ 0, %271 ], [ %.2152293, %.thread290 ]
  %581 = getelementptr inbounds i8, ptr %1, i64 64
  %582 = load i64, ptr %581, align 8, !tbaa !56
  %583 = icmp eq i64 %582, 1
  br i1 %583, label %584, label %.thread298

584:                                              ; preds = %.thread301
  %585 = getelementptr inbounds i8, ptr %0, i64 120
  %586 = load i8, ptr %585, align 8, !tbaa !15, !range !25, !noundef !26
  %587 = trunc nuw i8 %586 to i1
  br i1 %587, label %.thread298, label %588

588:                                              ; preds = %584
  %589 = getelementptr inbounds i8, ptr %1, i64 128
  %590 = call noundef zeroext i1 @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %589)
  br i1 %590, label %591, label %.thread298

591:                                              ; preds = %588
  %592 = call noundef ptr @_ZNK2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %589)
  %593 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNK2vl11collections9ArrayBaseINS_7parsing7tabling12ParsingState16ShiftReduceRangeEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %592, i64 noundef %.0150.lcssa)
  %.sroa.0.0.copyload = load ptr, ptr %593, align 8, !tbaa !54
  %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %593, i64 8
  %.sroa.5.0.copyload = load ptr, ptr %.sroa.5.0..sroa_idx, align 8, !tbaa !54
  %594 = icmp ne ptr %.sroa.0.0.copyload, null
  %595 = icmp ne ptr %.sroa.5.0.copyload, null
  %or.cond10 = select i1 %594, i1 %595, i1 false
  br i1 %or.cond10, label %596, label %.thread298

596:                                              ; preds = %591
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %61) #7
  call void @_ZN2vl7parsing16ParsingTextRangeC2EPKNS_5regex10RegexTokenES5_(ptr noundef nonnull align 8 dereferenceable(56) %61, ptr noundef nonnull %.sroa.0.0.copyload, ptr noundef nonnull %.sroa.5.0.copyload)
  %597 = call noundef ptr @_ZNK2vl3PtrINS_7parsing17ParsingTreeObjectEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
  call void @_ZN2vl7parsing15ParsingTreeNode12SetCodeRangeERKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(128) %597, ptr noundef nonnull align 8 dereferenceable(56) %61)
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %61) #7
  br label %.thread298

.thread298:                                       ; preds = %289, %304, %300, %535, %284, %180, %164, %.thread301, %584, %588, %596, %591, %.critedge210, %._crit_edge390, %256, %64, %193, %189, %133, %129, %66, %2
  %.5 = phi i1 [ false, %2 ], [ false, %66 ], [ false, %129 ], [ false, %133 ], [ false, %189 ], [ false, %193 ], [ false, %64 ], [ true, %256 ], [ true, %._crit_edge390 ], [ false, %.critedge210 ], [ true, %591 ], [ true, %596 ], [ true, %588 ], [ true, %584 ], [ true, %.thread301 ], [ true, %164 ], [ true, %180 ], [ false, %284 ], [ false, %535 ], [ false, %300 ], [ false, %304 ], [ false, %289 ]
  ret i1 %.5

598:                                              ; preds = %574, %533, %348, %396, %403, %508, %522, %534, %575, %270, %188, %172, %151, %128, %112, %81
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn193.pn.pn.pn.pn, %270 ], [ %.pn202, %188 ], [ %.pn200, %172 ], [ %152, %151 ], [ %.pn206, %128 ], [ %.pn204, %112 ], [ %82, %81 ], [ %.pn281, %575 ], [ %lpad.thr_comm.split-lp285, %574 ], [ %.pn160270, %534 ], [ %lpad.thr_comm.split-lp274, %533 ], [ %.pn162, %522 ], [ %.pn172.pn.pn, %508 ], [ %404, %403 ], [ %.pn180, %396 ], [ %.pn182.pn.pn, %348 ]
  resume { ptr, i32 } %.pn.pn.pn
}

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl7parsing15ParsingTreeNode12GetCodeRangeEv(ptr dead_on_unwind noalias writable sret(%"struct.vl::parsing::ParsingTextRange") align 8, ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #3 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing17ParsingTreeObjectEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.634") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl7parsing16ParsingTreeArray7AddItemENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(232), ptr noundef) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl7parsing17ParsingTreeObject9SetMemberERKNS_12ObjectStringIwEENS_3PtrINS0_15ParsingTreeNodeEEE(ptr noundef nonnull align 8 dereferenceable(344), ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing17ParsingTreeObjectEEaSERKS3_(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 @_ZN2vl7parsing17ParsingTreeObject7SetTypeERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(344), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZN2vl7parsing17ParsingTreeObject15GetCreatorRulesEv(ptr noundef nonnull align 8 dereferenceable(344)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(104) ptr @_ZN2vl7parsing17ParsingTreeObject10GetMembersEv(ptr noundef nonnull align 8 dereferenceable(344)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEENS_3PtrINS_7parsing15ParsingTreeNodeEEES3_PS6_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing16ParsingTreeTokenC1ERKNS_12ObjectStringIwEElRKNS0_16ParsingTextRangeE(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(48), i64 noundef, ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_E8RemoveAtEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) local_unnamed_addr #2 align 2

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

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

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

attributes #0 = { nobuiltin 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 #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 = { 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 #4 = { nobuiltin allocsize(0) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
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 = { builtin allocsize(0) }
attributes #9 = { builtin nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"_ZTSN2vl7parsing7tabling12ParsingState16TransitionResultE", !7, i64 0, !10, i64 8, !11, i64 16, !10, i64 64, !10, i64 72, !10, i64 80, !10, i64 88, !13, i64 96, !13, i64 104, !10, i64 112, !10, i64 120, !14, i64 128}
!7 = !{!"_ZTSN2vl7parsing7tabling12ParsingState16TransitionResult14TransitionTypeE", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"long", !8, i64 0}
!11 = !{!"_ZTSN2vl12ObjectStringIwEE", !12, i64 0, !13, i64 8, !13, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!12 = !{!"_ZTSN2vl6ObjectE"}
!13 = !{!"any pointer", !8, i64 0}
!14 = !{!"_ZTSN2vl3PtrINS_11collections4ListINS_7parsing7tabling12ParsingState16ShiftReduceRangeES6_EEEE", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!15 = !{!16, !24, i64 120}
!16 = !{!"_ZTSN2vl7parsing7tabling18ParsingTreeBuilderE", !17, i64 0, !18, i64 8, !19, i64 40, !20, i64 72, !24, i64 120, !18, i64 128, !18, i64 160, !10, i64 192, !20, i64 200, !20, i64 248}
!17 = !{!"_ZTSN2vl7parsing7tabling26ParsingTransitionProcessorE", !12, i64 0}
!18 = !{!"_ZTSN2vl3PtrINS_7parsing15ParsingTreeNodeEEE", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!19 = !{!"_ZTSN2vl3PtrINS_7parsing17ParsingTreeObjectEEE", !13, i64 0, !13, i64 8, !13, i64 16, !13, i64 24}
!20 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_EE", !21, i64 0}
!21 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEPS4_EE", !22, i64 0, !10, i64 24, !24, i64 32}
!22 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing17ParsingTreeObjectEEEEE", !23, i64 0, !13, i64 8, !10, i64 16}
!23 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing17ParsingTreeObjectEEELb0EEE", !12, i64 0}
!24 = !{!"bool", !8, i64 0}
!25 = !{i8 0, i8 2}
!26 = !{}
!27 = !{!28, !28, i64 0}
!28 = !{!"vtable pointer", !9, i64 0}
!29 = !{!6, !10, i64 8}
!30 = !{!16, !10, i64 192}
!31 = distinct !{!31, !32}
!32 = !{!"llvm.loop.mustprogress"}
!33 = distinct !{!33, !32}
!34 = distinct !{!34, !32}
!35 = !{!6, !10, i64 120}
!36 = !{!6, !10, i64 112}
!37 = !{!6, !13, i64 104}
!38 = !{!39, !40, i64 0}
!39 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable11InstructionE", !40, i64 0, !10, i64 8, !11, i64 16, !11, i64 64, !11, i64 112}
!40 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable11Instruction15InstructionTypeE", !8, i64 0}
!41 = distinct !{!41, !32}
!42 = !{!6, !13, i64 96}
!43 = !{!6, !10, i64 88}
!44 = !{!45, !13, i64 24}
!45 = !{!"_ZTSN2vl5regex10RegexTokenE", !10, i64 0, !10, i64 8, !10, i64 16, !13, i64 24, !10, i64 32, !24, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72}
!46 = !{!45, !10, i64 8}
!47 = !{i64 0, i64 8, !48, i64 8, i64 8, !48, i64 16, i64 8, !48, i64 24, i64 8, !48, i64 32, i64 8, !48, i64 40, i64 8, !48, i64 48, i64 8, !48}
!48 = !{!10, !10, i64 0}
!49 = !{!50, !10, i64 0}
!50 = !{!"_ZTSN2vl7parsing16ParsingTextRangeE", !51, i64 0, !51, i64 24, !10, i64 48}
!51 = !{!"_ZTSN2vl7parsing14ParsingTextPosE", !10, i64 0, !10, i64 8, !10, i64 16}
!52 = !{i64 0, i64 8, !48, i64 8, i64 8, !48, i64 16, i64 8, !48}
!53 = !{!50, !10, i64 24}
!54 = !{!13, !13, i64 0}
!55 = distinct !{!55, !32}
!56 = !{!6, !10, i64 64}


; Effective O3 passes: ConstraintEliminationPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass