; 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::collections::EnumerableForEachIterator.535" = type { %"class.vl::collections::ForEachIterator.536", %"class.vl::Ptr.537" }
%"class.vl::collections::ForEachIterator.536" = type { %"class.vl::Object" }
%"class.vl::Object" = type { ptr }
%"class.vl::Ptr.537" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.539" = type { %"class.vl::collections::ForEachIterator.540", %"class.vl::Ptr.541" }
%"class.vl::collections::ForEachIterator.540" = type { %"class.vl::Object" }
%"class.vl::Ptr.541" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.461" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.447" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::Dictionary.462" = type { %"class.vl::Object", %"class.vl::collections::SortedList.463", %"class.vl::collections::List.403", %"class.vl::collections::IEnumerable.465" }
%"class.vl::collections::SortedList.463" = type { %"class.vl::collections::ListBase.base.409", %"class.vl::collections::IEnumerable.407" }
%"class.vl::collections::ListBase.base.409" = type <{ %"class.vl::collections::ArrayBase.base.408", i64, i8 }>
%"class.vl::collections::ArrayBase.base.408" = type { %"class.vl::collections::ListStore.406", ptr, i64 }
%"class.vl::collections::ListStore.406" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.407" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"class.vl::collections::List.403" = type { %"class.vl::collections::ListBase.base.409", %"class.vl::collections::IEnumerable.407" }
%"class.vl::collections::IEnumerable.465" = type { %"class.vl::Interface" }
%"class.vl::parsing::analyzing::Automaton" = type { %"class.vl::Object", ptr, %"class.vl::collections::List.411", %"class.vl::collections::List.419", %"class.vl::collections::Dictionary.427" }
%"class.vl::collections::List.411" = type { %"class.vl::collections::ListBase.base.417", %"class.vl::collections::IEnumerable.415" }
%"class.vl::collections::ListBase.base.417" = type <{ %"class.vl::collections::ArrayBase.base.416", i64, i8 }>
%"class.vl::collections::ArrayBase.base.416" = type { %"class.vl::collections::ListStore.414", ptr, i64 }
%"class.vl::collections::ListStore.414" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.415" = type { %"class.vl::Interface" }
%"class.vl::collections::List.419" = type { %"class.vl::collections::ListBase.base.425", %"class.vl::collections::IEnumerable.423" }
%"class.vl::collections::ListBase.base.425" = type <{ %"class.vl::collections::ArrayBase.base.424", i64, i8 }>
%"class.vl::collections::ArrayBase.base.424" = type { %"class.vl::collections::ListStore.422", ptr, i64 }
%"class.vl::collections::ListStore.422" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.423" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.427" = type { %"class.vl::Object", %"class.vl::collections::SortedList.428", %"class.vl::collections::List.436", %"class.vl::collections::IEnumerable.444" }
%"class.vl::collections::SortedList.428" = type { %"class.vl::collections::ListBase.base.434", %"class.vl::collections::IEnumerable.432" }
%"class.vl::collections::ListBase.base.434" = type <{ %"class.vl::collections::ArrayBase.base.433", i64, i8 }>
%"class.vl::collections::ArrayBase.base.433" = type { %"class.vl::collections::ListStore.431", ptr, i64 }
%"class.vl::collections::ListStore.431" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.432" = type { %"class.vl::Interface" }
%"class.vl::collections::List.436" = type { %"class.vl::collections::ListBase.base.442", %"class.vl::collections::IEnumerable.440" }
%"class.vl::collections::ListBase.base.442" = type <{ %"class.vl::collections::ArrayBase.base.441", i64, i8 }>
%"class.vl::collections::ArrayBase.base.441" = type { %"class.vl::collections::ListStore.439", ptr, i64 }
%"class.vl::collections::ListStore.439" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.440" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.444" = type { %"class.vl::Interface" }
%"class.vl::parsing::analyzing::RuleInfo" = type <{ %"class.vl::Object", ptr, ptr, ptr, %"class.vl::collections::List.403", i32, [4 x i8] }>
%"class.vl::parsing::analyzing::State" = type { %"class.vl::Object", %"class.vl::collections::List.395", %"class.vl::collections::List.395", i8, ptr, ptr, ptr, ptr, i32, %"class.vl::ObjectString", %"class.vl::ObjectString" }
%"class.vl::collections::List.395" = type { %"class.vl::collections::ListBase.base.401", %"class.vl::collections::IEnumerable.399" }
%"class.vl::collections::ListBase.base.401" = type <{ %"class.vl::collections::ArrayBase.base.400", i64, i8 }>
%"class.vl::collections::ArrayBase.base.400" = type { %"class.vl::collections::ListStore.398", ptr, i64 }
%"class.vl::collections::ListStore.398" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.399" = type { %"class.vl::Interface" }
%"class.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"class.vl::parsing::analyzing::Transition" = type { %"class.vl::Object", ptr, ptr, %"class.vl::collections::List.386", i32, i32, ptr }
%"class.vl::collections::List.386" = type { %"class.vl::collections::ListBase.base.392", %"class.vl::collections::IEnumerable.390" }
%"class.vl::collections::ListBase.base.392" = type <{ %"class.vl::collections::ArrayBase.base.391", i64, i8 }>
%"class.vl::collections::ArrayBase.base.391" = type { %"class.vl::collections::ListStore.389", ptr, i64 }
%"class.vl::collections::ListStore.389" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.390" = type { %"class.vl::Interface" }

; 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: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #2

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing24RemoveEpsilonTransitionsERNS_11collections10DictionaryIPNS1_5StateES5_S5_S5_EERNS2_4ListIS5_S5_EENS_3PtrINS1_9AutomatonEEE(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(33), ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2ERKS4_(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_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN2vl7parsing9analyzing39CreateNondeterministicPDAFromEpsilonPDAENS_3PtrINS1_9AutomatonEEE(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.461") align 8 %0, ptr noundef %1) #3 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i1, align 1
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i8, align 1
  %9 = alloca ptr, align 8
  %10 = alloca %"class.vl::collections::EnumerableForEachIterator.535", align 8
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca %"class.vl::Ptr.447", align 8
  %14 = alloca %"class.vl::Ptr.447", align 8
  %15 = alloca %"class.vl::collections::Dictionary.462", align 8
  %16 = alloca %"class.vl::collections::List.403", align 8
  %17 = alloca i64, align 8
  %18 = alloca %"class.vl::Ptr.461", align 8
  %19 = alloca %"class.vl::collections::List.403", align 8
  %20 = alloca %"class.vl::Ptr.461", align 8
  %21 = alloca %"class.vl::Ptr.447", align 8
  %22 = alloca %"class.vl::Ptr.461", align 8
  %23 = alloca %"class.vl::Ptr.447", align 8
  %24 = alloca i8, align 1
  %25 = alloca ptr, align 8
  %26 = alloca %"class.vl::collections::EnumerableForEachIterator.539", align 8
  %27 = alloca ptr, align 8
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  store i1 false, ptr %5, align 1
  %28 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 224) #6
  %29 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %30 unwind label %51

30:                                               ; preds = %2
  %31 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %29, i32 0, i32 1
  %32 = load ptr, ptr %31, align 8, !tbaa !9
  invoke void @_ZN2vl7parsing9analyzing9AutomatonC1EPNS1_20ParsingSymbolManagerE(ptr noundef nonnull align 8 dereferenceable(224) %28, ptr noundef %32)
          to label %33 unwind label %51

33:                                               ; preds = %30
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %28)
  call void @llvm.lifetime.start.p0(i64 1, ptr %8) #7
  store i8 1, ptr %8, align 1, !tbaa !31
  %34 = load i8, ptr %8, align 1, !tbaa !31, !range !32, !noundef !33
  %35 = trunc i8 %34 to i1
  br i1 %35, label %36, label %285

36:                                               ; preds = %33
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %10) #7
  %37 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %38 unwind label %55

