; 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.449" = type { %"class.vl::collections::ForEachIterator.450", %"class.vl::Ptr.451" }
%"class.vl::collections::ForEachIterator.450" = type { %"class.vl::Object" }
%"class.vl::Object" = type { ptr }
%"class.vl::Ptr.451" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.521" = type { %"class.vl::collections::ForEachIterator.522", %"class.vl::Ptr.523" }
%"class.vl::collections::ForEachIterator.522" = type { %"class.vl::Object" }
%"class.vl::Ptr.523" = type { ptr, ptr, ptr, ptr }
%"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::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::collections::Dictionary.556" = type { %"class.vl::Object", %"class.vl::collections::SortedList", %"class.vl::collections::List.557", %"class.vl::collections::IEnumerable.559" }
%"class.vl::collections::SortedList" = type { %"class.vl::collections::ListBase.base", %"class.vl::collections::IEnumerable.2" }
%"class.vl::collections::ListBase.base" = type <{ %"class.vl::collections::ArrayBase.base.3", i64, i8 }>
%"class.vl::collections::ArrayBase.base.3" = type { %"class.vl::collections::ListStore.1", ptr, i64 }
%"class.vl::collections::ListStore.1" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.2" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"class.vl::collections::List.557" = 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::IEnumerable.559" = type { %"class.vl::Interface" }
%"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::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::Ptr.447" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.446" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.394" = type { ptr, ptr, ptr, ptr }
%"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::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::definitions::ParsingDefinitionRuleDefinition" = type { %"class.vl::parsing::definitions::ParsingDefinitionBase.base", %"class.vl::ObjectString", %"class.vl::Ptr.280", %"class.vl::collections::List.326", %"class.vl::reflection::DescriptableObject" }
%"class.vl::parsing::definitions::ParsingDefinitionBase.base" = type { %"class.vl::parsing::ParsingTreeCustomBase.base", %"class.vl::collections::List.272" }
%"class.vl::parsing::ParsingTreeCustomBase.base" = type { %"class.vl::Object", %"class.vl::reflection::Description.base", %"struct.vl::parsing::ParsingTextRange", %"class.vl::collections::List" }
%"class.vl::reflection::Description.base" = type { ptr }
%"struct.vl::parsing::ParsingTextRange" = type { %"struct.vl::parsing::ParsingTextPos", %"struct.vl::parsing::ParsingTextPos", i64 }
%"struct.vl::parsing::ParsingTextPos" = type { i64, i64, i64 }
%"class.vl::collections::List" = type { %"class.vl::collections::ListBase.base", %"class.vl::collections::IEnumerable.2" }
%"class.vl::collections::List.272" = type { %"class.vl::collections::ListBase.base.278", %"class.vl::collections::IEnumerable.276" }
%"class.vl::collections::ListBase.base.278" = type <{ %"class.vl::collections::ArrayBase.base.277", i64, i8 }>
%"class.vl::collections::ArrayBase.base.277" = type { %"class.vl::collections::ListStore.275", ptr, i64 }
%"class.vl::collections::ListStore.275" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.276" = type { %"class.vl::Interface" }
%"class.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"class.vl::Ptr.280" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::List.326" = type { %"class.vl::collections::ListBase.base.332", %"class.vl::collections::IEnumerable.330" }
%"class.vl::collections::ListBase.base.332" = type <{ %"class.vl::collections::ArrayBase.base.331", i64, i8 }>
%"class.vl::collections::ArrayBase.base.331" = type { %"class.vl::collections::ListStore.329", ptr, i64 }
%"class.vl::collections::ListStore.329" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.330" = type { %"class.vl::Interface" }
%"class.vl::reflection::DescriptableObject" = type { ptr, i64, ptr, i64, ptr, %"class.vl::Ptr.12" }
%"class.vl::Ptr.12" = type { ptr, ptr, ptr, ptr }
%"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::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" }
%"class.vl::parsing::analyzing::Action" = type { %"class.vl::Object", i32, ptr, ptr, ptr, ptr, ptr }

; 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 noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(48)) #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN2vl7parsing9analyzing13ParsingSymbol7GetTypeEv(ptr noundef nonnull align 8 dereferenceable(304)) #4 align 2

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32)) #4 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 uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(8)) #3 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 nounwind uwtable
declare dso_local noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24)) #4 align 2

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

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

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

; 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 #4 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 @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #3

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 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)) #4 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 #4 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN2vl7parsing9analyzing37CreateJointPDAFromNondeterministicPDAENS_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 %"class.vl::collections::Dictionary.556", align 8
  %9 = alloca %"class.vl::collections::Dictionary.462", align 8
  %10 = alloca i8, align 1
  %11 = alloca ptr, align 8
  %12 = alloca %"class.vl::collections::EnumerableForEachIterator.535", align 8
  %13 = alloca i32, align 4
  %14 = alloca ptr, align 8
  %15 = alloca %"class.vl::Ptr.447", align 8
  %16 = alloca %"class.vl::Ptr.447", align 8
  %17 = alloca i8, align 1
  %18 = alloca ptr, align 8
  %19 = alloca %"class.vl::collections::EnumerableForEachIterator.521", align 8
  %20 = alloca %"class.vl::Ptr.446", align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca i8, align 1
  %25 = alloca ptr, align 8
  %26 = alloca %"class.vl::collections::EnumerableForEachIterator.535", align 8
  %27 = alloca ptr, align 8
  %28 = alloca %"class.vl::Ptr.447", align 8
  %29 = alloca %"class.vl::Ptr.447", align 8
  %30 = alloca i8, align 1
  %31 = alloca ptr, align 8
  %32 = alloca %"class.vl::collections::EnumerableForEachIterator.539", align 8
  %33 = alloca ptr, align 8
  %34 = alloca %"class.vl::collections::List.403", align 8
  %35 = alloca i64, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca i8, align 1
  %39 = alloca ptr, align 8
  %40 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca %"class.vl::Ptr.447", align 8
  %48 = alloca ptr, align 8
  %49 = alloca %"class.vl::Ptr.394", align 8
  %50 = alloca i8, align 1
  %51 = alloca ptr, align 8
  %52 = alloca %"class.vl::collections::EnumerableForEachIterator.539", align 8
  %53 = alloca ptr, align 8
  %54 = alloca ptr, align 8
  %55 = alloca %"class.vl::Ptr.394", align 8
  %56 = 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
  %57 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 224) #6
  %58 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %59 unwind label %82

59:                                               ; preds = %2
  %60 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %58, i32 0, i32 1
  %61 = load ptr, ptr %60, align 8, !tbaa !9
  invoke void @_ZN2vl7parsing9analyzing9AutomatonC1EPNS1_20ParsingSymbolManagerE(ptr noundef nonnull align 8 dereferenceable(224) %57, ptr noundef %61)
          to label %62 unwind label %82

62:                                               ; preds = %59
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %57)
  call void @llvm.lifetime.start.p0(i64 112, ptr %8) #7
  invoke void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_EC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %8)
          to label %63 unwind label %86

63:                                               ; preds = %62
  call void @llvm.lifetime.start.p0(i64 112, ptr %9) #7
  invoke void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %9)
          to label %64 unwind label %90

64:                                               ; preds = %63
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #7
  store i8 1, ptr %10, align 1, !tbaa !31
  %65 = load i8, ptr %10, align 1, !tbaa !31, !range !32, !noundef !33
  %66 = trunc i8 %65 to i1
  br i1 %66, label %67, label %238

67:                                               ; preds = %64
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %12) #7
  %68 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %69 unwind label %94

69:                                               ; preds = %67
  %70 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %68, i32 0, i32 4
  %71 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %70)
          to label %72 unwind label %94

72:                                               ; preds = %69
  %73 = load ptr, ptr %71, align 8, !tbaa !34
  %74 = getelementptr i8, ptr %73, i64 -24
  %75 = load i64, ptr %74, align 8
  %76 = getelementptr inbounds i8, ptr %71, i64 %75
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.535") align 8 %12, ptr noundef nonnull align 8 dereferenceable(8) %76)
          to label %77 unwind label %94

77:                                               ; preds = %72
  store ptr %12, ptr %11, align 8, !tbaa !5
  br label %78

78:                                               ; preds = %235, %77
  %79 = load i8, ptr %10, align 1, !tbaa !31, !range !32, !noundef !33
  %80 = trunc i8 %79 to i1
  br i1 %80, label %98, label %81

81:                                               ; preds = %78
  store i32 2, ptr %13, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  br label %237

82:                                               ; preds = %59, %2
  %83 = landingpad { ptr, i32 }
          cleanup
  %84 = extractvalue { ptr, i32 } %83, 0
  store ptr %84, ptr %6, align 8
  %85 = extractvalue { ptr, i32 } %83, 1
  store i32 %85, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %57, i64 noundef 224) #8
  br label %773

86:                                               ; preds = %62
  %87 = landingpad { ptr, i32 }
          cleanup
  %88 = extractvalue { ptr, i32 } %87, 0
  store ptr %88, ptr %6, align 8
  %89 = extractvalue { ptr, i32 } %87, 1
  store i32 %89, ptr %7, align 4
  br label %770

90:                                               ; preds = %63
  %91 = landingpad { ptr, i32 }
          cleanup
  %92 = extractvalue { ptr, i32 } %91, 0
  store ptr %92, ptr %6, align 8
  %93 = extractvalue { ptr, i32 } %91, 1
  store i32 %93, ptr %7, align 4
  br label %769

94:                                               ; preds = %72, %69, %67
  %95 = landingpad { ptr, i32 }
          cleanup
  %96 = extractvalue { ptr, i32 } %95, 0
  store ptr %96, ptr %6, align 8
  %97 = extractvalue { ptr, i32 } %95, 1
  store i32 %97, ptr %7, align 4
  br label %236

98:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #7
  br label %99

99:                                               ; preds = %214, %98
  %100 = load ptr, ptr %11, align 8, !tbaa !5
  %101 = load ptr, ptr %100, align 8, !tbaa !34
  %102 = getelementptr inbounds ptr, ptr %101, i64 2
  %103 = load ptr, ptr %102, align 8
  %104 = invoke noundef zeroext i1 %103(ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %105 unwind label %107

105:                                              ; preds = %99
  br i1 %104, label %111, label %106

106:                                              ; preds = %105
  store i32 5, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  br label %234

107:                                              ; preds = %99
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %6, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %7, align 4
  br label %233

111:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #7
  %112 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %113 unwind label %215

113:                                              ; preds = %111
  %114 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %112, i32 0, i32 4
  %115 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %114, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %116 unwind label %215

116:                                              ; preds = %113
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) %115)
          to label %117 unwind label %215

117:                                              ; preds = %116
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #7
  %118 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 88) #6
          to label %119 unwind label %219

119:                                              ; preds = %117
  invoke void @_ZN2vl7parsing9analyzing8RuleInfoC1Ev(ptr noundef nonnull align 8 dereferenceable(84) %118)
          to label %120 unwind label %223

120:                                              ; preds = %119
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef %118)
          to label %121 unwind label %219

121:                                              ; preds = %120
  %122 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %123 unwind label %227

123:                                              ; preds = %121
  %124 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %122, i32 0, i32 4
  %125 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E3AddERKS5_RKS9_(ptr noundef nonnull align 8 dereferenceable(104) %124, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %126 unwind label %227

126:                                              ; preds = %123
  %127 = load ptr, ptr %14, align 8, !tbaa !5
  %128 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %127, i32 0, i32 1
  %129 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_E3AddERKS3_RKS7_(ptr noundef nonnull align 8 dereferenceable(104) %8, ptr noundef nonnull align 8 dereferenceable(48) %128, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %130 unwind label %227

130:                                              ; preds = %126
  %131 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %132 unwind label %227

132:                                              ; preds = %130
  %133 = load ptr, ptr %14, align 8, !tbaa !5
  %134 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton18RootRuleStartStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %131, ptr noundef %133)
          to label %135 unwind label %227

135:                                              ; preds = %132
  %136 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %137 unwind label %227

137:                                              ; preds = %135
  %138 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %136, i32 0, i32 1
  store ptr %134, ptr %138, align 8, !tbaa !36
  %139 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %140 unwind label %227

140:                                              ; preds = %137
  %141 = load ptr, ptr %14, align 8, !tbaa !5
  %142 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton16RootRuleEndStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %139, ptr noundef %141)
          to label %143 unwind label %227