38:                                               ; preds = %36
  %39 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %37, i32 0, i32 4
  %40 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %39)
          to label %41 unwind label %55

41:                                               ; preds = %38
  %42 = load ptr, ptr %40, align 8, !tbaa !34
  %43 = getelementptr i8, ptr %42, i64 -24
  %44 = load i64, ptr %43, align 8
  %45 = getelementptr inbounds i8, ptr %40, i64 %44
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.535") align 8 %10, ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %46 unwind label %55

46:                                               ; preds = %41
  store ptr %10, ptr %9, align 8, !tbaa !5
  br label %47

47:                                               ; preds = %282, %46
  %48 = load i8, ptr %8, align 1, !tbaa !31, !range !32, !noundef !33
  %49 = trunc i8 %48 to i1
  br i1 %49, label %59, label %50

50:                                               ; preds = %47
  store i32 2, ptr %11, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %10) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #7
  br label %284

51:                                               ; preds = %30, %2
  %52 = landingpad { ptr, i32 }
          cleanup
  %53 = extractvalue { ptr, i32 } %52, 0
  store ptr %53, ptr %6, align 8
  %54 = extractvalue { ptr, i32 } %52, 1
  store i32 %54, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %28, i64 noundef 224) #8
  br label %289

55:                                               ; preds = %41, %38, %36
  %56 = landingpad { ptr, i32 }
          cleanup
  %57 = extractvalue { ptr, i32 } %56, 0
  store ptr %57, ptr %6, align 8
  %58 = extractvalue { ptr, i32 } %56, 1
  store i32 %58, ptr %7, align 4
  br label %283

59:                                               ; preds = %47
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #7
  br label %60

60:                                               ; preds = %271, %59
  %61 = load ptr, ptr %9, align 8, !tbaa !5
  %62 = load ptr, ptr %61, align 8, !tbaa !34
  %63 = getelementptr inbounds ptr, ptr %62, i64 2
  %64 = load ptr, ptr %63, align 8
  %65 = invoke noundef zeroext i1 %64(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %66 unwind label %68

66:                                               ; preds = %60
  br i1 %65, label %72, label %67

67:                                               ; preds = %66
  store i32 5, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #7
  br label %281

68:                                               ; preds = %60
  %69 = landingpad { ptr, i32 }
          cleanup
  %70 = extractvalue { ptr, i32 } %69, 0
  store ptr %70, ptr %6, align 8
  %71 = extractvalue { ptr, i32 } %69, 1
  store i32 %71, ptr %7, align 4
  br label %280

72:                                               ; preds = %66
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #7
  %73 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %74 unwind label %180

74:                                               ; preds = %72
  %75 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %73, i32 0, i32 4
  %76 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %75, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %77 unwind label %180

77:                                               ; preds = %74
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %78 unwind label %180

78:                                               ; preds = %77
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #7
  %79 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 88) #6
          to label %80 unwind label %184

80:                                               ; preds = %78
  invoke void @_ZN2vl7parsing9analyzing8RuleInfoC1Ev(ptr noundef nonnull align 8 dereferenceable(84) %79)
          to label %81 unwind label %188

81:                                               ; preds = %80
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef %79)
          to label %82 unwind label %184

82:                                               ; preds = %81
  %83 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %84 unwind label %192

84:                                               ; preds = %82
  %85 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %83, i32 0, i32 4
  %86 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E3AddERKS5_RKS9_(ptr noundef nonnull align 8 dereferenceable(104) %85, ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %87 unwind label %192

87:                                               ; preds = %84
  %88 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %89 unwind label %192

89:                                               ; preds = %87
  %90 = load ptr, ptr %12, align 8, !tbaa !5
  %91 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton18RootRuleStartStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %88, ptr noundef %90)
          to label %92 unwind label %192

92:                                               ; preds = %89
  %93 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %94 unwind label %192

94:                                               ; preds = %92
  %95 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %93, i32 0, i32 1
  store ptr %91, ptr %95, align 8, !tbaa !36
  %96 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %97 unwind label %192

97:                                               ; preds = %94
  %98 = load ptr, ptr %12, align 8, !tbaa !5
  %99 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton16RootRuleEndStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %96, ptr noundef %98)
          to label %100 unwind label %192

100:                                              ; preds = %97
  %101 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %102 unwind label %192

102:                                              ; preds = %100
  %103 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %101, i32 0, i32 2
  store ptr %99, ptr %103, align 8, !tbaa !43
  %104 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %105 unwind label %192

105:                                              ; preds = %102
  %106 = load ptr, ptr %12, align 8, !tbaa !5
  %107 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton14RuleStartStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %104, ptr noundef %106)
          to label %108 unwind label %192

108:                                              ; preds = %105
  %109 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %110 unwind label %192

110:                                              ; preds = %108
  %111 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %109, i32 0, i32 3
  store ptr %107, ptr %111, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 112, ptr %15) #7
  invoke void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %15)
          to label %112 unwind label %196

112:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 48, ptr %16) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %16)
          to label %113 unwind label %200

113:                                              ; preds = %112
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #7
  store i64 0, ptr %17, align 8, !tbaa !45
  %114 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %115 unwind label %204

115:                                              ; preds = %113
  %116 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %114, i32 0, i32 1
  %117 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %118 unwind label %204

118:                                              ; preds = %115
  %119 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %117, i32 0, i32 1
  %120 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %15, ptr noundef nonnull align 8 dereferenceable(8) %116, ptr noundef nonnull align 8 dereferenceable(8) %119)
          to label %121 unwind label %204

121:                                              ; preds = %118
  %122 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %123 unwind label %204

123:                                              ; preds = %121
  %124 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %122, i32 0, i32 2
  %125 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %126 unwind label %204

126:                                              ; preds = %123
  %127 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %125, i32 0, i32 2
  %128 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %15, ptr noundef nonnull align 8 dereferenceable(8) %124, ptr noundef nonnull align 8 dereferenceable(8) %127)
          to label %129 unwind label %204

129:                                              ; preds = %126
  %130 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %131 unwind label %204

131:                                              ; preds = %129
  %132 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %130, i32 0, i32 3
  %133 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %134 unwind label %204

134:                                              ; preds = %131
  %135 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %133, i32 0, i32 3
  %136 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %15, ptr noundef nonnull align 8 dereferenceable(8) %132, ptr noundef nonnull align 8 dereferenceable(8) %135)
          to label %137 unwind label %204

137:                                              ; preds = %134
  %138 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %139 unwind label %204

139:                                              ; preds = %137
  %140 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %138, i32 0, i32 1
  %141 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %16, ptr noundef nonnull align 8 dereferenceable(8) %140)
          to label %142 unwind label %204

142:                                              ; preds = %139
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %143 unwind label %204

143:                                              ; preds = %142
  invoke void @_ZN2vl7parsing9analyzing24RemoveEpsilonTransitionsERNS_11collections10DictionaryIPNS1_5StateES5_S5_S5_EERNS2_4ListIS5_S5_EENS_3PtrINS1_9AutomatonEEE(ptr noundef nonnull align 8 dereferenceable(104) %15, ptr noundef nonnull align 8 dereferenceable(33) %16, ptr noundef %18)
          to label %144 unwind label %208

144:                                              ; preds = %143
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %19) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %19)
          to label %145 unwind label %212

145:                                              ; preds = %144
  %146 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %15)
          to label %147 unwind label %216

147:                                              ; preds = %145
  invoke void @_ZN2vl11collections8CopyFromINS0_4ListIPNS_7parsing9analyzing5StateES6_EES7_EEvRT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(33) %19, ptr noundef nonnull align 8 dereferenceable(33) %146, i1 noundef zeroext false)
          to label %148 unwind label %216

148:                                              ; preds = %147
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %149 unwind label %216

149:                                              ; preds = %148
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %150 unwind label %220

150:                                              ; preds = %149
  invoke void @_ZN2vl7parsing9analyzing23DeleteUnnecessaryStatesENS_3PtrINS1_9AutomatonEEENS2_INS1_8RuleInfoEEERNS_11collections4ListIPNS1_5StateESA_EE(ptr noundef %20, ptr noundef %21, ptr noundef nonnull align 8 dereferenceable(33) %19)
          to label %151 unwind label %224

151:                                              ; preds = %150
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %152 unwind label %216

152:                                              ; preds = %151
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %153 unwind label %229

153:                                              ; preds = %152
  invoke void @_ZN2vl7parsing9analyzing11MergeStatesENS_3PtrINS1_9AutomatonEEENS2_INS1_8RuleInfoEEERNS_11collections4ListIPNS1_5StateESA_EE(ptr noundef %22, ptr noundef %23, ptr noundef nonnull align 8 dereferenceable(33) %19)
          to label %154 unwind label %233

154:                                              ; preds = %153
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  %155 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %156 unwind label %216

156:                                              ; preds = %154
  %157 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %155, i32 0, i32 1
  %158 = load ptr, ptr %157, align 8, !tbaa !36
  %159 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %158, i32 0, i32 1
  %160 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %159, i64 noundef 0)
          to label %161 unwind label %216

161:                                              ; preds = %156
  %162 = load ptr, ptr %160, align 8, !tbaa !5
  %163 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %162, i32 0, i32 2
  %164 = load ptr, ptr %163, align 8, !tbaa !46
  %165 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %166 unwind label %216

166:                                              ; preds = %161
  %167 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %165, i32 0, i32 3
  store ptr %164, ptr %167, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #7
  store i8 1, ptr %24, align 1, !tbaa !31
  %168 = load i8, ptr %24, align 1, !tbaa !31, !range !32, !noundef !33
  %169 = trunc i8 %168 to i1
  br i1 %169, label %170, label %271

170:                                              ; preds = %166
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %26) #7
  %171 = load ptr, ptr %19, align 8, !tbaa !34
  %172 = getelementptr i8, ptr %171, i64 -24
  %173 = load i64, ptr %172, align 8
  %174 = getelementptr inbounds i8, ptr %19, i64 %173
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing5StateEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.539") align 8 %26, ptr noundef nonnull align 8 dereferenceable(8) %174)
          to label %175 unwind label %238

175:                                              ; preds = %170
  store ptr %26, ptr %25, align 8, !tbaa !5
  br label %176

176:                                              ; preds = %268, %175
  %177 = load i8, ptr %24, align 1, !tbaa !31, !range !32, !noundef !33
  %178 = trunc i8 %177 to i1
  br i1 %178, label %242, label %179

179:                                              ; preds = %176
  store i32 7, ptr %11, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  br label %270

180:                                              ; preds = %77, %74, %72
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %6, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %7, align 4
  br label %279

184:                                              ; preds = %81, %78
  %185 = landingpad { ptr, i32 }
          cleanup
  %186 = extractvalue { ptr, i32 } %185, 0
  store ptr %186, ptr %6, align 8
  %187 = extractvalue { ptr, i32 } %185, 1
  store i32 %187, ptr %7, align 4
  br label %278

188:                                              ; preds = %80
  %189 = landingpad { ptr, i32 }
          cleanup
  %190 = extractvalue { ptr, i32 } %189, 0
  store ptr %190, ptr %6, align 8
  %191 = extractvalue { ptr, i32 } %189, 1
  store i32 %191, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %79, i64 noundef 88) #8
  br label %278

192:                                              ; preds = %108, %105, %102, %100, %97, %94, %92, %89, %87, %84, %82
  %193 = landingpad { ptr, i32 }
          cleanup
  %194 = extractvalue { ptr, i32 } %193, 0
  store ptr %194, ptr %6, align 8
  %195 = extractvalue { ptr, i32 } %193, 1
  store i32 %195, ptr %7, align 4
  br label %277

196:                                              ; preds = %110
  %197 = landingpad { ptr, i32 }
          cleanup
  %198 = extractvalue { ptr, i32 } %197, 0
  store ptr %198, ptr %6, align 8
  %199 = extractvalue { ptr, i32 } %197, 1
  store i32 %199, ptr %7, align 4
  br label %276