143:                                              ; preds = %140
  %144 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %145 unwind label %227

145:                                              ; preds = %143
  %146 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %144, i32 0, i32 2
  store ptr %142, ptr %146, align 8, !tbaa !43
  %147 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %148 unwind label %227

148:                                              ; preds = %145
  %149 = load ptr, ptr %14, align 8, !tbaa !5
  %150 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton14RuleStartStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %147, ptr noundef %149)
          to label %151 unwind label %227

151:                                              ; preds = %148
  %152 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %153 unwind label %227

153:                                              ; preds = %151
  %154 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %152, i32 0, i32 3
  store ptr %150, ptr %154, align 8, !tbaa !44
  %155 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %156 unwind label %227

156:                                              ; preds = %153
  %157 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %155, i32 0, i32 1
  %158 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %159 unwind label %227

159:                                              ; preds = %156
  %160 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %158, i32 0, i32 1
  %161 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull align 8 dereferenceable(8) %160)
          to label %162 unwind label %227

162:                                              ; preds = %159
  %163 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %164 unwind label %227

164:                                              ; preds = %162
  %165 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %163, i32 0, i32 2
  %166 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %167 unwind label %227

167:                                              ; preds = %164
  %168 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %166, i32 0, i32 2
  %169 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(8) %165, ptr noundef nonnull align 8 dereferenceable(8) %168)
          to label %170 unwind label %227

170:                                              ; preds = %167
  %171 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %172 unwind label %227

172:                                              ; preds = %170
  %173 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %171, i32 0, i32 3
  %174 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %175 unwind label %227

175:                                              ; preds = %172
  %176 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %174, i32 0, i32 3
  %177 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(8) %173, ptr noundef nonnull align 8 dereferenceable(8) %176)
          to label %178 unwind label %227

178:                                              ; preds = %175
  %179 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %180 unwind label %227

180:                                              ; preds = %178
  %181 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %179, i32 0, i32 1
  %182 = load ptr, ptr %181, align 8, !tbaa !36
  %183 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %182, i32 0, i32 10
  %184 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %185 unwind label %227

185:                                              ; preds = %180
  %186 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %184, i32 0, i32 1
  %187 = load ptr, ptr %186, align 8, !tbaa !36
  %188 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %187, i32 0, i32 10
  %189 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %188, ptr noundef nonnull align 8 dereferenceable(48) %183)
          to label %190 unwind label %227

190:                                              ; preds = %185
  %191 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %192 unwind label %227

192:                                              ; preds = %190
  %193 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %191, i32 0, i32 2
  %194 = load ptr, ptr %193, align 8, !tbaa !43
  %195 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %194, i32 0, i32 10
  %196 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %197 unwind label %227

197:                                              ; preds = %192
  %198 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %196, i32 0, i32 2
  %199 = load ptr, ptr %198, align 8, !tbaa !43
  %200 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %199, i32 0, i32 10
  %201 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %200, ptr noundef nonnull align 8 dereferenceable(48) %195)
          to label %202 unwind label %227

202:                                              ; preds = %197
  %203 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %204 unwind label %227

204:                                              ; preds = %202
  %205 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %203, i32 0, i32 3
  %206 = load ptr, ptr %205, align 8, !tbaa !44
  %207 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %206, i32 0, i32 10
  %208 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %209 unwind label %227

209:                                              ; preds = %204
  %210 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %208, i32 0, i32 3
  %211 = load ptr, ptr %210, align 8, !tbaa !44
  %212 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %211, i32 0, i32 10
  %213 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %212, ptr noundef nonnull align 8 dereferenceable(48) %207)
          to label %214 unwind label %227

214:                                              ; preds = %209
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #7
  br label %99, !llvm.loop !45

215:                                              ; preds = %116, %113, %111
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %6, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %7, align 4
  br label %232

219:                                              ; preds = %120, %117
  %220 = landingpad { ptr, i32 }
          cleanup
  %221 = extractvalue { ptr, i32 } %220, 0
  store ptr %221, ptr %6, align 8
  %222 = extractvalue { ptr, i32 } %220, 1
  store i32 %222, ptr %7, align 4
  br label %231

223:                                              ; preds = %119
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %6, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %118, i64 noundef 88) #8
  br label %231

227:                                              ; preds = %209, %204, %202, %197, %192, %190, %185, %180, %178, %175, %172, %170, %167, %164, %162, %159, %156, %153, %151, %148, %145, %143, %140, %137, %135, %132, %130, %126, %123, %121
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %6, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %7, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %231

231:                                              ; preds = %227, %223, %219
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %232

232:                                              ; preds = %231, %215
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #7
  br label %233

233:                                              ; preds = %232, %107
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %12) #7
  br label %236

234:                                              ; preds = %106
  br label %235

235:                                              ; preds = %234
  store i8 0, ptr %10, align 1, !tbaa !31
  br label %78, !llvm.loop !47

236:                                              ; preds = %233, %94
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #7
  br label %768

237:                                              ; preds = %81
  br label %238

238:                                              ; preds = %237, %64
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #7
  store i8 1, ptr %17, align 1, !tbaa !31
  %239 = load i8, ptr %17, align 1, !tbaa !31, !range !32, !noundef !33
  %240 = trunc i8 %239 to i1
  br i1 %240, label %241, label %338

241:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %19) #7
  %242 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %243 unwind label %254

243:                                              ; preds = %241
  %244 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %242, i32 0, i32 3
  %245 = load ptr, ptr %244, align 8, !tbaa !34
  %246 = getelementptr i8, ptr %245, i64 -24
  %247 = load i64, ptr %246, align 8
  %248 = getelementptr inbounds i8, ptr %244, i64 %247
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8 %19, ptr noundef nonnull align 8 dereferenceable(8) %248)
          to label %249 unwind label %254

249:                                              ; preds = %243
  store ptr %19, ptr %18, align 8, !tbaa !5
  br label %250

250:                                              ; preds = %335, %249
  %251 = load i8, ptr %17, align 1, !tbaa !31, !range !32, !noundef !33
  %252 = trunc i8 %251 to i1
  br i1 %252, label %258, label %253

253:                                              ; preds = %250
  store i32 7, ptr %13, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  br label %337

254:                                              ; preds = %243, %241
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %6, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %7, align 4
  br label %336

258:                                              ; preds = %250
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #7
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing5StateEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %259 unwind label %268

259:                                              ; preds = %258
  br label %260

260:                                              ; preds = %331, %259
  %261 = load ptr, ptr %18, align 8, !tbaa !5
  %262 = load ptr, ptr %261, align 8, !tbaa !34
  %263 = getelementptr inbounds ptr, ptr %262, i64 2
  %264 = load ptr, ptr %263, align 8
  %265 = invoke noundef zeroext i1 %264(ptr noundef nonnull align 8 dereferenceable(8) %261, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %266 unwind label %272

266:                                              ; preds = %260
  br i1 %265, label %276, label %267

267:                                              ; preds = %266
  store i32 10, ptr %13, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #7
  br label %334

268:                                              ; preds = %258
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %6, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %7, align 4
  br label %333

272:                                              ; preds = %290, %285, %283, %278, %276, %260
  %273 = landingpad { ptr, i32 }
          cleanup
  %274 = extractvalue { ptr, i32 } %273, 0
  store ptr %274, ptr %6, align 8
  %275 = extractvalue { ptr, i32 } %273, 1
  store i32 %275, ptr %7, align 4
  br label %332

276:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #7
  %277 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %278 unwind label %272

278:                                              ; preds = %276
  %279 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %277, i32 0, i32 2
  %280 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %279)
          to label %281 unwind label %272

281:                                              ; preds = %278
  %282 = icmp sgt i64 %280, 0
  br i1 %282, label %290, label %283

283:                                              ; preds = %281
  %284 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %285 unwind label %272

285:                                              ; preds = %283
  %286 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %284, i32 0, i32 1
  %287 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %286)
          to label %288 unwind label %272

288:                                              ; preds = %285
  %289 = icmp sgt i64 %287, 0
  br i1 %289, label %290, label %298

290:                                              ; preds = %288, %281
  %291 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %9)
          to label %292 unwind label %272

292:                                              ; preds = %290
  %293 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %294 unwind label %318

294:                                              ; preds = %292
  store ptr %293, ptr %21, align 8, !tbaa !5
  %295 = invoke noundef zeroext i1 @_ZNK2vl11collections10SortedListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %291, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %296 unwind label %318

296:                                              ; preds = %294
  %297 = xor i1 %295, true
  br label %298

298:                                              ; preds = %296, %288
  %299 = phi i1 [ false, %288 ], [ %297, %296 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  br i1 %299, label %300, label %331

300:                                              ; preds = %298
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #7
  %301 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %302 unwind label %322

302:                                              ; preds = %300
  %303 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %304 unwind label %322

304:                                              ; preds = %302
  %305 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton9CopyStateEPNS1_5StateE(ptr noundef nonnull align 8 dereferenceable(224) %301, ptr noundef %303)
          to label %306 unwind label %322

306:                                              ; preds = %304
  store ptr %305, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  %307 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %308 unwind label %326

308:                                              ; preds = %306
  store ptr %307, ptr %23, align 8, !tbaa !5
  %309 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %310 unwind label %326

310:                                              ; preds = %308
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  %311 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %312 unwind label %322

312:                                              ; preds = %310
  %313 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %311, i32 0, i32 10
  %314 = load ptr, ptr %22, align 8, !tbaa !5
  %315 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %314, i32 0, i32 10
  %316 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %315, ptr noundef nonnull align 8 dereferenceable(48) %313)
          to label %317 unwind label %322

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

318:                                              ; preds = %294, %292
  %319 = landingpad { ptr, i32 }
          cleanup
  %320 = extractvalue { ptr, i32 } %319, 0
  store ptr %320, ptr %6, align 8
  %321 = extractvalue { ptr, i32 } %319, 1
  store i32 %321, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  br label %332

322:                                              ; preds = %312, %310, %304, %302, %300
  %323 = landingpad { ptr, i32 }
          cleanup
  %324 = extractvalue { ptr, i32 } %323, 0
  store ptr %324, ptr %6, align 8
  %325 = extractvalue { ptr, i32 } %323, 1
  store i32 %325, ptr %7, align 4
  br label %330

326:                                              ; preds = %308, %306
  %327 = landingpad { ptr, i32 }
          cleanup
  %328 = extractvalue { ptr, i32 } %327, 0
  store ptr %328, ptr %6, align 8
  %329 = extractvalue { ptr, i32 } %327, 1
  store i32 %329, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  br label %330

330:                                              ; preds = %326, %322
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  br label %332

331:                                              ; preds = %317, %298
  br label %260, !llvm.loop !48

332:                                              ; preds = %330, %318, %272
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %333

333:                                              ; preds = %332, %268
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %19) #7
  br label %336

334:                                              ; preds = %267
  br label %335

335:                                              ; preds = %334
  store i8 0, ptr %17, align 1, !tbaa !31
  br label %250, !llvm.loop !49

336:                                              ; preds = %333, %254
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #7
  br label %768

337:                                              ; preds = %253
  br label %338