200:                                              ; preds = %112
  %201 = landingpad { ptr, i32 }
          cleanup
  %202 = extractvalue { ptr, i32 } %201, 0
  store ptr %202, ptr %6, align 8
  %203 = extractvalue { ptr, i32 } %201, 1
  store i32 %203, ptr %7, align 4
  br label %275

204:                                              ; preds = %142, %139, %137, %134, %131, %129, %126, %123, %121, %118, %115, %113
  %205 = landingpad { ptr, i32 }
          cleanup
  %206 = extractvalue { ptr, i32 } %205, 0
  store ptr %206, ptr %6, align 8
  %207 = extractvalue { ptr, i32 } %205, 1
  store i32 %207, ptr %7, align 4
  br label %274

208:                                              ; preds = %143
  %209 = landingpad { ptr, i32 }
          cleanup
  %210 = extractvalue { ptr, i32 } %209, 0
  store ptr %210, ptr %6, align 8
  %211 = extractvalue { ptr, i32 } %209, 1
  store i32 %211, ptr %7, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %274

212:                                              ; preds = %144
  %213 = landingpad { ptr, i32 }
          cleanup
  %214 = extractvalue { ptr, i32 } %213, 0
  store ptr %214, ptr %6, align 8
  %215 = extractvalue { ptr, i32 } %213, 1
  store i32 %215, ptr %7, align 4
  br label %273

216:                                              ; preds = %161, %156, %154, %151, %148, %147, %145
  %217 = landingpad { ptr, i32 }
          cleanup
  %218 = extractvalue { ptr, i32 } %217, 0
  store ptr %218, ptr %6, align 8
  %219 = extractvalue { ptr, i32 } %217, 1
  store i32 %219, ptr %7, align 4
  br label %272

220:                                              ; preds = %149
  %221 = landingpad { ptr, i32 }
          cleanup
  %222 = extractvalue { ptr, i32 } %221, 0
  store ptr %222, ptr %6, align 8
  %223 = extractvalue { ptr, i32 } %221, 1
  store i32 %223, ptr %7, align 4
  br label %228

224:                                              ; preds = %150
  %225 = landingpad { ptr, i32 }
          cleanup
  %226 = extractvalue { ptr, i32 } %225, 0
  store ptr %226, ptr %6, align 8
  %227 = extractvalue { ptr, i32 } %225, 1
  store i32 %227, ptr %7, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %228

228:                                              ; preds = %224, %220
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %272

229:                                              ; preds = %152
  %230 = landingpad { ptr, i32 }
          cleanup
  %231 = extractvalue { ptr, i32 } %230, 0
  store ptr %231, ptr %6, align 8
  %232 = extractvalue { ptr, i32 } %230, 1
  store i32 %232, ptr %7, align 4
  br label %237

233:                                              ; preds = %153
  %234 = landingpad { ptr, i32 }
          cleanup
  %235 = extractvalue { ptr, i32 } %234, 0
  store ptr %235, ptr %6, align 8
  %236 = extractvalue { ptr, i32 } %234, 1
  store i32 %236, ptr %7, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %237

237:                                              ; preds = %233, %229
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %272

238:                                              ; preds = %170
  %239 = landingpad { ptr, i32 }
          cleanup
  %240 = extractvalue { ptr, i32 } %239, 0
  store ptr %240, ptr %6, align 8
  %241 = extractvalue { ptr, i32 } %239, 1
  store i32 %241, ptr %7, align 4
  br label %269

242:                                              ; preds = %176
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #7
  br label %243

243:                                              ; preds = %266, %242
  %244 = load ptr, ptr %25, align 8, !tbaa !5
  %245 = load ptr, ptr %244, align 8, !tbaa !34
  %246 = getelementptr inbounds ptr, ptr %245, i64 2
  %247 = load ptr, ptr %246, align 8
  %248 = invoke noundef zeroext i1 %247(ptr noundef nonnull align 8 dereferenceable(8) %244, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %249 unwind label %251

249:                                              ; preds = %243
  br i1 %248, label %255, label %250

250:                                              ; preds = %249
  store i32 10, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  br label %267

251:                                              ; preds = %262, %260, %243
  %252 = landingpad { ptr, i32 }
          cleanup
  %253 = extractvalue { ptr, i32 } %252, 0
  store ptr %253, ptr %6, align 8
  %254 = extractvalue { ptr, i32 } %252, 1
  store i32 %254, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %26) #7
  br label %269

255:                                              ; preds = %249
  %256 = load ptr, ptr %27, align 8, !tbaa !5
  %257 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %256, i32 0, i32 3
  %258 = load i8, ptr %257, align 8, !tbaa !54, !range !32, !noundef !33
  %259 = trunc i8 %258 to i1
  br i1 %259, label %260, label %266

260:                                              ; preds = %255
  %261 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %262 unwind label %251

262:                                              ; preds = %260
  %263 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %261, i32 0, i32 4
  %264 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %263, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %265 unwind label %251

265:                                              ; preds = %262
  br label %266

266:                                              ; preds = %265, %255
  br label %243, !llvm.loop !62

267:                                              ; preds = %250
  br label %268

268:                                              ; preds = %267
  store i8 0, ptr %24, align 1, !tbaa !31
  br label %176, !llvm.loop !64

269:                                              ; preds = %251, %238
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #7
  br label %272

270:                                              ; preds = %179
  br label %271

271:                                              ; preds = %270, %166
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %19) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %16) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %16) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %15) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %15) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #7
  br label %60, !llvm.loop !65

272:                                              ; preds = %269, %237, %228, %216
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %19) #7
  br label %273

273:                                              ; preds = %272, %212
  call void @llvm.lifetime.end.p0(i64 48, ptr %19) #7
  br label %274

274:                                              ; preds = %273, %208, %204
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %16) #7
  br label %275

275:                                              ; preds = %274, %200
  call void @llvm.lifetime.end.p0(i64 48, ptr %16) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %15) #7
  br label %276

276:                                              ; preds = %275, %196
  call void @llvm.lifetime.end.p0(i64 112, ptr %15) #7
  br label %277

277:                                              ; preds = %276, %192
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %278

278:                                              ; preds = %277, %188, %184
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %279

279:                                              ; preds = %278, %180
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #7
  br label %280

280:                                              ; preds = %279, %68
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %10) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %10) #7
  br label %283

281:                                              ; preds = %67
  br label %282

282:                                              ; preds = %281
  store i8 0, ptr %8, align 1, !tbaa !31
  br label %47, !llvm.loop !66

283:                                              ; preds = %280, %55
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  br label %289

284:                                              ; preds = %50
  br label %285

285:                                              ; preds = %284, %33
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #7
  store i1 true, ptr %5, align 1
  store i32 1, ptr %11, align 4
  %286 = load i1, ptr %5, align 1
  br i1 %286, label %288, label %287

287:                                              ; preds = %285
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  br label %288