338:                                              ; preds = %337, %238
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #7
  store i8 1, ptr %24, align 1, !tbaa !31
  %339 = load i8, ptr %24, align 1, !tbaa !31, !range !32, !noundef !33
  %340 = trunc i8 %339 to i1
  br i1 %340, label %341, label %766

341:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %26) #7
  %342 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %343 unwind label %356

343:                                              ; preds = %341
  %344 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %342, i32 0, i32 4
  %345 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %344)
          to label %346 unwind label %356

346:                                              ; preds = %343
  %347 = load ptr, ptr %345, align 8, !tbaa !34
  %348 = getelementptr i8, ptr %347, i64 -24
  %349 = load i64, ptr %348, align 8
  %350 = getelementptr inbounds i8, ptr %345, i64 %349
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.535") align 8 %26, ptr noundef nonnull align 8 dereferenceable(8) %350)
          to label %351 unwind label %356

351:                                              ; preds = %346
  store ptr %26, ptr %25, align 8, !tbaa !5
  br label %352

352:                                              ; preds = %763, %351
  %353 = load i8, ptr %24, align 1, !tbaa !31, !range !32, !noundef !33
  %354 = trunc i8 %353 to i1
  br i1 %354, label %360, label %355

355:                                              ; preds = %352
  store i32 12, ptr %13, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(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 %765

356:                                              ; preds = %346, %343, %341
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %6, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %7, align 4
  br label %764

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

361:                                              ; preds = %755, %360
  %362 = load ptr, ptr %25, align 8, !tbaa !5
  %363 = load ptr, ptr %362, align 8, !tbaa !34
  %364 = getelementptr inbounds ptr, ptr %363, i64 2
  %365 = load ptr, ptr %364, align 8
  %366 = invoke noundef zeroext i1 %365(ptr noundef nonnull align 8 dereferenceable(8) %362, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %367 unwind label %369

367:                                              ; preds = %361
  br i1 %366, label %373, label %368

368:                                              ; preds = %367
  store i32 15, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  br label %762

369:                                              ; preds = %361
  %370 = landingpad { ptr, i32 }
          cleanup
  %371 = extractvalue { ptr, i32 } %370, 0
  store ptr %371, ptr %6, align 8
  %372 = extractvalue { ptr, i32 } %370, 1
  store i32 %372, ptr %7, align 4
  br label %761

373:                                              ; preds = %367
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #7
  %374 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %375 unwind label %401

375:                                              ; preds = %373
  %376 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %374, i32 0, i32 4
  %377 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %376, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %378 unwind label %401

378:                                              ; preds = %375
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %377)
          to label %379 unwind label %401

379:                                              ; preds = %378
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #7
  %380 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %381 unwind label %405

381:                                              ; preds = %379
  %382 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %380, i32 0, i32 4
  %383 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %382, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %384 unwind label %405

384:                                              ; preds = %381
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %383)
          to label %385 unwind label %405

385:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #7
  store i8 1, ptr %30, align 1, !tbaa !31
  %386 = load i8, ptr %30, align 1, !tbaa !31, !range !32, !noundef !33
  %387 = trunc i8 %386 to i1
  br i1 %387, label %388, label %438

388:                                              ; preds = %385
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %32) #7
  %389 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %390 unwind label %409

390:                                              ; preds = %388
  %391 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %389, i32 0, i32 4
  %392 = load ptr, ptr %391, align 8, !tbaa !34
  %393 = getelementptr i8, ptr %392, i64 -24
  %394 = load i64, ptr %393, align 8
  %395 = getelementptr inbounds i8, ptr %391, i64 %394
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing5StateEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.539") align 8 %32, ptr noundef nonnull align 8 dereferenceable(8) %395)
          to label %396 unwind label %409

396:                                              ; preds = %390
  store ptr %32, ptr %31, align 8, !tbaa !5
  br label %397

397:                                              ; preds = %435, %396
  %398 = load i8, ptr %30, align 1, !tbaa !31, !range !32, !noundef !33
  %399 = trunc i8 %398 to i1
  br i1 %399, label %413, label %400

400:                                              ; preds = %397
  store i32 17, ptr %13, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  br label %437

401:                                              ; preds = %378, %375, %373
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %6, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %7, align 4
  br label %760

405:                                              ; preds = %384, %381, %379
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %6, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %7, align 4
  br label %759

409:                                              ; preds = %390, %388
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %6, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %7, align 4
  br label %436

413:                                              ; preds = %397
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #7
  br label %414

414:                                              ; preds = %433, %413
  %415 = load ptr, ptr %31, align 8, !tbaa !5
  %416 = load ptr, ptr %415, align 8, !tbaa !34
  %417 = getelementptr inbounds ptr, ptr %416, i64 2
  %418 = load ptr, ptr %417, align 8
  %419 = invoke noundef zeroext i1 %418(ptr noundef nonnull align 8 dereferenceable(8) %415, ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %420 unwind label %422

420:                                              ; preds = %414
  br i1 %419, label %426, label %421

421:                                              ; preds = %420
  store i32 20, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %434

422:                                              ; preds = %431, %428, %426, %414
  %423 = landingpad { ptr, i32 }
          cleanup
  %424 = extractvalue { ptr, i32 } %423, 0
  store ptr %424, ptr %6, align 8
  %425 = extractvalue { ptr, i32 } %423, 1
  store i32 %425, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %32) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %32) #7
  br label %436

426:                                              ; preds = %420
  %427 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %428 unwind label %422

428:                                              ; preds = %426
  %429 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %427, i32 0, i32 4
  %430 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %431 unwind label %422

431:                                              ; preds = %428
  %432 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %429, ptr noundef nonnull align 8 dereferenceable(8) %430)
          to label %433 unwind label %422

433:                                              ; preds = %431
  br label %414, !llvm.loop !50

434:                                              ; preds = %421
  br label %435

435:                                              ; preds = %434
  store i8 0, ptr %30, align 1, !tbaa !31
  br label %397, !llvm.loop !51

436:                                              ; preds = %422, %409
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #7
  br label %758

437:                                              ; preds = %400
  br label %438

438:                                              ; preds = %437, %385
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %34) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %34)
          to label %439 unwind label %473

439:                                              ; preds = %438
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #7
  store i64 0, ptr %35, align 8, !tbaa !52
  %440 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %441 unwind label %477

441:                                              ; preds = %439
  %442 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %440, i32 0, i32 1
  %443 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %34, ptr noundef nonnull align 8 dereferenceable(8) %442)
          to label %444 unwind label %477

444:                                              ; preds = %441
  br label %445

445:                                              ; preds = %752, %444
  %446 = load i64, ptr %35, align 8, !tbaa !52
  %447 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %34)
          to label %448 unwind label %477

448:                                              ; preds = %445
  %449 = icmp slt i64 %446, %447
  br i1 %449, label %450, label %755

450:                                              ; preds = %448
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #7
  %451 = load i64, ptr %35, align 8, !tbaa !52
  %452 = add nsw i64 %451, 1
  store i64 %452, ptr %35, align 8, !tbaa !52
  %453 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %34, i64 noundef %451)
          to label %454 unwind label %481

454:                                              ; preds = %450
  %455 = load ptr, ptr %453, align 8, !tbaa !5
  store ptr %455, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  %456 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %457 unwind label %485

457:                                              ; preds = %454
  %458 = load ptr, ptr %456, align 8, !tbaa !5
  store ptr %458, ptr %37, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #7
  store i8 1, ptr %38, align 1, !tbaa !31
  %459 = load i8, ptr %38, align 1, !tbaa !31, !range !32, !noundef !33
  %460 = trunc i8 %459 to i1
  br i1 %460, label %461, label %752

461:                                              ; preds = %457
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %40) #7
  %462 = load ptr, ptr %36, align 8, !tbaa !5
  %463 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %462, i32 0, i32 1
  %464 = load ptr, ptr %463, align 8, !tbaa !34
  %465 = getelementptr i8, ptr %464, i64 -24
  %466 = load i64, ptr %465, align 8
  %467 = getelementptr inbounds i8, ptr %463, i64 %466
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %40, ptr noundef nonnull align 8 dereferenceable(8) %467)
          to label %468 unwind label %489

468:                                              ; preds = %461
  store ptr %40, ptr %39, align 8, !tbaa !5
  br label %469

469:                                              ; preds = %749, %468
  %470 = load i8, ptr %38, align 1, !tbaa !31, !range !32, !noundef !33
  %471 = trunc i8 %470 to i1
  br i1 %471, label %493, label %472

472:                                              ; preds = %469
  store i32 24, ptr %13, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  br label %751

473:                                              ; preds = %438
  %474 = landingpad { ptr, i32 }
          cleanup
  %475 = extractvalue { ptr, i32 } %474, 0
  store ptr %475, ptr %6, align 8
  %476 = extractvalue { ptr, i32 } %474, 1
  store i32 %476, ptr %7, align 4
  br label %757

477:                                              ; preds = %445, %441, %439
  %478 = landingpad { ptr, i32 }
          cleanup
  %479 = extractvalue { ptr, i32 } %478, 0
  store ptr %479, ptr %6, align 8
  %480 = extractvalue { ptr, i32 } %478, 1
  store i32 %480, ptr %7, align 4
  br label %756

481:                                              ; preds = %450
  %482 = landingpad { ptr, i32 }
          cleanup
  %483 = extractvalue { ptr, i32 } %482, 0
  store ptr %483, ptr %6, align 8
  %484 = extractvalue { ptr, i32 } %482, 1
  store i32 %484, ptr %7, align 4
  br label %754

485:                                              ; preds = %454
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %6, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %7, align 4
  br label %753

489:                                              ; preds = %461
  %490 = landingpad { ptr, i32 }
          cleanup
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %6, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %7, align 4
  br label %750

493:                                              ; preds = %469
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #7
  br label %494

494:                                              ; preds = %744, %493
  %495 = load ptr, ptr %39, align 8, !tbaa !5
  %496 = load ptr, ptr %495, align 8, !tbaa !34
  %497 = getelementptr inbounds ptr, ptr %496, i64 2
  %498 = load ptr, ptr %497, align 8
  %499 = invoke noundef zeroext i1 %498(ptr noundef nonnull align 8 dereferenceable(8) %495, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %500 unwind label %502

500:                                              ; preds = %494
  br i1 %499, label %506, label %501

501:                                              ; preds = %500
  store i32 27, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  br label %748

502:                                              ; preds = %494
  %503 = landingpad { ptr, i32 }
          cleanup
  %504 = extractvalue { ptr, i32 } %503, 0
  store ptr %504, ptr %6, align 8
  %505 = extractvalue { ptr, i32 } %503, 1
  store i32 %505, ptr %7, align 4
  br label %747

506:                                              ; preds = %500
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #7
  %507 = load ptr, ptr %41, align 8, !tbaa !5
  %508 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %507, i32 0, i32 1
  %509 = load ptr, ptr %508, align 8, !tbaa !53
  store ptr %509, ptr %42, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #7
  %510 = load ptr, ptr %41, align 8, !tbaa !5
  %511 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %510, i32 0, i32 2
  %512 = load ptr, ptr %511, align 8, !tbaa !61
  store ptr %512, ptr %43, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #7
  %513 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %514 unwind label %524

514:                                              ; preds = %506
  %515 = load ptr, ptr %513, align 8, !tbaa !5
  store ptr %515, ptr %44, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #7
  %516 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %517 unwind label %528

517:                                              ; preds = %514
  %518 = load ptr, ptr %516, align 8, !tbaa !5
  store ptr %518, ptr %45, align 8, !tbaa !5
  %519 = invoke noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %34, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %520 unwind label %528

520:                                              ; preds = %517
  br i1 %519, label %532, label %521

521:                                              ; preds = %520
  %522 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %34, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %523 unwind label %528

523:                                              ; preds = %521
  br label %532

524:                                              ; preds = %506
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %6, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %7, align 4
  br label %746

528:                                              ; preds = %535, %532, %521, %517, %514
  %529 = landingpad { ptr, i32 }
          cleanup
  %530 = extractvalue { ptr, i32 } %529, 0
  store ptr %530, ptr %6, align 8
  %531 = extractvalue { ptr, i32 } %529, 1
  store i32 %531, ptr %7, align 4
  br label %745

532:                                              ; preds = %523, %520
  %533 = invoke noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %34, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %534 unwind label %528

534:                                              ; preds = %532
  br i1 %533, label %538, label %535

535:                                              ; preds = %534
  %536 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %34, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %537 unwind label %528

537:                                              ; preds = %535
  br label %538

538:                                              ; preds = %537, %534
  %539 = load ptr, ptr %41, align 8, !tbaa !5
  %540 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %539, i32 0, i32 4
  %541 = load i32, ptr %540, align 8, !tbaa !62
  %542 = icmp eq i32 %541, 5
  br i1 %542, label %543, label %727

543:                                              ; preds = %538
  %544 = load ptr, ptr %41, align 8, !tbaa !5
  %545 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %544, i32 0, i32 6
  %546 = load ptr, ptr %545, align 8, !tbaa !63
  %547 = call noundef i32 @_ZN2vl7parsing9analyzing13ParsingSymbol7GetTypeEv(ptr noundef nonnull align 8 dereferenceable(304) %546)
  %548 = icmp eq i32 %547, 8
  br i1 %548, label %549, label %727

549:                                              ; preds = %543
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #7
  %550 = load ptr, ptr %41, align 8, !tbaa !5
  %551 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %550, i32 0, i32 6
  %552 = load ptr, ptr %551, align 8, !tbaa !63
  %553 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %552)
  %554 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_EixERKS3_(ptr noundef nonnull align 8 dereferenceable(104) %8, ptr noundef nonnull align 8 dereferenceable(48) %553)
          to label %555 unwind label %616

555:                                              ; preds = %549
  %556 = load ptr, ptr %554, align 8, !tbaa !5
  store ptr %556, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #7
  %557 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %558 unwind label %620

558:                                              ; preds = %555
  %559 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %557, i32 0, i32 4
  %560 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %559, ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %561 unwind label %620

561:                                              ; preds = %558
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(32) %560)
          to label %562 unwind label %620

562:                                              ; preds = %561
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #7
  %563 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %564 unwind label %624

564:                                              ; preds = %562
  %565 = load ptr, ptr %44, align 8, !tbaa !5
  %566 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %567 unwind label %624

567:                                              ; preds = %564
  %568 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %566, i32 0, i32 3
  %569 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(8) %568)
          to label %570 unwind label %624

570:                                              ; preds = %567
  %571 = load ptr, ptr %569, align 8, !tbaa !5
  %572 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton7EpsilonEPNS1_5StateES4_(ptr noundef nonnull align 8 dereferenceable(224) %563, ptr noundef %565, ptr noundef %571)
          to label %573 unwind label %624

573:                                              ; preds = %570
  store ptr %572, ptr %48, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #7
  %574 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 56) #6
          to label %575 unwind label %628

575:                                              ; preds = %573
  invoke void @_ZN2vl7parsing9analyzing6ActionC1Ev(ptr noundef nonnull align 8 dereferenceable(56) %574)
          to label %576 unwind label %632

576:                                              ; preds = %575
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef %574)
          to label %577 unwind label %628

577:                                              ; preds = %576
  %578 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %579 unwind label %636

579:                                              ; preds = %577
  %580 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %578, i32 0, i32 1
  store i32 4, ptr %580, align 8, !tbaa !64
  %581 = load ptr, ptr %44, align 8, !tbaa !5
  %582 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %583 unwind label %636

583:                                              ; preds = %579
  %584 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %582, i32 0, i32 5
  store ptr %581, ptr %584, align 8, !tbaa !67
  %585 = load ptr, ptr %45, align 8, !tbaa !5
  %586 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %587 unwind label %636

587:                                              ; preds = %583
  %588 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %586, i32 0, i32 6
  store ptr %585, ptr %588, align 8, !tbaa !68
  %589 = load ptr, ptr %48, align 8, !tbaa !5
  %590 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %589, i32 0, i32 1
  %591 = load ptr, ptr %590, align 8, !tbaa !53
  %592 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %591, i32 0, i32 5
  %593 = load ptr, ptr %592, align 8, !tbaa !69
  %594 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %595 unwind label %636

595:                                              ; preds = %587
  %596 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %594, i32 0, i32 4
  store ptr %593, ptr %596, align 8, !tbaa !77
  %597 = load ptr, ptr %48, align 8, !tbaa !5
  %598 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %597, i32 0, i32 3
  %599 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_E3AddERKS6_(ptr noundef nonnull align 8 dereferenceable(33) %598, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %600 unwind label %636

600:                                              ; preds = %595
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %50) #7
  store i8 1, ptr %50, align 1, !tbaa !31
  %601 = load i8, ptr %50, align 1, !tbaa !31, !range !32, !noundef !33
  %602 = trunc i8 %601 to i1
  br i1 %602, label %603, label %723

603:                                              ; preds = %600
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %52) #7
  %604 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %605 unwind label %642

605:                                              ; preds = %603
  %606 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %604, i32 0, i32 4
  %607 = load ptr, ptr %606, align 8, !tbaa !34
  %608 = getelementptr i8, ptr %607, i64 -24
  %609 = load i64, ptr %608, align 8
  %610 = getelementptr inbounds i8, ptr %606, i64 %609
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing5StateEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.539") align 8 %52, ptr noundef nonnull align 8 dereferenceable(8) %610)
          to label %611 unwind label %642

611:                                              ; preds = %605
  store ptr %52, ptr %51, align 8, !tbaa !5
  br label %612

612:                                              ; preds = %720, %611
  %613 = load i8, ptr %50, align 1, !tbaa !31, !range !32, !noundef !33
  %614 = trunc i8 %613 to i1
  br i1 %614, label %646, label %615

615:                                              ; preds = %612
  store i32 29, ptr %13, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  br label %722

616:                                              ; preds = %549
  %617 = landingpad { ptr, i32 }
          cleanup
  %618 = extractvalue { ptr, i32 } %617, 0
  store ptr %618, ptr %6, align 8
  %619 = extractvalue { ptr, i32 } %617, 1
  store i32 %619, ptr %7, align 4
  br label %726

620:                                              ; preds = %561, %558, %555
  %621 = landingpad { ptr, i32 }
          cleanup
  %622 = extractvalue { ptr, i32 } %621, 0
  store ptr %622, ptr %6, align 8
  %623 = extractvalue { ptr, i32 } %621, 1
  store i32 %623, ptr %7, align 4
  br label %725

624:                                              ; preds = %570, %567, %564, %562
  %625 = landingpad { ptr, i32 }
          cleanup
  %626 = extractvalue { ptr, i32 } %625, 0
  store ptr %626, ptr %6, align 8
  %627 = extractvalue { ptr, i32 } %625, 1
  store i32 %627, ptr %7, align 4
  br label %641

628:                                              ; preds = %576, %573
  %629 = landingpad { ptr, i32 }
          cleanup
  %630 = extractvalue { ptr, i32 } %629, 0
  store ptr %630, ptr %6, align 8
  %631 = extractvalue { ptr, i32 } %629, 1
  store i32 %631, ptr %7, align 4
  br label %640

632:                                              ; preds = %575
  %633 = landingpad { ptr, i32 }
          cleanup
  %634 = extractvalue { ptr, i32 } %633, 0
  store ptr %634, ptr %6, align 8
  %635 = extractvalue { ptr, i32 } %633, 1
  store i32 %635, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %574, i64 noundef 56) #8
  br label %640

636:                                              ; preds = %595, %587, %583, %579, %577
  %637 = landingpad { ptr, i32 }
          cleanup
  %638 = extractvalue { ptr, i32 } %637, 0
  store ptr %638, ptr %6, align 8
  %639 = extractvalue { ptr, i32 } %637, 1
  store i32 %639, ptr %7, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %640

640:                                              ; preds = %636, %632, %628
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #7
  br label %641

641:                                              ; preds = %640, %624
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  br label %724

642:                                              ; preds = %605, %603
  %643 = landingpad { ptr, i32 }
          cleanup
  %644 = extractvalue { ptr, i32 } %643, 0
  store ptr %644, ptr %6, align 8
  %645 = extractvalue { ptr, i32 } %643, 1
  store i32 %645, ptr %7, align 4
  br label %721

646:                                              ; preds = %612
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #7
  br label %647

647:                                              ; preds = %699, %646
  %648 = load ptr, ptr %51, align 8, !tbaa !5
  %649 = load ptr, ptr %648, align 8, !tbaa !34
  %650 = getelementptr inbounds ptr, ptr %649, i64 2
  %651 = load ptr, ptr %650, align 8
  %652 = invoke noundef zeroext i1 %651(ptr noundef nonnull align 8 dereferenceable(8) %648, ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %653 unwind label %655

653:                                              ; preds = %647
  br i1 %652, label %659, label %654

654:                                              ; preds = %653
  store i32 32, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  br label %719

655:                                              ; preds = %647
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %6, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %7, align 4
  br label %718

659:                                              ; preds = %653
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #7
  %660 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %661 unwind label %700

661:                                              ; preds = %659
  %662 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %663 unwind label %700

663:                                              ; preds = %661
  %664 = load ptr, ptr %662, align 8, !tbaa !5
  %665 = load ptr, ptr %45, align 8, !tbaa !5
  %666 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton12NormalReduceEPNS1_5StateES4_(ptr noundef nonnull align 8 dereferenceable(224) %660, ptr noundef %664, ptr noundef %665)
          to label %667 unwind label %700

667:                                              ; preds = %663
  store ptr %666, ptr %54, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #7
  %668 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 56) #6
          to label %669 unwind label %704

669:                                              ; preds = %667
  invoke void @_ZN2vl7parsing9analyzing6ActionC1Ev(ptr noundef nonnull align 8 dereferenceable(56) %668)
          to label %670 unwind label %708

670:                                              ; preds = %669
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef %668)
          to label %671 unwind label %704

671:                                              ; preds = %670
  %672 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %673 unwind label %712

673:                                              ; preds = %671
  %674 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %672, i32 0, i32 1
  store i32 5, ptr %674, align 8, !tbaa !64
  %675 = load ptr, ptr %44, align 8, !tbaa !5
  %676 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %677 unwind label %712

677:                                              ; preds = %673
  %678 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %676, i32 0, i32 5
  store ptr %675, ptr %678, align 8, !tbaa !67
  %679 = load ptr, ptr %45, align 8, !tbaa !5
  %680 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %681 unwind label %712

681:                                              ; preds = %677
  %682 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %680, i32 0, i32 6
  store ptr %679, ptr %682, align 8, !tbaa !68
  %683 = load ptr, ptr %54, align 8, !tbaa !5
  %684 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %683, i32 0, i32 1
  %685 = load ptr, ptr %684, align 8, !tbaa !53
  %686 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %685, i32 0, i32 5
  %687 = load ptr, ptr %686, align 8, !tbaa !69
  %688 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %689 unwind label %712

689:                                              ; preds = %681
  %690 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %688, i32 0, i32 4
  store ptr %687, ptr %690, align 8, !tbaa !77
  %691 = load ptr, ptr %54, align 8, !tbaa !5
  %692 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %691, i32 0, i32 3
  %693 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_E3AddERKS6_(ptr noundef nonnull align 8 dereferenceable(33) %692, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %694 unwind label %712

694:                                              ; preds = %689
  %695 = load ptr, ptr %54, align 8, !tbaa !5
  %696 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %695, i32 0, i32 3
  %697 = load ptr, ptr %41, align 8, !tbaa !5
  %698 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %697, i32 0, i32 3
  invoke void @_ZN2vl11collections8CopyFromINS0_4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS6_EES9_EEvRT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(33) %696, ptr noundef nonnull align 8 dereferenceable(33) %698, i1 noundef zeroext true)
          to label %699 unwind label %712