288:                                              ; preds = %287, %285
  ret void

289:                                              ; preds = %283, %51
  %290 = load ptr, ptr %6, align 8
  %291 = load i32, ptr %7, align 4
  %292 = insertvalue { ptr, i32 } poison, ptr %290, 0
  %293 = insertvalue { ptr, i32 } %292, i32 %291, 1
  resume { ptr, i32 } %293
}

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing23DeleteUnnecessaryStatesENS_3PtrINS1_9AutomatonEEENS2_INS1_8RuleInfoEEERNS_11collections4ListIPNS1_5StateESA_EE(ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(33)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing11MergeStatesENS_3PtrINS1_9AutomatonEEENS2_INS1_8RuleInfoEEERNS_11collections4ListIPNS1_5StateESA_EE(ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(33)) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections8CopyFromINS0_4ListIPNS_7parsing9analyzing5StateES6_EES7_EEvRT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(33), i1 noundef zeroext) #3

declare void @_ZN2vl7parsing9analyzing8RuleInfoC1Ev(ptr)

declare void @_ZN2vl7parsing9analyzing9AutomatonC1EPNS1_20ParsingSymbolManagerE(ptr, ptr)

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 = { 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 #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress 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 #5 = { 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 #6 = { builtin allocsize(0) }
attributes #7 = { nounwind }
attributes #8 = { 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, !6, i64 8}
!10 = !{!"_ZTSN2vl7parsing9analyzing9AutomatonE", !11, i64 0, !6, i64 8, !12, i64 16, !18, i64 64, !22, i64 112}
!11 = !{!"_ZTSN2vl6ObjectE"}
!12 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing10TransitionEEEPS5_EE", !13, i64 0}
!13 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing10TransitionEEEPS5_EE", !14, i64 0, !16, i64 24, !17, i64 32}
!14 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing10TransitionEEEEE", !15, i64 0, !6, i64 8, !16, i64 16}
!15 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing10TransitionEEELb0EEE", !11, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!"bool", !7, i64 0}
!18 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing5StateEEEPS5_EE", !19, i64 0}
!19 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing5StateEEEPS5_EE", !20, i64 0, !16, i64 24, !17, i64 32}
!20 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing5StateEEEEE", !21, i64 0, !6, i64 8, !16, i64 16}
!21 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing5StateEEELb0EEE", !11, i64 0}
!22 = !{!"_ZTSN2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EE", !11, i64 0, !23, i64 8, !27, i64 56}
!23 = !{!"_ZTSN2vl11collections10SortedListIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES5_EE", !24, i64 0}
!24 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES5_EE", !25, i64 0, !16, i64 24, !17, i64 32}
!25 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEE", !26, i64 0, !6, i64 8, !16, i64 16}
!26 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionELb1EEE", !11, i64 0}
!27 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing8RuleInfoEEEPS5_EE", !28, i64 0}
!28 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing8RuleInfoEEEPS5_EE", !29, i64 0, !16, i64 24, !17, i64 32}
!29 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing8RuleInfoEEEEE", !30, i64 0, !6, i64 8, !16, i64 16}
!30 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing8RuleInfoEEELb0EEE", !11, i64 0}
!31 = !{!17, !17, i64 0}
!32 = !{i8 0, i8 2}
!33 = !{}
!34 = !{!35, !35, i64 0}
!35 = !{!"vtable pointer", !8, i64 0}
!36 = !{!37, !6, i64 8}
!37 = !{!"_ZTSN2vl7parsing9analyzing8RuleInfoE", !11, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !38, i64 32, !42, i64 80}
!38 = !{!"_ZTSN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EE", !39, i64 0}
!39 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing9analyzing5StateES5_EE", !40, i64 0, !16, i64 24, !17, i64 32}
!40 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEEE", !41, i64 0, !6, i64 8, !16, i64 16}
!41 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing9analyzing5StateELb1EEE", !11, i64 0}
!42 = !{!"int", !7, i64 0}
!43 = !{!37, !6, i64 16}
!44 = !{!37, !6, i64 24}
!45 = !{!16, !16, i64 0}
!46 = !{!47, !6, i64 16}
!47 = !{!"_ZTSN2vl7parsing9analyzing10TransitionE", !11, i64 0, !6, i64 8, !6, i64 16, !48, i64 24, !52, i64 72, !53, i64 76, !6, i64 80}
!48 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !49, i64 0}
!49 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !50, i64 0, !16, i64 24, !17, i64 32}
!50 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing6ActionEEEEE", !51, i64 0, !6, i64 8, !16, i64 16}
!51 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing6ActionEEELb0EEE", !11, i64 0}
!52 = !{!"_ZTSN2vl7parsing9analyzing10Transition14TransitionTypeE", !7, i64 0}
!53 = !{!"_ZTSN2vl7parsing9analyzing10Transition18StackOperationTypeE", !7, i64 0}
!54 = !{!55, !17, i64 104}
!55 = !{!"_ZTSN2vl7parsing9analyzing5StateE", !11, i64 0, !56, i64 8, !56, i64 56, !17, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !60, i64 144, !61, i64 152, !61, i64 200}
!56 = !{!"_ZTSN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EE", !57, i64 0}
!57 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing9analyzing10TransitionES5_EE", !58, i64 0, !16, i64 24, !17, i64 32}
!58 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEEE", !59, i64 0, !6, i64 8, !16, i64 16}
!59 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing9analyzing10TransitionELb1EEE", !11, i64 0}
!60 = !{!"_ZTSN2vl7parsing9analyzing5State13StatePositionE", !7, i64 0}
!61 = !{!"_ZTSN2vl12ObjectStringIwEE", !11, i64 0, !6, i64 8, !6, i64 16, !16, i64 24, !16, i64 32, !16, i64 40}
!62 = distinct !{!62, !63}
!63 = !{!"llvm.loop.mustprogress"}
!64 = distinct !{!64, !63}
!65 = distinct !{!65, !63}
!66 = distinct !{!66, !63}