699:                                              ; preds = %694
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  br label %647, !llvm.loop !78

700:                                              ; preds = %663, %661, %659
  %701 = landingpad { ptr, i32 }
          cleanup
  %702 = extractvalue { ptr, i32 } %701, 0
  store ptr %702, ptr %6, align 8
  %703 = extractvalue { ptr, i32 } %701, 1
  store i32 %703, ptr %7, align 4
  br label %717

704:                                              ; preds = %670, %667
  %705 = landingpad { ptr, i32 }
          cleanup
  %706 = extractvalue { ptr, i32 } %705, 0
  store ptr %706, ptr %6, align 8
  %707 = extractvalue { ptr, i32 } %705, 1
  store i32 %707, ptr %7, align 4
  br label %716

708:                                              ; preds = %669
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %6, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %7, align 4
  call void @_ZdlPvm(ptr noundef %668, i64 noundef 56) #8
  br label %716

712:                                              ; preds = %694, %689, %681, %677, %673, %671
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %6, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %7, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %716

716:                                              ; preds = %712, %708, %704
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #7
  br label %717

717:                                              ; preds = %716, %700
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  br label %718

718:                                              ; preds = %717, %655
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %52) #7
  br label %721

719:                                              ; preds = %654
  br label %720

720:                                              ; preds = %719
  store i8 0, ptr %50, align 1, !tbaa !31
  br label %612, !llvm.loop !79

721:                                              ; preds = %718, %642
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #7
  br label %724

722:                                              ; preds = %615
  br label %723

723:                                              ; preds = %722, %600
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  br label %744

724:                                              ; preds = %721, %641
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %725

725:                                              ; preds = %724, %620
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #7
  br label %726

726:                                              ; preds = %725, %616
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  br label %745

727:                                              ; preds = %543, %538
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #7
  %728 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %729 unwind label %740

729:                                              ; preds = %727
  %730 = load ptr, ptr %44, align 8, !tbaa !5
  %731 = load ptr, ptr %45, align 8, !tbaa !5
  %732 = load ptr, ptr %41, align 8, !tbaa !5
  %733 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton14CopyTransitionEPNS1_5StateES4_PNS1_10TransitionE(ptr noundef nonnull align 8 dereferenceable(224) %728, ptr noundef %730, ptr noundef %731, ptr noundef %732)
          to label %734 unwind label %740

734:                                              ; preds = %729
  store ptr %733, ptr %56, align 8, !tbaa !5
  %735 = load ptr, ptr %56, align 8, !tbaa !5
  %736 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %735, i32 0, i32 3
  %737 = load ptr, ptr %41, align 8, !tbaa !5
  %738 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %737, i32 0, i32 3
  invoke void @_ZN2vl11collections8CopyFromINS0_4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS6_EES9_EEvRT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(33) %736, ptr noundef nonnull align 8 dereferenceable(33) %738, i1 noundef zeroext false)
          to label %739 unwind label %740

739:                                              ; preds = %734
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  br label %744

740:                                              ; preds = %734, %729, %727
  %741 = landingpad { ptr, i32 }
          cleanup
  %742 = extractvalue { ptr, i32 } %741, 0
  store ptr %742, ptr %6, align 8
  %743 = extractvalue { ptr, i32 } %741, 1
  store i32 %743, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  br label %745

744:                                              ; preds = %739, %723
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #7
  br label %494, !llvm.loop !80

745:                                              ; preds = %740, %726, %528
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  br label %746

746:                                              ; preds = %745, %524
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #7
  br label %747

747:                                              ; preds = %746, %502
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %40) #7
  br label %750

748:                                              ; preds = %501
  br label %749

749:                                              ; preds = %748
  store i8 0, ptr %38, align 1, !tbaa !31
  br label %469, !llvm.loop !81

750:                                              ; preds = %747, %489
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #7
  br label %753

751:                                              ; preds = %472
  br label %752

752:                                              ; preds = %751, %457
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  br label %445, !llvm.loop !82

753:                                              ; preds = %750, %485
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  br label %754

754:                                              ; preds = %753, %481
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  br label %756

755:                                              ; preds = %448
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %34) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %34) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #7
  br label %361, !llvm.loop !83

756:                                              ; preds = %754, %477
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %34) #7
  br label %757

757:                                              ; preds = %756, %473
  call void @llvm.lifetime.end.p0(i64 48, ptr %34) #7
  br label %758

758:                                              ; preds = %757, %436
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %759

759:                                              ; preds = %758, %405
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %760

760:                                              ; preds = %759, %401
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #7
  br label %761

761:                                              ; preds = %760, %369
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %26) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %26) #7
  br label %764

762:                                              ; preds = %368
  br label %763

763:                                              ; preds = %762
  store i8 0, ptr %24, align 1, !tbaa !31
  br label %352, !llvm.loop !84

764:                                              ; preds = %761, %356
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #7
  br label %768

765:                                              ; preds = %355
  br label %766

766:                                              ; preds = %765, %338
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #7
  store i1 true, ptr %5, align 1
  store i32 1, ptr %13, align 4
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %9) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %9) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %8) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %8) #7
  %767 = load i1, ptr %5, align 1
  br i1 %767, label %772, label %771

768:                                              ; preds = %764, %336, %236
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %9) #7
  br label %769

769:                                              ; preds = %768, %90
  call void @llvm.lifetime.end.p0(i64 112, ptr %9) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %8) #7
  br label %770

770:                                              ; preds = %769, %86
  call void @llvm.lifetime.end.p0(i64 112, ptr %8) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  br label %773

771:                                              ; preds = %766
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  br label %772

772:                                              ; preds = %771, %766
  ret void

773:                                              ; preds = %770, %82
  %774 = load ptr, ptr %6, align 8
  %775 = load i32, ptr %7, align 4
  %776 = insertvalue { ptr, i32 } poison, ptr %774, 0
  %777 = insertvalue { ptr, i32 } %776, i32 %775, 1
  resume { ptr, i32 } %777
}

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

; 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: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_E3AddERKS3_RKS7_(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

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

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

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

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

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

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

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

declare void @_ZN2vl7parsing9analyzing6ActionC1Ev(ptr)

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 = { 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 = { 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 #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 = distinct !{!45, !46}
!46 = !{!"llvm.loop.mustprogress"}
!47 = distinct !{!47, !46}
!48 = distinct !{!48, !46}
!49 = distinct !{!49, !46}
!50 = distinct !{!50, !46}
!51 = distinct !{!51, !46}
!52 = !{!16, !16, i64 0}
!53 = !{!54, !6, i64 8}
!54 = !{!"_ZTSN2vl7parsing9analyzing10TransitionE", !11, i64 0, !6, i64 8, !6, i64 16, !55, i64 24, !59, i64 72, !60, i64 76, !6, i64 80}
!55 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !56, i64 0}
!56 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !57, i64 0, !16, i64 24, !17, i64 32}
!57 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing6ActionEEEEE", !58, i64 0, !6, i64 8, !16, i64 16}
!58 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing6ActionEEELb0EEE", !11, i64 0}
!59 = !{!"_ZTSN2vl7parsing9analyzing10Transition14TransitionTypeE", !7, i64 0}
!60 = !{!"_ZTSN2vl7parsing9analyzing10Transition18StackOperationTypeE", !7, i64 0}
!61 = !{!54, !6, i64 16}
!62 = !{!54, !59, i64 72}
!63 = !{!54, !6, i64 80}
!64 = !{!65, !66, i64 8}
!65 = !{!"_ZTSN2vl7parsing9analyzing6ActionE", !11, i64 0, !66, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48}
!66 = !{!"_ZTSN2vl7parsing9analyzing6Action10ActionTypeE", !7, i64 0}
!67 = !{!65, !6, i64 40}
!68 = !{!65, !6, i64 48}
!69 = !{!70, !6, i64 120}
!70 = !{!"_ZTSN2vl7parsing9analyzing5StateE", !11, i64 0, !71, i64 8, !71, i64 56, !17, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !75, i64 144, !76, i64 152, !76, i64 200}
!71 = !{!"_ZTSN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EE", !72, i64 0}
!72 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing9analyzing10TransitionES5_EE", !73, i64 0, !16, i64 24, !17, i64 32}
!73 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEEE", !74, i64 0, !6, i64 8, !16, i64 16}
!74 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing9analyzing10TransitionELb1EEE", !11, i64 0}
!75 = !{!"_ZTSN2vl7parsing9analyzing5State13StatePositionE", !7, i64 0}
!76 = !{!"_ZTSN2vl12ObjectStringIwEE", !11, i64 0, !6, i64 8, !6, i64 16, !16, i64 24, !16, i64 32, !16, i64 40}
!77 = !{!65, !6, i64 32}
!78 = distinct !{!78, !46}
!79 = distinct !{!79, !46}
!80 = distinct !{!80, !46}
!81 = distinct !{!81, !46}
!82 = distinct !{!82, !46}
!83 = distinct !{!83, !46}
!84 = distinct !{!84, !46}


; 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.449" = type { %"class.vl::collections::ForEachIterator.450", %"class.vl::Ptr.451" }
%"class.vl::collections::ForEachIterator.450" = type { %"class.vl::Object" }
%"class.vl::Object" = type { ptr }
%"class.vl::Ptr.451" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.521" = type { %"class.vl::collections::ForEachIterator.522", %"class.vl::Ptr.523" }
%"class.vl::collections::ForEachIterator.522" = type { %"class.vl::Object" }
%"class.vl::Ptr.523" = type { ptr, ptr, ptr, ptr }
%"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::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::collections::Dictionary.556" = type { %"class.vl::Object", %"class.vl::collections::SortedList", %"class.vl::collections::List.557", %"class.vl::collections::IEnumerable.559" }
%"class.vl::collections::SortedList" = type { %"class.vl::collections::ListBase.base", %"class.vl::collections::IEnumerable.2" }
%"class.vl::collections::ListBase.base" = type <{ %"class.vl::collections::ArrayBase.base.3", i64, i8 }>
%"class.vl::collections::ArrayBase.base.3" = type { %"class.vl::collections::ListStore.1", ptr, i64 }
%"class.vl::collections::ListStore.1" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.2" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"class.vl::collections::List.557" = 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::IEnumerable.559" = type { %"class.vl::Interface" }
%"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::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::Ptr.447" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.446" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.394" = type { ptr, ptr, ptr, ptr }

; 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 noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN2vl7parsing9analyzing13ParsingSymbol7GetTypeEv(ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #4 align 2

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4 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 uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(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 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 nounwind uwtable
declare dso_local noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) local_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 #4 align 2

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

; 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 #4 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 @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #5 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 #4 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 #4 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN2vl7parsing9analyzing37CreateJointPDAFromNondeterministicPDAENS_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::Dictionary.556", align 8
  %4 = alloca %"class.vl::collections::Dictionary.462", align 8
  %5 = alloca %"class.vl::collections::EnumerableForEachIterator.535", align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.vl::Ptr.447", align 8
  %8 = alloca %"class.vl::Ptr.447", align 8
  %9 = alloca %"class.vl::collections::EnumerableForEachIterator.521", align 8
  %10 = alloca %"class.vl::Ptr.446", align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca %"class.vl::collections::EnumerableForEachIterator.535", align 8
  %15 = alloca ptr, align 8
  %16 = alloca %"class.vl::Ptr.447", align 8
  %17 = alloca %"class.vl::Ptr.447", align 8
  %18 = alloca %"class.vl::collections::EnumerableForEachIterator.539", align 8
  %19 = alloca ptr, align 8
  %20 = alloca %"class.vl::collections::List.403", align 8
  %21 = alloca ptr, align 8
  %22 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca %"class.vl::Ptr.447", align 8
  %28 = alloca %"class.vl::Ptr.394", align 8
  %29 = alloca %"class.vl::collections::EnumerableForEachIterator.539", align 8
  %30 = alloca ptr, align 8
  %31 = alloca %"class.vl::Ptr.394", align 8
  %32 = tail call noalias noundef nonnull dereferenceable(224) ptr @_Znwm(i64 noundef 224) #6
  %33 = tail call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %34 = getelementptr inbounds i8, ptr %33, i64 8
  %35 = load ptr, ptr %34, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing9AutomatonC1EPNS1_20ParsingSymbolManagerE(ptr noundef nonnull align 8 dereferenceable(224) %32, ptr noundef %35)
          to label %36 unwind label %46

36:                                               ; preds = %2
  tail call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull %32)
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %3) #7
  invoke void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_EC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %3)
          to label %37 unwind label %48

37:                                               ; preds = %36
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %4) #7
  invoke void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %4)
          to label %38 unwind label %50

38:                                               ; preds = %37
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5) #7
  %39 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %40 = getelementptr inbounds i8, ptr %39, i64 112
  %41 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %40)
  %42 = load ptr, ptr %41, align 8, !tbaa !30
  %43 = getelementptr i8, ptr %42, i64 -24
  %44 = load i64, ptr %43, align 8
  %45 = getelementptr inbounds i8, ptr %41, i64 %44
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.535") align 8 %5, ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %54 unwind label %52

46:                                               ; preds = %2
  %47 = landingpad { ptr, i32 }
          cleanup
  tail call void @_ZdlPvm(ptr noundef nonnull %32, i64 noundef 224) #8
  br label %473

48:                                               ; preds = %36
  %49 = landingpad { ptr, i32 }
          cleanup
  br label %472

50:                                               ; preds = %37
  %51 = landingpad { ptr, i32 }
          cleanup
  br label %471

52:                                               ; preds = %38
  %53 = landingpad { ptr, i32 }
          cleanup
  br label %470

54:                                               ; preds = %38
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  br label %55

55:                                               ; preds = %151, %54
  %56 = load ptr, ptr %5, align 8, !tbaa !30
  %57 = getelementptr inbounds i8, ptr %56, i64 16
  %58 = load ptr, ptr %57, align 8
  %59 = invoke noundef zeroext i1 %58(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %60 unwind label %67

60:                                               ; preds = %55
  br i1 %59, label %69, label %.critedge116

.critedge116:                                     ; preds = %60
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %5) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9) #7
  %61 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %62 = getelementptr inbounds i8, ptr %61, i64 64
  %63 = load ptr, ptr %62, align 8, !tbaa !30
  %64 = getelementptr i8, ptr %63, i64 -24
  %65 = load i64, ptr %64, align 8
  %66 = getelementptr inbounds i8, ptr %62, i64 %65
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8 %9, ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %165 unwind label %163

67:                                               ; preds = %55
  %68 = landingpad { ptr, i32 }
          cleanup
  br label %162

69:                                               ; preds = %60
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  %70 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %71 = getelementptr inbounds i8, ptr %70, i64 112
  %72 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %71, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %73 unwind label %152

73:                                               ; preds = %69
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %72)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #7
  %74 = invoke noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #6
          to label %75 unwind label %154

75:                                               ; preds = %73
  invoke void @_ZN2vl7parsing9analyzing8RuleInfoC1Ev(ptr noundef nonnull align 8 dereferenceable(84) %74)
          to label %76 unwind label %156

76:                                               ; preds = %75
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull %74)
          to label %77 unwind label %154

77:                                               ; preds = %76
  %78 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %79 = getelementptr inbounds i8, ptr %78, i64 112
  %80 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E3AddERKS5_RKS9_(ptr noundef nonnull align 8 dereferenceable(104) %79, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %81 unwind label %158

81:                                               ; preds = %77
  %82 = load ptr, ptr %6, align 8, !tbaa !32
  %83 = getelementptr inbounds i8, ptr %82, i64 168
  %84 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_E3AddERKS3_RKS7_(ptr noundef nonnull align 8 dereferenceable(104) %3, ptr noundef nonnull align 8 dereferenceable(48) %83, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %85 unwind label %158

85:                                               ; preds = %81
  %86 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %87 = load ptr, ptr %6, align 8, !tbaa !32
  %88 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton18RootRuleStartStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %86, ptr noundef %87)
          to label %89 unwind label %158

89:                                               ; preds = %85
  %90 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %91 = getelementptr inbounds i8, ptr %90, i64 8
  store ptr %88, ptr %91, align 8, !tbaa !33
  %92 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %93 = load ptr, ptr %6, align 8, !tbaa !32
  %94 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton16RootRuleEndStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %92, ptr noundef %93)
          to label %95 unwind label %158

95:                                               ; preds = %89
  %96 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %97 = getelementptr inbounds i8, ptr %96, i64 16
  store ptr %94, ptr %97, align 8, !tbaa !40
  %98 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %99 = load ptr, ptr %6, align 8, !tbaa !32
  %100 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton14RuleStartStateEPNS0_11definitions31ParsingDefinitionRuleDefinitionE(ptr noundef nonnull align 8 dereferenceable(224) %98, ptr noundef %99)
          to label %101 unwind label %158

101:                                              ; preds = %95
  %102 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %103 = getelementptr inbounds i8, ptr %102, i64 24
  store ptr %100, ptr %103, align 8, !tbaa !41
  %104 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %7)
  %105 = getelementptr inbounds i8, ptr %104, i64 8
  %106 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %107 = getelementptr inbounds i8, ptr %106, i64 8
  %108 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(8) %105, ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %109 unwind label %158

109:                                              ; preds = %101
  %110 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %7)
  %111 = getelementptr inbounds i8, ptr %110, i64 16
  %112 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %113 = getelementptr inbounds i8, ptr %112, i64 16
  %114 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(8) %111, ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %115 unwind label %158

115:                                              ; preds = %109
  %116 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %7)
  %117 = getelementptr inbounds i8, ptr %116, i64 24
  %118 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %119 = getelementptr inbounds i8, ptr %118, i64 24
  %120 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef nonnull align 8 dereferenceable(8) %119)
          to label %121 unwind label %158

121:                                              ; preds = %115
  %122 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %7)
  %123 = getelementptr inbounds i8, ptr %122, i64 8
  %124 = load ptr, ptr %123, align 8, !tbaa !33
  %125 = getelementptr inbounds i8, ptr %124, i64 200
  %126 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %127 = getelementptr inbounds i8, ptr %126, i64 8
  %128 = load ptr, ptr %127, align 8, !tbaa !33
  %129 = getelementptr inbounds i8, ptr %128, i64 200
  %130 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %129, ptr noundef nonnull align 8 dereferenceable(48) %125)
          to label %131 unwind label %158

131:                                              ; preds = %121
  %132 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %7)
  %133 = getelementptr inbounds i8, ptr %132, i64 16
  %134 = load ptr, ptr %133, align 8, !tbaa !40
  %135 = getelementptr inbounds i8, ptr %134, i64 200
  %136 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %137 = getelementptr inbounds i8, ptr %136, i64 16
  %138 = load ptr, ptr %137, align 8, !tbaa !40
  %139 = getelementptr inbounds i8, ptr %138, i64 200
  %140 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %139, ptr noundef nonnull align 8 dereferenceable(48) %135)
          to label %141 unwind label %158

141:                                              ; preds = %131
  %142 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %7)
  %143 = getelementptr inbounds i8, ptr %142, i64 24
  %144 = load ptr, ptr %143, align 8, !tbaa !41
  %145 = getelementptr inbounds i8, ptr %144, i64 200
  %146 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %8)
  %147 = getelementptr inbounds i8, ptr %146, i64 24
  %148 = load ptr, ptr %147, align 8, !tbaa !41
  %149 = getelementptr inbounds i8, ptr %148, i64 200
  %150 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %149, ptr noundef nonnull align 8 dereferenceable(48) %145)
          to label %151 unwind label %158

151:                                              ; preds = %141
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %55, !llvm.loop !42

152:                                              ; preds = %69
  %153 = landingpad { ptr, i32 }
          cleanup
  br label %161

154:                                              ; preds = %76, %73
  %155 = landingpad { ptr, i32 }
          cleanup
  br label %160

156:                                              ; preds = %75
  %157 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %74, i64 noundef 88) #8
  br label %160

158:                                              ; preds = %141, %131, %121, %115, %109, %101, %95, %89, %85, %81, %77
  %159 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br label %160

160:                                              ; preds = %158, %156, %154
  %.pn106 = phi { ptr, i32 } [ %159, %158 ], [ %155, %154 ], [ %157, %156 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %161

161:                                              ; preds = %160, %152
  %.pn106.pn = phi { ptr, i32 } [ %.pn106, %160 ], [ %153, %152 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %162

162:                                              ; preds = %161, %67
  %.pn106.pn.pn = phi { ptr, i32 } [ %.pn106.pn, %161 ], [ %68, %67 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %5) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #7
  br label %470

163:                                              ; preds = %.critedge116
  %164 = landingpad { ptr, i32 }
          cleanup
  br label %470

165:                                              ; preds = %.critedge116
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10)
  br label %166

166:                                              ; preds = %.backedge, %165
  %167 = load ptr, ptr %9, align 8, !tbaa !30
  %168 = getelementptr inbounds i8, ptr %167, i64 16
  %169 = load ptr, ptr %168, align 8
  %170 = invoke noundef zeroext i1 %169(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %171 unwind label %179

171:                                              ; preds = %166
  br i1 %170, label %181, label %.critedge118

.critedge118:                                     ; preds = %171
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %9) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %14) #7
  %172 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %173 = getelementptr inbounds i8, ptr %172, i64 112
  %174 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %173)
  %175 = load ptr, ptr %174, align 8, !tbaa !30
  %176 = getelementptr i8, ptr %175, i64 -24
  %177 = load i64, ptr %176, align 8
  %178 = getelementptr inbounds i8, ptr %174, i64 %177
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.535") align 8 %14, ptr noundef nonnull align 8 dereferenceable(8) %178)
          to label %220 unwind label %218

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

181:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  %182 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %10)
  %183 = getelementptr inbounds i8, ptr %182, i64 56
  %184 = call noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %183)
  %185 = icmp sgt i64 %184, 0
  br i1 %185, label %191, label %186

186:                                              ; preds = %181
  %187 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %10)
  %188 = getelementptr inbounds i8, ptr %187, i64 8
  %189 = call noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %188)
  %190 = icmp sgt i64 %189, 0
  br i1 %190, label %191, label %.critedge

191:                                              ; preds = %186, %181
  %192 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %4)
  %193 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %10)
  store ptr %193, ptr %11, align 8, !tbaa !32
  %194 = invoke noundef zeroext i1 @_ZNK2vl11collections10SortedListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %192, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %195 unwind label %210

195:                                              ; preds = %191
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br i1 %194, label %.backedge, label %196

196:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #7
  %197 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %198 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %10)
  %199 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton9CopyStateEPNS1_5StateE(ptr noundef nonnull align 8 dereferenceable(224) %197, ptr noundef %198)
          to label %200 unwind label %212

200:                                              ; preds = %196
  store ptr %199, ptr %12, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  %201 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %10)
  store ptr %201, ptr %13, align 8, !tbaa !32
  %202 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_E3AddERKS5_S8_(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %203 unwind label %214

203:                                              ; preds = %200
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  %204 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %10)
  %205 = getelementptr inbounds i8, ptr %204, i64 200
  %206 = load ptr, ptr %12, align 8, !tbaa !32
  %207 = getelementptr inbounds i8, ptr %206, i64 200
  %208 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %207, ptr noundef nonnull align 8 dereferenceable(48) %205)
          to label %209 unwind label %212

209:                                              ; preds = %203
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  br label %.backedge

210:                                              ; preds = %191
  %211 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br label %217

212:                                              ; preds = %203, %196
  %213 = landingpad { ptr, i32 }
          cleanup
  br label %216

214:                                              ; preds = %200
  %215 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br label %216

216:                                              ; preds = %214, %212
  %.pn102 = phi { ptr, i32 } [ %213, %212 ], [ %215, %214 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  br label %217

.critedge:                                        ; preds = %186
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br label %.backedge

.backedge:                                        ; preds = %.critedge, %209, %195
  br label %166, !llvm.loop !44

217:                                              ; preds = %216, %210, %179
  %.pn102.pn = phi { ptr, i32 } [ %.pn102, %216 ], [ %211, %210 ], [ %180, %179 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %9) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #7
  br label %470

218:                                              ; preds = %.critedge118
  %219 = landingpad { ptr, i32 }
          cleanup
  br label %470

220:                                              ; preds = %.critedge118
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  br label %221

221:                                              ; preds = %._crit_edge, %220
  %222 = load ptr, ptr %14, align 8, !tbaa !30
  %223 = getelementptr inbounds i8, ptr %222, i64 16
  %224 = load ptr, ptr %223, align 8
  %225 = invoke noundef zeroext i1 %224(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %226 unwind label %227

226:                                              ; preds = %221
  br i1 %225, label %229, label %.critedge120

.critedge120:                                     ; preds = %226
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %4) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %4) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %3) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %3) #7
  ret void

227:                                              ; preds = %221
  %228 = landingpad { ptr, i32 }
          cleanup
  br label %469

229:                                              ; preds = %226
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #7
  %230 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %231 = getelementptr inbounds i8, ptr %230, i64 112
  %232 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %231, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %233 unwind label %244

233:                                              ; preds = %229
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %232)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  %234 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %235 = getelementptr inbounds i8, ptr %234, i64 112
  %236 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %235, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %237 unwind label %246

237:                                              ; preds = %233
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %236)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %18) #7
  %238 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
  %239 = getelementptr inbounds i8, ptr %238, i64 32
  %240 = load ptr, ptr %239, align 8, !tbaa !30
  %241 = getelementptr i8, ptr %240, i64 -24
  %242 = load i64, ptr %241, align 8
  %243 = getelementptr inbounds i8, ptr %239, i64 %242
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing5StateEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.539") align 8 %18, ptr noundef nonnull align 8 dereferenceable(8) %243)
          to label %250 unwind label %248

244:                                              ; preds = %229
  %245 = landingpad { ptr, i32 }
          cleanup
  br label %468

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

248:                                              ; preds = %237
  %249 = landingpad { ptr, i32 }
          cleanup
  br label %466

250:                                              ; preds = %237
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #7
  br label %251

251:                                              ; preds = %262, %250
  %252 = load ptr, ptr %18, align 8, !tbaa !30
  %253 = getelementptr inbounds i8, ptr %252, i64 16
  %254 = load ptr, ptr %253, align 8
  %255 = invoke noundef zeroext i1 %254(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %256 unwind label %257

256:                                              ; preds = %251
  br i1 %255, label %259, label %.critedge122

.critedge122:                                     ; preds = %256
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %20) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %20)
          to label %265 unwind label %283

257:                                              ; preds = %262, %259, %251
  %258 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %18) #7
  br label %466

259:                                              ; preds = %256
  %260 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %17)
  %261 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %262 unwind label %257

262:                                              ; preds = %259
  %263 = getelementptr inbounds i8, ptr %260, i64 32
  %264 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %263, ptr noundef nonnull align 8 dereferenceable(8) %261)
          to label %251 unwind label %257, !llvm.loop !45

265:                                              ; preds = %.critedge122
  %266 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %16)
  %267 = getelementptr inbounds i8, ptr %266, i64 8
  %268 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %20, ptr noundef nonnull align 8 dereferenceable(8) %267)
          to label %.preheader unwind label %285

.preheader:                                       ; preds = %265
  %269 = call noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %20)
  %270 = icmp sgt i64 %269, 0
  br i1 %270, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %.preheader, %.critedge124
  %.076138 = phi i64 [ %271, %.critedge124 ], [ 0, %.preheader ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  %271 = add nuw nsw i64 %.076138, 1
  %272 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %20, i64 noundef %.076138)
          to label %273 unwind label %287

273:                                              ; preds = %.lr.ph
  %274 = load ptr, ptr %272, align 8, !tbaa !32
  store ptr %274, ptr %21, align 8, !tbaa !32
  %275 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %276 unwind label %289

276:                                              ; preds = %273
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %22) #7
  %277 = load ptr, ptr %21, align 8, !tbaa !32
  %278 = getelementptr inbounds i8, ptr %277, i64 8
  %279 = load ptr, ptr %278, align 8, !tbaa !30
  %280 = getelementptr i8, ptr %279, i64 -24
  %281 = load i64, ptr %280, align 8
  %282 = getelementptr inbounds i8, ptr %278, i64 %281
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %22, ptr noundef nonnull align 8 dereferenceable(8) %282)
          to label %293 unwind label %291

283:                                              ; preds = %.critedge122
  %284 = landingpad { ptr, i32 }
          cleanup
  br label %465

285:                                              ; preds = %265
  %286 = landingpad { ptr, i32 }
          cleanup
  br label %464

287:                                              ; preds = %.lr.ph
  %288 = landingpad { ptr, i32 }
          cleanup
  br label %463

289:                                              ; preds = %273
  %290 = landingpad { ptr, i32 }
          cleanup
  br label %463

291:                                              ; preds = %276
  %292 = landingpad { ptr, i32 }
          cleanup
  br label %463

293:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #7
  br label %294

294:                                              ; preds = %460, %293
  %295 = load ptr, ptr %22, align 8, !tbaa !30
  %296 = getelementptr inbounds i8, ptr %295, i64 16
  %297 = load ptr, ptr %296, align 8
  %298 = invoke noundef zeroext i1 %297(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %299 unwind label %302

299:                                              ; preds = %294
  br i1 %298, label %304, label %.critedge124

.critedge124:                                     ; preds = %299
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  %300 = call noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %20)
  %301 = icmp slt i64 %271, %300
  br i1 %301, label %.lr.ph, label %._crit_edge, !llvm.loop !46

302:                                              ; preds = %294
  %303 = landingpad { ptr, i32 }
          cleanup
  br label %462

304:                                              ; preds = %299
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #7
  %305 = load ptr, ptr %23, align 8, !tbaa !32
  %306 = getelementptr inbounds i8, ptr %305, i64 8
  %307 = load ptr, ptr %306, align 8, !tbaa !47
  store ptr %307, ptr %24, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #7
  %308 = getelementptr inbounds i8, ptr %305, i64 16
  %309 = load ptr, ptr %308, align 8, !tbaa !55
  store ptr %309, ptr %25, align 8, !tbaa !32
  %310 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %311 unwind label %320

311:                                              ; preds = %304
  %312 = load ptr, ptr %310, align 8, !tbaa !32
  %313 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %314 unwind label %322

314:                                              ; preds = %311
  %315 = load ptr, ptr %313, align 8, !tbaa !32
  %316 = invoke noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %20, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %317 unwind label %322

317:                                              ; preds = %314
  br i1 %316, label %324, label %318

318:                                              ; preds = %317
  %319 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %20, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %324 unwind label %322

320:                                              ; preds = %304
  %321 = landingpad { ptr, i32 }
          cleanup
  br label %461

322:                                              ; preds = %327, %324, %318, %314, %311
  %323 = landingpad { ptr, i32 }
          cleanup
  br label %461

324:                                              ; preds = %318, %317
  %325 = invoke noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %20, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %326 unwind label %322

326:                                              ; preds = %324
  br i1 %325, label %329, label %327

327:                                              ; preds = %326
  %328 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %20, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %329 unwind label %322

329:                                              ; preds = %327, %326
  %330 = load ptr, ptr %23, align 8, !tbaa !32
  %331 = getelementptr inbounds i8, ptr %330, i64 72
  %332 = load i32, ptr %331, align 8, !tbaa !56
  %333 = icmp eq i32 %332, 5
  br i1 %333, label %334, label %450

334:                                              ; preds = %329
  %335 = getelementptr inbounds i8, ptr %330, i64 80
  %336 = load ptr, ptr %335, align 8, !tbaa !57
  %337 = call noundef i32 @_ZN2vl7parsing9analyzing13ParsingSymbol7GetTypeEv(ptr noundef nonnull align 8 dereferenceable(304) %336)
  %338 = icmp eq i32 %337, 8
  br i1 %338, label %339, label %450

339:                                              ; preds = %334
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #7
  %340 = load ptr, ptr %23, align 8, !tbaa !32
  %341 = getelementptr inbounds i8, ptr %340, i64 80
  %342 = load ptr, ptr %341, align 8, !tbaa !57
  %343 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %342)
  %344 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_EixERKS3_(ptr noundef nonnull align 8 dereferenceable(104) %3, ptr noundef nonnull align 8 dereferenceable(48) %343)
          to label %345 unwind label %384

345:                                              ; preds = %339
  %346 = load ptr, ptr %344, align 8, !tbaa !32
  store ptr %346, ptr %26, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  %347 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %348 = getelementptr inbounds i8, ptr %347, i64 112
  %349 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %348, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %350 unwind label %386

350:                                              ; preds = %345
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %349)
  %351 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %352 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %27)
  %353 = getelementptr inbounds i8, ptr %352, i64 24
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(8) %353)
          to label %355 unwind label %388

355:                                              ; preds = %350
  %356 = load ptr, ptr %354, align 8, !tbaa !32
  %357 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton7EpsilonEPNS1_5StateES4_(ptr noundef nonnull align 8 dereferenceable(224) %351, ptr noundef %312, ptr noundef %356)
          to label %358 unwind label %388

358:                                              ; preds = %355
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #7
  %359 = invoke noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #6
          to label %360 unwind label %390

360:                                              ; preds = %358
  invoke void @_ZN2vl7parsing9analyzing6ActionC1Ev(ptr noundef nonnull align 8 dereferenceable(56) %359)
          to label %361 unwind label %392

361:                                              ; preds = %360
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull %359)
          to label %362 unwind label %390

362:                                              ; preds = %361
  %363 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %28)
  %364 = getelementptr inbounds i8, ptr %363, i64 8
  store i32 4, ptr %364, align 8, !tbaa !58
  %365 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %28)
  %366 = getelementptr inbounds i8, ptr %365, i64 40
  store ptr %312, ptr %366, align 8, !tbaa !61
  %367 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %28)
  %368 = getelementptr inbounds i8, ptr %367, i64 48
  store ptr %315, ptr %368, align 8, !tbaa !62
  %369 = getelementptr inbounds i8, ptr %357, i64 8
  %370 = load ptr, ptr %369, align 8, !tbaa !47
  %371 = getelementptr inbounds i8, ptr %370, i64 120
  %372 = load ptr, ptr %371, align 8, !tbaa !63
  %373 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %28)
  %374 = getelementptr inbounds i8, ptr %373, i64 32
  store ptr %372, ptr %374, align 8, !tbaa !71
  %375 = getelementptr inbounds i8, ptr %357, i64 24
  %376 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_E3AddERKS6_(ptr noundef nonnull align 8 dereferenceable(33) %375, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %377 unwind label %394

377:                                              ; preds = %362
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %29) #7
  %378 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %27)
  %379 = getelementptr inbounds i8, ptr %378, i64 32
  %380 = load ptr, ptr %379, align 8, !tbaa !30
  %381 = getelementptr i8, ptr %380, i64 -24
  %382 = load i64, ptr %381, align 8
  %383 = getelementptr inbounds i8, ptr %379, i64 %382
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing5StateEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.539") align 8 %29, ptr noundef nonnull align 8 dereferenceable(8) %383)
          to label %399 unwind label %397