; 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::collections::EnumerableForEachIterator.535" = type { %"class.vl::collections::ForEachIterator.536", %"class.vl::Ptr.537" }
%"class.vl::collections::ForEachIterator.536" = type { %"class.vl::Object" }
%"class.vl::Object" = type { ptr }
%"class.vl::Ptr.537" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.539" = type { %"class.vl::collections::ForEachIterator.540", %"class.vl::Ptr.541" }
%"class.vl::collections::ForEachIterator.540" = type { %"class.vl::Object" }
%"class.vl::Ptr.541" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.461" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.447" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::Dictionary.462" = type { %"class.vl::Object", %"class.vl::collections::SortedList.463", %"class.vl::collections::List.403", %"class.vl::collections::IEnumerable.465" }
%"class.vl::collections::SortedList.463" = type { %"class.vl::collections::ListBase.base.409", %"class.vl::collections::IEnumerable.407" }
%"class.vl::collections::ListBase.base.409" = type <{ %"class.vl::collections::ArrayBase.base.408", i64, i8 }>
%"class.vl::collections::ArrayBase.base.408" = type { %"class.vl::collections::ListStore.406", ptr, i64 }
%"class.vl::collections::ListStore.406" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.407" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"class.vl::collections::List.403" = type { %"class.vl::collections::ListBase.base.409", %"class.vl::collections::IEnumerable.407" }
%"class.vl::collections::IEnumerable.465" = type { %"class.vl::Interface" }

; 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: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing24RemoveEpsilonTransitionsERNS_11collections10DictionaryIPNS1_5StateES5_S5_S5_EERNS2_4ListIS5_S5_EENS_3PtrINS1_9AutomatonEEE(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(33), ptr noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2ERKS4_(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_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5 align 2

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN2vl7parsing9analyzing39CreateNondeterministicPDAFromEpsilonPDAENS_3PtrINS1_9AutomatonEEE(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.461") align 8 %0, ptr noundef %1) local_unnamed_addr #3 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.vl::collections::EnumerableForEachIterator.535", align 8
  %4 = alloca ptr, align 8
  %5 = alloca %"class.vl::Ptr.447", align 8
  %6 = alloca %"class.vl::Ptr.447", align 8
  %7 = alloca %"class.vl::collections::Dictionary.462", align 8
  %8 = alloca %"class.vl::collections::List.403", align 8
  %9 = alloca %"class.vl::Ptr.461", align 8
  %10 = alloca %"class.vl::collections::List.403", align 8
  %11 = alloca %"class.vl::Ptr.461", align 8
  %12 = alloca %"class.vl::Ptr.447", align 8
  %13 = alloca %"class.vl::Ptr.461", align 8
  %14 = alloca %"class.vl::Ptr.447", align 8
  %15 = alloca %"class.vl::collections::EnumerableForEachIterator.539", align 8
  %16 = alloca ptr, align 8
  %17 = tail call noalias noundef nonnull dereferenceable(224) ptr @_Znwm(i64 noundef 224) #6
  %18 = tail call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %19 = getelementptr inbounds i8, ptr %18, i64 8
  %20 = load ptr, ptr %19, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing9AutomatonC1EPNS1_20ParsingSymbolManagerE(ptr noundef nonnull align 8 dereferenceable(224) %17, ptr noundef %20)
          to label %21 unwind label %29

21:                                               ; preds = %2
  tail call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull %17)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3) #7
  %22 = tail call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %23 = getelementptr inbounds i8, ptr %22, i64 112
  %24 = tail call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %23)
  %25 = load ptr, ptr %24, align 8, !tbaa !30
  %26 = getelementptr i8, ptr %25, i64 -24
  %27 = load i64, ptr %26, align 8
  %28 = getelementptr inbounds i8, ptr %24, i64 %27
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.535") align 8 %3, ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %33 unwind label %31

29:                                               ; preds = %2
  %30 = landingpad { ptr, i32 }
          cleanup
  tail call void @_ZdlPvm(ptr noundef nonnull %17, i64 noundef 224) #8
  br label %175

31:                                               ; preds = %21
  %32 = landingpad { ptr, i32 }
          cleanup
  br label %174

33:                                               ; preds = %21
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #7
  br label %34

34:                                               ; preds = %.critedge35, %33
  %35 = load ptr, ptr %3, align 8, !tbaa !30
  %36 = getelementptr inbounds i8, ptr %35, i64 16
  %37 = load ptr, ptr %36, align 8
  %38 = invoke noundef zeroext i1 %37(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %39 unwind label %40

39:                                               ; preds = %34
  br i1 %38, label %42, label %.critedge

.critedge:                                        ; preds = %39
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %3) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #7
  ret void

40:                                               ; preds = %34
  %41 = landingpad { ptr, i32 }
          cleanup
  br label %173

42:                                               ; preds = %39
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #7
  %43 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %44 = getelementptr inbounds i8, ptr %43, i64 112
  %45 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %44, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %46 unwind label %121

46:                                               ; preds = %42
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %45)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #7
  %47 = invoke noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #6
          to label %48 unwind label %123

48:                                               ; preds = %46
  invoke void @_ZN2vl7parsing9analyzing8RuleInfoC1Ev(ptr noundef nonnull align 8 dereferenceable(84) %47)
          to label %49 unwind label %125

49:                                               ; preds = %48
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull %47)
          to label %50 unwind label %123

50:                                               ; preds = %49
  %51 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %52 = getelementptr inbounds i8, ptr %51, i64 112
  %53 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E3AddERKS5_RKS9_(ptr noundef nonnull align 8 dereferenceable(104) %52, ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %54 unwind label %127

54:                                               ; preds = %50
  %55 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %56 = load ptr, ptr %4, align 8, !tbaa !32
  %57 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton18RootRuleStartStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %55, ptr noundef %56)
          to label %58 unwind label %127

58:                                               ; preds = %54
  %59 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %60 = getelementptr inbounds i8, ptr %59, i64 8
  store ptr %57, ptr %60, align 8, !tbaa !33
  %61 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %62 = load ptr, ptr %4, align 8, !tbaa !32
  %63 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton16RootRuleEndStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %61, ptr noundef %62)
          to label %64 unwind label %127

64:                                               ; preds = %58
  %65 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %66 = getelementptr inbounds i8, ptr %65, i64 16
  store ptr %63, ptr %66, align 8, !tbaa !40
  %67 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %68 = load ptr, ptr %4, align 8, !tbaa !32
  %69 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton14RuleStartStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %67, ptr noundef %68)
          to label %70 unwind label %127

70:                                               ; preds = %64
  %71 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %72 = getelementptr inbounds i8, ptr %71, i64 24
  store ptr %69, ptr %72, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %7) #7
  invoke void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %7)
          to label %73 unwind label %129

73:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %8)
          to label %74 unwind label %131

74:                                               ; preds = %73
  %75 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %5)
  %76 = getelementptr inbounds i8, ptr %75, i64 8
  %77 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %78 = getelementptr inbounds i8, ptr %77, i64 8
  %79 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %7, ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 8 dereferenceable(8) %78)
          to label %80 unwind label %133

80:                                               ; preds = %74
  %81 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %5)
  %82 = getelementptr inbounds i8, ptr %81, i64 16
  %83 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %84 = getelementptr inbounds i8, ptr %83, i64 16
  %85 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %7, ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef nonnull align 8 dereferenceable(8) %84)
          to label %86 unwind label %133

86:                                               ; preds = %80
  %87 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %5)
  %88 = getelementptr inbounds i8, ptr %87, i64 24
  %89 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %90 = getelementptr inbounds i8, ptr %89, i64 24
  %91 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %7, ptr noundef nonnull align 8 dereferenceable(8) %88, ptr noundef nonnull align 8 dereferenceable(8) %90)
          to label %92 unwind label %133

92:                                               ; preds = %86
  %93 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %5)
  %94 = getelementptr inbounds i8, ptr %93, i64 8
  %95 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %8, ptr noundef nonnull align 8 dereferenceable(8) %94)
          to label %96 unwind label %133

96:                                               ; preds = %92
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %97 unwind label %133

97:                                               ; preds = %96
  invoke void @_ZN2vl7parsing9analyzing24RemoveEpsilonTransitionsERNS_11collections10DictionaryIPNS1_5StateES5_S5_S5_EERNS2_4ListIS5_S5_EENS_3PtrINS1_9AutomatonEEE(ptr noundef nonnull align 8 dereferenceable(104) %7, ptr noundef nonnull align 8 dereferenceable(33) %8, ptr noundef nonnull %9)
          to label %98 unwind label %135

98:                                               ; preds = %97
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %10) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %10)
          to label %99 unwind label %137

99:                                               ; preds = %98
  %100 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %7)
  invoke void @_ZN2vl11collections8CopyFromINS0_4ListIPNS_7parsing9analyzing5StateES6_EES7_EEvRT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(33) %10, ptr noundef nonnull align 8 dereferenceable(33) %100, i1 noundef zeroext false)
          to label %101 unwind label %139

101:                                              ; preds = %99
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %102 unwind label %139

102:                                              ; preds = %101
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %6)
  invoke void @_ZN2vl7parsing9analyzing23DeleteUnnecessaryStatesENS_3PtrINS1_9AutomatonEEENS2_INS1_8RuleInfoEEERNS_11collections4ListIPNS1_5StateESA_EE(ptr noundef nonnull %11, ptr noundef nonnull %12, ptr noundef nonnull align 8 dereferenceable(33) %10)
          to label %103 unwind label %141

103:                                              ; preds = %102
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %104 unwind label %139

104:                                              ; preds = %103
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %6)
  invoke void @_ZN2vl7parsing9analyzing11MergeStatesENS_3PtrINS1_9AutomatonEEENS2_INS1_8RuleInfoEEERNS_11collections4ListIPNS1_5StateESA_EE(ptr noundef nonnull %13, ptr noundef nonnull %14, ptr noundef nonnull align 8 dereferenceable(33) %10)
          to label %105 unwind label %143

105:                                              ; preds = %104
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  %106 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %107 = getelementptr inbounds i8, ptr %106, i64 8
  %108 = load ptr, ptr %107, align 8, !tbaa !33
  %109 = getelementptr inbounds i8, ptr %108, i64 8
  %110 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %109, i64 noundef 0)
          to label %111 unwind label %139

111:                                              ; preds = %105
  %112 = load ptr, ptr %110, align 8, !tbaa !32
  %113 = getelementptr inbounds i8, ptr %112, i64 16
  %114 = load ptr, ptr %113, align 8, !tbaa !42
  %115 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %116 = getelementptr inbounds i8, ptr %115, i64 24
  store ptr %114, ptr %116, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %15) #7
  %117 = load ptr, ptr %10, align 8, !tbaa !30
  %118 = getelementptr i8, ptr %117, i64 -24
  %119 = load i64, ptr %118, align 8
  %120 = getelementptr inbounds i8, ptr %10, i64 %119
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing5StateEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.539") align 8 %15, ptr noundef nonnull align 8 dereferenceable(8) %120)
          to label %147 unwind label %145

121:                                              ; preds = %42
  %122 = landingpad { ptr, i32 }
          cleanup
  br label %172

123:                                              ; preds = %49, %46
  %124 = landingpad { ptr, i32 }
          cleanup
  br label %171

125:                                              ; preds = %48
  %126 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %47, i64 noundef 88) #8
  br label %171

127:                                              ; preds = %64, %58, %54, %50
  %128 = landingpad { ptr, i32 }
          cleanup
  br label %170

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

131:                                              ; preds = %73
  %132 = landingpad { ptr, i32 }
          cleanup
  br label %168

133:                                              ; preds = %96, %92, %86, %80, %74
  %134 = landingpad { ptr, i32 }
          cleanup
  br label %167

135:                                              ; preds = %97
  %136 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %167

137:                                              ; preds = %98
  %138 = landingpad { ptr, i32 }
          cleanup
  br label %166

139:                                              ; preds = %105, %103, %101, %99
  %140 = landingpad { ptr, i32 }
          cleanup
  br label %165

141:                                              ; preds = %102
  %142 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %165

143:                                              ; preds = %104
  %144 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %165

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

147:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #7
  br label %148

148:                                              ; preds = %.backedge, %147
  %149 = load ptr, ptr %15, align 8, !tbaa !30
  %150 = getelementptr inbounds i8, ptr %149, i64 16
  %151 = load ptr, ptr %150, align 8
  %152 = invoke noundef zeroext i1 %151(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %153 unwind label %154

153:                                              ; preds = %148
  br i1 %152, label %156, label %.critedge35

.critedge35:                                      ; preds = %153
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %10) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %8) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %7) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %7) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  br label %34, !llvm.loop !50

154:                                              ; preds = %161, %148
  %155 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #7
  br label %165

156:                                              ; preds = %153
  %157 = load ptr, ptr %16, align 8, !tbaa !32
  %158 = getelementptr inbounds i8, ptr %157, i64 104
  %159 = load i8, ptr %158, align 8, !tbaa !52, !range !60, !noundef !61
  %160 = trunc nuw i8 %159 to i1
  br i1 %160, label %161, label %.backedge

161:                                              ; preds = %156
  %162 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %6)
  %163 = getelementptr inbounds i8, ptr %162, i64 32
  %164 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %163, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %.backedge unwind label %154

.backedge:                                        ; preds = %161, %156
  br label %148, !llvm.loop !62

165:                                              ; preds = %145, %154, %143, %141, %139
  %.pn.pn = phi { ptr, i32 } [ %140, %139 ], [ %144, %143 ], [ %142, %141 ], [ %155, %154 ], [ %146, %145 ]
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %10) #7
  br label %166

166:                                              ; preds = %165, %137
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %165 ], [ %138, %137 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) #7
  br label %167

167:                                              ; preds = %166, %135, %133
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %166 ], [ %136, %135 ], [ %134, %133 ]
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %8) #7
  br label %168

168:                                              ; preds = %167, %131
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %167 ], [ %132, %131 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %7) #7
  br label %169