384:                                              ; preds = %339
  %385 = landingpad { ptr, i32 }
          cleanup
  br label %449

386:                                              ; preds = %345
  %387 = landingpad { ptr, i32 }
          cleanup
  br label %448

388:                                              ; preds = %355, %350
  %389 = landingpad { ptr, i32 }
          cleanup
  br label %447

390:                                              ; preds = %361, %358
  %391 = landingpad { ptr, i32 }
          cleanup
  br label %396

392:                                              ; preds = %360
  %393 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %359, i64 noundef 56) #8
  br label %396

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

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

397:                                              ; preds = %377
  %398 = landingpad { ptr, i32 }
          cleanup
  br label %447

399:                                              ; preds = %377
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #7
  br label %400

400:                                              ; preds = %436, %399
  %401 = load ptr, ptr %29, align 8, !tbaa !30
  %402 = getelementptr inbounds i8, ptr %401, i64 16
  %403 = load ptr, ptr %402, align 8
  %404 = invoke noundef zeroext i1 %403(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %405 unwind label %406

405:                                              ; preds = %400
  br i1 %404, label %408, label %.critedge126

.critedge126:                                     ; preds = %405
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %29) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  br label %460

406:                                              ; preds = %400
  %407 = landingpad { ptr, i32 }
          cleanup
  br label %446

408:                                              ; preds = %405
  %409 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %410 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %411 unwind label %437

411:                                              ; preds = %408
  %412 = load ptr, ptr %410, align 8, !tbaa !32
  %413 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton12NormalReduceEPNS1_5StateES4_(ptr noundef nonnull align 8 dereferenceable(224) %409, ptr noundef %412, ptr noundef %315)
          to label %414 unwind label %437

414:                                              ; preds = %411
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #7
  %415 = invoke noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #6
          to label %416 unwind label %439

416:                                              ; preds = %414
  invoke void @_ZN2vl7parsing9analyzing6ActionC1Ev(ptr noundef nonnull align 8 dereferenceable(56) %415)
          to label %417 unwind label %441

417:                                              ; preds = %416
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull %415)
          to label %418 unwind label %439

418:                                              ; preds = %417
  %419 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %31)
  %420 = getelementptr inbounds i8, ptr %419, i64 8
  store i32 5, ptr %420, align 8, !tbaa !58
  %421 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %31)
  %422 = getelementptr inbounds i8, ptr %421, i64 40
  store ptr %312, ptr %422, align 8, !tbaa !61
  %423 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %31)
  %424 = getelementptr inbounds i8, ptr %423, i64 48
  store ptr %315, ptr %424, align 8, !tbaa !62
  %425 = getelementptr inbounds i8, ptr %413, i64 8
  %426 = load ptr, ptr %425, align 8, !tbaa !47
  %427 = getelementptr inbounds i8, ptr %426, i64 120
  %428 = load ptr, ptr %427, align 8, !tbaa !63
  %429 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %31)
  %430 = getelementptr inbounds i8, ptr %429, i64 32
  store ptr %428, ptr %430, align 8, !tbaa !71
  %431 = getelementptr inbounds i8, ptr %413, i64 24
  %432 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_E3AddERKS6_(ptr noundef nonnull align 8 dereferenceable(33) %431, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %433 unwind label %443

433:                                              ; preds = %418
  %434 = load ptr, ptr %23, align 8, !tbaa !32
  %435 = getelementptr inbounds i8, ptr %434, i64 24
  invoke void @_ZN2vl11collections8CopyFromINS0_4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS6_EES9_EEvRT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(33) %431, ptr noundef nonnull align 8 dereferenceable(33) %435, i1 noundef zeroext true)
          to label %436 unwind label %443

436:                                              ; preds = %433
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  br label %400, !llvm.loop !72

437:                                              ; preds = %411, %408
  %438 = landingpad { ptr, i32 }
          cleanup
  br label %446

439:                                              ; preds = %417, %414
  %440 = landingpad { ptr, i32 }
          cleanup
  br label %445

441:                                              ; preds = %416
  %442 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %415, i64 noundef 56) #8
  br label %445

443:                                              ; preds = %433, %418
  %444 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %445

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

446:                                              ; preds = %437, %445, %406
  %.pn79.pn.pn = phi { ptr, i32 } [ %407, %406 ], [ %.pn79, %445 ], [ %438, %437 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %29) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %29) #7
  br label %447

447:                                              ; preds = %397, %446, %388, %396
  %.pn79.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn, %396 ], [ %389, %388 ], [ %.pn79.pn.pn, %446 ], [ %398, %397 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %448

448:                                              ; preds = %447, %386
  %.pn79.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn79.pn.pn.pn.pn, %447 ], [ %387, %386 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  br label %449

449:                                              ; preds = %448, %384
  %.pn79.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn79.pn.pn.pn.pn.pn, %448 ], [ %385, %384 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  br label %461

450:                                              ; preds = %334, %329
  %451 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %452 = load ptr, ptr %23, align 8, !tbaa !32
  %453 = invoke noundef ptr @_ZN2vl7parsing9analyzing9Automaton14CopyTransitionEPNS1_5StateES4_PNS1_10TransitionE(ptr noundef nonnull align 8 dereferenceable(224) %451, ptr noundef %312, ptr noundef %315, ptr noundef %452)
          to label %454 unwind label %458

454:                                              ; preds = %450
  %455 = getelementptr inbounds i8, ptr %453, i64 24
  %456 = load ptr, ptr %23, align 8, !tbaa !32
  %457 = getelementptr inbounds i8, ptr %456, i64 24
  invoke void @_ZN2vl11collections8CopyFromINS0_4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS6_EES9_EEvRT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(33) %455, ptr noundef nonnull align 8 dereferenceable(33) %457, i1 noundef zeroext false)
          to label %460 unwind label %458

458:                                              ; preds = %454, %450
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %461

460:                                              ; preds = %454, %.critedge126
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %294, !llvm.loop !73

461:                                              ; preds = %322, %449, %458, %320
  %.pn79.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %321, %320 ], [ %.pn79.pn.pn.pn.pn.pn.pn, %449 ], [ %459, %458 ], [ %323, %322 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %462

462:                                              ; preds = %461, %302
  %.pn79.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn79.pn.pn.pn.pn.pn.pn.pn.pn, %461 ], [ %303, %302 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %22) #7
  br label %463

463:                                              ; preds = %289, %462, %291, %287
  %.pn79.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %288, %287 ], [ %290, %289 ], [ %.pn79.pn.pn.pn.pn.pn.pn.pn.pn.pn, %462 ], [ %292, %291 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  br label %464

._crit_edge:                                      ; preds = %.critedge124, %.preheader
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %20) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %20) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  br label %221, !llvm.loop !74

464:                                              ; preds = %463, %285
  %.pn79.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn79.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %463 ], [ %286, %285 ]
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %20) #7
  br label %465

465:                                              ; preds = %464, %283
  %.pn79.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn79.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %464 ], [ %284, %283 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %20) #7
  br label %466

466:                                              ; preds = %248, %257, %465
  %.pn95.pn = phi { ptr, i32 } [ %.pn79.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %465 ], [ %258, %257 ], [ %249, %248 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %467

467:                                              ; preds = %466, %246
  %.pn95.pn.pn = phi { ptr, i32 } [ %.pn95.pn, %466 ], [ %247, %246 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %468

468:                                              ; preds = %467, %244
  %.pn95.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn, %467 ], [ %245, %244 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  br label %469

469:                                              ; preds = %468, %227
  %.pn95.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn95.pn.pn.pn, %468 ], [ %228, %227 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %14) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) #7
  br label %470

470:                                              ; preds = %218, %469, %163, %217, %52, %162
  %.pn106.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn, %162 ], [ %53, %52 ], [ %.pn102.pn, %217 ], [ %164, %163 ], [ %.pn95.pn.pn.pn.pn, %469 ], [ %219, %218 ]
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %4) #7
  br label %471

471:                                              ; preds = %470, %50
  %.pn106.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn.pn, %470 ], [ %51, %50 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %4) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %3) #7
  br label %472

472:                                              ; preds = %471, %48
  %.pn106.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn.pn.pn, %471 ], [ %49, %48 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %3) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing9AutomatonEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  br label %473

473:                                              ; preds = %472, %46
  %.pn106.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn106.pn.pn.pn.pn.pn.pn, %472 ], [ %47, %46 ]
  resume { ptr, i32 } %.pn106.pn.pn.pn.pn.pn.pn.pn
}

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

; 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: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEEPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES3_S7_E3AddERKS3_RKS7_(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK2vl11collections10SortedListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(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 noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing5StateES5_S5_S5_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_E3AddERKS6_(ptr noundef nonnull align 8 dereferenceable(33), ptr noundef nonnull align 8 dereferenceable(32)) local_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 #5 align 2

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

declare void @_ZN2vl7parsing9analyzing6ActionC1Ev(ptr) local_unnamed_addr

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 = { 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 = { 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 #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 = distinct !{!42, !43}
!43 = !{!"llvm.loop.mustprogress"}
!44 = distinct !{!44, !43}
!45 = distinct !{!45, !43}
!46 = distinct !{!46, !43}
!47 = !{!48, !8, i64 8}
!48 = !{!"_ZTSN2vl7parsing9analyzing10TransitionE", !7, i64 0, !8, i64 8, !8, i64 16, !49, i64 24, !53, i64 72, !54, i64 76, !8, i64 80}
!49 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !50, i64 0}
!50 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !51, i64 0, !15, i64 24, !16, i64 32}
!51 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing6ActionEEEEE", !52, i64 0, !8, i64 8, !15, i64 16}
!52 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing6ActionEEELb0EEE", !7, i64 0}
!53 = !{!"_ZTSN2vl7parsing9analyzing10Transition14TransitionTypeE", !9, i64 0}
!54 = !{!"_ZTSN2vl7parsing9analyzing10Transition18StackOperationTypeE", !9, i64 0}
!55 = !{!48, !8, i64 16}
!56 = !{!48, !53, i64 72}
!57 = !{!48, !8, i64 80}
!58 = !{!59, !60, i64 8}
!59 = !{!"_ZTSN2vl7parsing9analyzing6ActionE", !7, i64 0, !60, i64 8, !8, i64 16, !8, i64 24, !8, i64 32, !8, i64 40, !8, i64 48}
!60 = !{!"_ZTSN2vl7parsing9analyzing6Action10ActionTypeE", !9, i64 0}
!61 = !{!59, !8, i64 40}
!62 = !{!59, !8, i64 48}
!63 = !{!64, !8, i64 120}
!64 = !{!"_ZTSN2vl7parsing9analyzing5StateE", !7, i64 0, !65, i64 8, !65, i64 56, !16, i64 104, !8, i64 112, !8, i64 120, !8, i64 128, !8, i64 136, !69, i64 144, !70, i64 152, !70, i64 200}
!65 = !{!"_ZTSN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EE", !66, i64 0}
!66 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing9analyzing10TransitionES5_EE", !67, i64 0, !15, i64 24, !16, i64 32}
!67 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEEE", !68, i64 0, !8, i64 8, !15, i64 16}
!68 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing9analyzing10TransitionELb1EEE", !7, i64 0}
!69 = !{!"_ZTSN2vl7parsing9analyzing5State13StatePositionE", !9, i64 0}
!70 = !{!"_ZTSN2vl12ObjectStringIwEE", !7, i64 0, !8, i64 8, !8, i64 16, !15, i64 24, !15, i64 32, !15, i64 40}
!71 = !{!59, !8, i64 32}
!72 = distinct !{!72, !43}
!73 = distinct !{!73, !43}
!74 = distinct !{!74, !43}


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