169:                                              ; preds = %168, %129
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %168 ], [ %130, %129 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %7) #7
  br label %170

170:                                              ; preds = %169, %127
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %169 ], [ %128, %127 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  br label %171

171:                                              ; preds = %170, %125, %123
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %170 ], [ %124, %123 ], [ %126, %125 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %172

172:                                              ; preds = %171, %121
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %171 ], [ %122, %121 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  br label %173

173:                                              ; preds = %172, %40
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %172 ], [ %41, %40 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %3) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #7
  br label %174

174:                                              ; preds = %173, %31
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %173 ], [ %32, %31 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  br label %175

175:                                              ; preds = %174, %29
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %174 ], [ %30, %29 ]
  resume { ptr, i32 } %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing23DeleteUnnecessaryStatesENS_3PtrINS1_9AutomatonEEENS2_INS1_8RuleInfoEEERNS_11collections4ListIPNS1_5StateESA_EE(ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(33)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing11MergeStatesENS_3PtrINS1_9AutomatonEEENS2_INS1_8RuleInfoEEERNS_11collections4ListIPNS1_5StateESA_EE(ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(33)) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections8CopyFromINS0_4ListIPNS_7parsing9analyzing5StateES6_EES7_EEvRT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(33), i1 noundef zeroext) local_unnamed_addr #3

declare void @_ZN2vl7parsing9analyzing8RuleInfoC1Ev(ptr) local_unnamed_addr

declare void @_ZN2vl7parsing9analyzing9AutomatonC1EPNS1_20ParsingSymbolManagerE(ptr, ptr) local_unnamed_addr

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 = { 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 #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress 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 #5 = { 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 #6 = { builtin allocsize(0) }
attributes #7 = { nounwind }
attributes #8 = { 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, !8, i64 8}
!6 = !{!"_ZTSN2vl7parsing9analyzing9AutomatonE", !7, i64 0, !8, i64 8, !11, i64 16, !17, i64 64, !21, i64 112}
!7 = !{!"_ZTSN2vl6ObjectE"}
!8 = !{!"any pointer", !9, i64 0}
!9 = !{!"omnipotent char", !10, i64 0}
!10 = !{!"Simple C++ TBAA"}
!11 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing10TransitionEEEPS5_EE", !12, i64 0}
!12 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing10TransitionEEEPS5_EE", !13, i64 0, !15, i64 24, !16, i64 32}
!13 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing10TransitionEEEEE", !14, i64 0, !8, i64 8, !15, i64 16}
!14 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing10TransitionEEELb0EEE", !7, i64 0}
!15 = !{!"long", !9, i64 0}
!16 = !{!"bool", !9, i64 0}
!17 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing5StateEEEPS5_EE", !18, i64 0}
!18 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing5StateEEEPS5_EE", !19, i64 0, !15, i64 24, !16, i64 32}
!19 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing5StateEEEEE", !20, i64 0, !8, i64 8, !15, i64 16}
!20 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing5StateEEELb0EEE", !7, i64 0}
!21 = !{!"_ZTSN2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EE", !7, i64 0, !22, i64 8, !26, i64 56}
!22 = !{!"_ZTSN2vl11collections10SortedListIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES5_EE", !23, i64 0}
!23 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES5_EE", !24, i64 0, !15, i64 24, !16, i64 32}
!24 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEE", !25, i64 0, !8, i64 8, !15, i64 16}
!25 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionELb1EEE", !7, i64 0}
!26 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing8RuleInfoEEEPS5_EE", !27, i64 0}
!27 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing8RuleInfoEEEPS5_EE", !28, i64 0, !15, i64 24, !16, i64 32}
!28 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing8RuleInfoEEEEE", !29, i64 0, !8, i64 8, !15, i64 16}
!29 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing8RuleInfoEEELb0EEE", !7, i64 0}
!30 = !{!31, !31, i64 0}
!31 = !{!"vtable pointer", !10, i64 0}
!32 = !{!8, !8, i64 0}
!33 = !{!34, !8, i64 8}
!34 = !{!"_ZTSN2vl7parsing9analyzing8RuleInfoE", !7, i64 0, !8, i64 8, !8, i64 16, !8, i64 24, !35, i64 32, !39, i64 80}
!35 = !{!"_ZTSN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EE", !36, i64 0}
!36 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing9analyzing5StateES5_EE", !37, i64 0, !15, i64 24, !16, i64 32}
!37 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEEE", !38, i64 0, !8, i64 8, !15, i64 16}
!38 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing9analyzing5StateELb1EEE", !7, i64 0}
!39 = !{!"int", !9, i64 0}
!40 = !{!34, !8, i64 16}
!41 = !{!34, !8, i64 24}
!42 = !{!43, !8, i64 16}
!43 = !{!"_ZTSN2vl7parsing9analyzing10TransitionE", !7, i64 0, !8, i64 8, !8, i64 16, !44, i64 24, !48, i64 72, !49, i64 76, !8, i64 80}
!44 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !45, i64 0}
!45 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !46, i64 0, !15, i64 24, !16, i64 32}
!46 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing6ActionEEEEE", !47, i64 0, !8, i64 8, !15, i64 16}
!47 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing6ActionEEELb0EEE", !7, i64 0}
!48 = !{!"_ZTSN2vl7parsing9analyzing10Transition14TransitionTypeE", !9, i64 0}
!49 = !{!"_ZTSN2vl7parsing9analyzing10Transition18StackOperationTypeE", !9, i64 0}
!50 = distinct !{!50, !51}
!51 = !{!"llvm.loop.mustprogress"}
!52 = !{!53, !16, i64 104}
!53 = !{!"_ZTSN2vl7parsing9analyzing5StateE", !7, i64 0, !54, i64 8, !54, i64 56, !16, i64 104, !8, i64 112, !8, i64 120, !8, i64 128, !8, i64 136, !58, i64 144, !59, i64 152, !59, i64 200}
!54 = !{!"_ZTSN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EE", !55, i64 0}
!55 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing9analyzing10TransitionES5_EE", !56, i64 0, !15, i64 24, !16, i64 32}
!56 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEEE", !57, i64 0, !8, i64 8, !15, i64 16}
!57 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing9analyzing10TransitionELb1EEE", !7, i64 0}
!58 = !{!"_ZTSN2vl7parsing9analyzing5State13StatePositionE", !9, i64 0}
!59 = !{!"_ZTSN2vl12ObjectStringIwEE", !7, i64 0, !8, i64 8, !8, i64 16, !15, i64 24, !15, i64 32, !15, i64 40}
!60 = !{i8 0, i8 2}
!61 = !{}
!62 = distinct !{!62, !51}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass