; 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" = type { %"class.vl::collections::ForEachIterator", %"class.vl::Ptr" }
%"class.vl::collections::ForEachIterator" = type { %"class.vl::Object" }
%"class.vl::Object" = type { ptr }
%"class.vl::Ptr" = type { ptr, ptr, ptr, ptr }
%"class.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"class.vl::collections::EnumerableForEachIterator.317" = type { %"class.vl::collections::ForEachIterator.318", %"class.vl::Ptr.319" }
%"class.vl::collections::ForEachIterator.318" = type { %"class.vl::Object" }
%"class.vl::Ptr.319" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.322" = type { %"class.vl::collections::ForEachIterator.323", %"class.vl::Ptr.324" }
%"class.vl::collections::ForEachIterator.323" = type { %"class.vl::Object" }
%"class.vl::Ptr.324" = type { ptr, ptr, ptr, ptr }
%"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::Ptr.451" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.477" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.61" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::List.491" = type { %"class.vl::collections::ListBase.base.493", %"class.vl::collections::IEnumerable.76" }
%"class.vl::collections::ListBase.base.493" = type <{ %"class.vl::collections::ArrayBase.base.77", i64, i8 }>
%"class.vl::collections::ArrayBase.base.77" = type { %"class.vl::collections::ListStore.75", ptr, i64 }
%"class.vl::collections::ListStore.75" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.76" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"class.vl::collections::List.212" = type { %"class.vl::collections::ListBase.base.218", %"class.vl::collections::IEnumerable.216" }
%"class.vl::collections::ListBase.base.218" = type <{ %"class.vl::collections::ArrayBase.base.217", i64, i8 }>
%"class.vl::collections::ArrayBase.base.217" = type { %"class.vl::collections::ListStore.215", ptr, i64 }
%"class.vl::collections::ListStore.215" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.216" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary" = type { %"class.vl::Object", %"class.vl::collections::SortedList", %"class.vl::collections::List.116", %"class.vl::collections::IEnumerable.124" }
%"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::collections::List.116" = type { %"class.vl::collections::ListBase.base.122", %"class.vl::collections::IEnumerable.120" }
%"class.vl::collections::ListBase.base.122" = type <{ %"class.vl::collections::ArrayBase.base.121", i64, i8 }>
%"class.vl::collections::ArrayBase.base.121" = type { %"class.vl::collections::ListStore.119", ptr, i64 }
%"class.vl::collections::ListStore.119" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.120" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.124" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.125" = type { %"class.vl::Object", %"class.vl::collections::SortedList.126", %"class.vl::collections::List.116", %"class.vl::collections::IEnumerable.134" }
%"class.vl::collections::SortedList.126" = type { %"class.vl::collections::ListBase.base.132", %"class.vl::collections::IEnumerable.130" }
%"class.vl::collections::ListBase.base.132" = type <{ %"class.vl::collections::ArrayBase.base.131", i64, i8 }>
%"class.vl::collections::ArrayBase.base.131" = type { %"class.vl::collections::ListStore.129", ptr, i64 }
%"class.vl::collections::ListStore.129" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.130" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.134" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.495" = type { %"class.vl::Object", %"class.vl::collections::SortedList.255", %"class.vl::collections::List.496", %"class.vl::collections::IEnumerable.504" }
%"class.vl::collections::SortedList.255" = type { %"class.vl::collections::ListBase.base.218", %"class.vl::collections::IEnumerable.216" }
%"class.vl::collections::List.496" = type { %"class.vl::collections::ListBase.base.502", %"class.vl::collections::IEnumerable.500" }
%"class.vl::collections::ListBase.base.502" = type <{ %"class.vl::collections::ArrayBase.base.501", i64, i8 }>
%"class.vl::collections::ArrayBase.base.501" = type { %"class.vl::collections::ListStore.499", ptr, i64 }
%"class.vl::collections::ListStore.499" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.500" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.504" = type { %"class.vl::Interface" }
%"class.vl::collections::EnumerableForEachIterator.506" = type { %"class.vl::collections::ForEachIterator.507", %"class.vl::Ptr.508" }
%"class.vl::collections::ForEachIterator.507" = type { %"class.vl::Object" }
%"class.vl::Ptr.508" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.509" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.510" = type { %"class.vl::collections::ForEachIterator.511", %"class.vl::Ptr.512" }
%"class.vl::collections::ForEachIterator.511" = type { %"class.vl::Object" }
%"class.vl::Ptr.512" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.513" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::Pair.514" = type { %"class.vl::ObjectString", %"class.vl::ObjectString" }
%"class.vl::collections::Dictionary.515" = type { %"class.vl::Object", %"class.vl::collections::SortedList.255", %"class.vl::collections::List.116", %"class.vl::collections::IEnumerable.516" }
%"class.vl::collections::IEnumerable.516" = type { %"class.vl::Interface" }
%"class.vl::collections::List" = type { %"class.vl::collections::ListBase.base", %"class.vl::collections::IEnumerable.2" }
%"class.vl::Ptr.320" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.325" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::List.403" = 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::EnumerableForEachIterator.518" = type { %"class.vl::collections::ForEachIterator.519", %"class.vl::Ptr.520" }
%"class.vl::collections::ForEachIterator.519" = type { %"class.vl::Object" }
%"class.vl::Ptr.520" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.447" = 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::Ptr.446" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.524" = type { %"class.vl::collections::ForEachIterator.525", %"class.vl::Ptr.526" }
%"class.vl::collections::ForEachIterator.525" = type { %"class.vl::Object" }
%"class.vl::Ptr.526" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.527" = type { %"class.vl::collections::ForEachIterator.528", %"class.vl::Ptr.529" }
%"class.vl::collections::ForEachIterator.528" = type { %"class.vl::Object" }
%"class.vl::Ptr.529" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::Pair.530" = type { %"class.vl::ObjectString", i64 }
%"class.vl::parsing::tabling::ParsingTable::TreeTypeInfo" = type { %"class.vl::ObjectString", i64 }
%"class.vl::collections::EnumerableForEachIterator.531" = type { %"class.vl::collections::ForEachIterator.532", %"class.vl::Ptr.533" }
%"class.vl::collections::ForEachIterator.532" = type { %"class.vl::Object" }
%"class.vl::Ptr.533" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::Pair.534" = type { %"class.vl::collections::Pair.514", i64 }
%"class.vl::parsing::tabling::ParsingTable::TreeFieldInfo" = type { %"class.vl::ObjectString", %"class.vl::ObjectString", i64 }
%"class.vl::parsing::tabling::ParsingTable::TokenInfo" = type { %"class.vl::ObjectString", %"class.vl::ObjectString", i64, i64 }
%"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::parsing::tabling::ParsingTable::RuleInfo" = type { %"class.vl::ObjectString", %"class.vl::ObjectString", %"class.vl::ObjectString", i64, i64 }
%"class.vl::Ptr.538" = 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::parsing::tabling::ParsingTable::StateInfo" = type { %"class.vl::ObjectString", %"class.vl::ObjectString", %"class.vl::ObjectString", %"class.vl::ObjectString" }
%"class.vl::Ptr.542" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.473" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.551" = type { %"class.vl::collections::ForEachIterator.552", %"class.vl::Ptr.553" }
%"class.vl::collections::ForEachIterator.552" = type { %"class.vl::Object" }
%"class.vl::Ptr.553" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.394" = type { ptr, ptr, ptr, ptr }
%"class.vl::parsing::tabling::ParsingTable::Instruction" = type { i32, i64, %"class.vl::ObjectString", %"class.vl::ObjectString", %"class.vl::ObjectString" }
%"class.vl::collections::LazyList.554" = type { %"class.vl::Object", %"class.vl::collections::IEnumerable.547", %"class.vl::Ptr.555" }
%"class.vl::collections::IEnumerable.547" = type { %"class.vl::Interface" }
%"class.vl::Ptr.555" = type { ptr, ptr, ptr, ptr }
%"class.vl::parsing::definitions::ParsingDefinitionBase" = type { %"class.vl::parsing::ParsingTreeCustomBase.base", %"class.vl::collections::List.272", %"class.vl::reflection::DescriptableObject" }
%"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.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::reflection::DescriptableObject" = type { ptr, i64, ptr, i64, ptr, %"class.vl::Ptr.12" }
%"class.vl::Ptr.12" = type { ptr, ptr, ptr, ptr }
%"class.vl::parsing::tabling::ParsingTable::AttributeInfoList" = type { %"class.vl::Object", %"class.vl::collections::List.483" }
%"class.vl::collections::List.483" = type { %"class.vl::collections::ListBase.base.489", %"class.vl::collections::IEnumerable.487" }
%"class.vl::collections::ListBase.base.489" = type <{ %"class.vl::collections::ArrayBase.base.488", i64, i8 }>
%"class.vl::collections::ArrayBase.base.488" = type { %"class.vl::collections::ListStore.486", ptr, i64 }
%"class.vl::collections::ListStore.486" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.487" = type { %"class.vl::Interface" }
%"class.vl::parsing::definitions::ParsingDefinitionClassDefinition" = type { %"class.vl::parsing::definitions::ParsingDefinitionTypeDefinition.base", %"class.vl::Ptr.280", %"class.vl::Ptr.280", %"class.vl::collections::List.281", %"class.vl::collections::List.289", %"class.vl::reflection::DescriptableObject" }
%"class.vl::parsing::definitions::ParsingDefinitionTypeDefinition.base" = type { %"class.vl::parsing::definitions::ParsingDefinitionBase.base", %"class.vl::ObjectString" }
%"class.vl::parsing::definitions::ParsingDefinitionBase.base" = type { %"class.vl::parsing::ParsingTreeCustomBase.base", %"class.vl::collections::List.272" }
%"class.vl::Ptr.280" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::List.281" = type { %"class.vl::collections::ListBase.base.287", %"class.vl::collections::IEnumerable.285" }
%"class.vl::collections::ListBase.base.287" = type <{ %"class.vl::collections::ArrayBase.base.286", i64, i8 }>
%"class.vl::collections::ArrayBase.base.286" = type { %"class.vl::collections::ListStore.284", ptr, i64 }
%"class.vl::collections::ListStore.284" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.285" = type { %"class.vl::Interface" }
%"class.vl::collections::List.289" = type { %"class.vl::collections::ListBase.base.295", %"class.vl::collections::IEnumerable.293" }
%"class.vl::collections::ListBase.base.295" = type <{ %"class.vl::collections::ArrayBase.base.294", i64, i8 }>
%"class.vl::collections::ArrayBase.base.294" = type { %"class.vl::collections::ListStore.292", ptr, i64 }
%"class.vl::collections::ListStore.292" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.293" = type { %"class.vl::Interface" }
%"class.vl::parsing::definitions::ParsingDefinitionTypeDefinition" = type { %"class.vl::parsing::definitions::ParsingDefinitionBase.base", %"class.vl::ObjectString", %"class.vl::reflection::DescriptableObject" }
%"class.vl::parsing::definitions::ParsingDefinition" = type { %"class.vl::parsing::ParsingTreeCustomBase.base", %"class.vl::collections::List.289", %"class.vl::collections::List.300", %"class.vl::collections::List.308", %"class.vl::reflection::DescriptableObject" }
%"class.vl::collections::List.300" = type { %"class.vl::collections::ListBase.base.306", %"class.vl::collections::IEnumerable.304" }
%"class.vl::collections::ListBase.base.306" = type <{ %"class.vl::collections::ArrayBase.base.305", i64, i8 }>
%"class.vl::collections::ArrayBase.base.305" = type { %"class.vl::collections::ListStore.303", ptr, i64 }
%"class.vl::collections::ListStore.303" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.304" = type { %"class.vl::Interface" }
%"class.vl::collections::List.308" = type { %"class.vl::collections::ListBase.base.314", %"class.vl::collections::IEnumerable.312" }
%"class.vl::collections::ListBase.base.314" = type <{ %"class.vl::collections::ArrayBase.base.313", i64, i8 }>
%"class.vl::collections::ArrayBase.base.313" = type { %"class.vl::collections::ListStore.311", ptr, i64 }
%"class.vl::collections::ListStore.311" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.312" = type { %"class.vl::Interface" }
%"class.vl::parsing::definitions::ParsingDefinitionTokenDefinition" = type <{ %"class.vl::parsing::definitions::ParsingDefinitionBase.base", %"class.vl::ObjectString", %"class.vl::ObjectString", i8, [7 x i8], %"class.vl::reflection::DescriptableObject" }>
%"class.vl::parsing::analyzing::Automaton" = type { %"class.vl::Object", ptr, %"class.vl::collections::List.411", %"class.vl::collections::List.419", %"class.vl::collections::Dictionary.427" }
%"class.vl::collections::List.411" = type { %"class.vl::collections::ListBase.base.417", %"class.vl::collections::IEnumerable.415" }
%"class.vl::collections::ListBase.base.417" = type <{ %"class.vl::collections::ArrayBase.base.416", i64, i8 }>
%"class.vl::collections::ArrayBase.base.416" = type { %"class.vl::collections::ListStore.414", ptr, i64 }
%"class.vl::collections::ListStore.414" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.415" = type { %"class.vl::Interface" }
%"class.vl::collections::List.419" = type { %"class.vl::collections::ListBase.base.425", %"class.vl::collections::IEnumerable.423" }
%"class.vl::collections::ListBase.base.425" = type <{ %"class.vl::collections::ArrayBase.base.424", i64, i8 }>
%"class.vl::collections::ArrayBase.base.424" = type { %"class.vl::collections::ListStore.422", ptr, i64 }
%"class.vl::collections::ListStore.422" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.423" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.427" = type { %"class.vl::Object", %"class.vl::collections::SortedList.428", %"class.vl::collections::List.436", %"class.vl::collections::IEnumerable.444" }
%"class.vl::collections::SortedList.428" = type { %"class.vl::collections::ListBase.base.434", %"class.vl::collections::IEnumerable.432" }
%"class.vl::collections::ListBase.base.434" = type <{ %"class.vl::collections::ArrayBase.base.433", i64, i8 }>
%"class.vl::collections::ArrayBase.base.433" = type { %"class.vl::collections::ListStore.431", ptr, i64 }
%"class.vl::collections::ListStore.431" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.432" = type { %"class.vl::Interface" }
%"class.vl::collections::List.436" = type { %"class.vl::collections::ListBase.base.442", %"class.vl::collections::IEnumerable.440" }
%"class.vl::collections::ListBase.base.442" = type <{ %"class.vl::collections::ArrayBase.base.441", i64, i8 }>
%"class.vl::collections::ArrayBase.base.441" = type { %"class.vl::collections::ListStore.439", ptr, i64 }
%"class.vl::collections::ListStore.439" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.440" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.444" = type { %"class.vl::Interface" }
%"class.vl::parsing::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::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::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::tabling::ParsingTable::TransitionItem" = type { i64, i64, %"class.vl::collections::List.182", %"class.vl::collections::List.116", %"class.vl::collections::List.190" }
%"class.vl::collections::List.182" = type { %"class.vl::collections::ListBase.base.188", %"class.vl::collections::IEnumerable.186" }
%"class.vl::collections::ListBase.base.188" = type <{ %"class.vl::collections::ArrayBase.base.187", i64, i8 }>
%"class.vl::collections::ArrayBase.base.187" = type { %"class.vl::collections::ListStore.185", ptr, i64 }
%"class.vl::collections::ListStore.185" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.186" = type { %"class.vl::Interface" }
%"class.vl::collections::List.190" = type { %"class.vl::collections::ListBase.base.196", %"class.vl::collections::IEnumerable.194" }
%"class.vl::collections::ListBase.base.196" = type <{ %"class.vl::collections::ArrayBase.base.195", i64, i8 }>
%"class.vl::collections::ArrayBase.base.195" = type { %"class.vl::collections::ListStore.193", ptr, i64 }
%"class.vl::collections::ListStore.193" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.194" = type { %"class.vl::Interface" }
%"class.vl::parsing::tabling::ParsingTable::TransitionBag" = type { %"class.vl::collections::List.543" }
%"class.vl::collections::List.543" = type { %"class.vl::collections::ListBase.base.549", %"class.vl::collections::IEnumerable.547" }
%"class.vl::collections::ListBase.base.549" = type <{ %"class.vl::collections::ArrayBase.base.548", i64, i8 }>
%"class.vl::collections::ArrayBase.base.548" = type { %"class.vl::collections::ListStore.546", ptr, i64 }
%"class.vl::collections::ListStore.546" = type { %"class.vl::Object" }
%"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: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN2vl11collections4ListIllE3AddERKl(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 @_ZN2vl7parsing7tabling12ParsingTable13GetTokenCountEv(ptr noundef nonnull align 8 dereferenceable(656)) #2 align 2

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorStringEv(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef nonnull align 8 dereferenceable(304)) #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK2vl11collections10SortedListIPNS_7parsing9analyzing13ParsingSymbolES5_E7IndexOfERKS5_(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 ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager12CacheGetTypeEPNS0_11definitions21ParsingDefinitionTypeEPNS1_13ParsingSymbolE(ptr noundef nonnull align 8 dereferenceable(632), ptr noundef, ptr noundef) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing15GetTypeFullNameEPNS1_13ParsingSymbolE(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef) #3

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing11definitions12TypeToStringEPNS1_21ParsingDefinitionTypeE(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef) #3

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing31GetTypeNameForCreateInstructionEPNS1_13ParsingSymbolE(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef) #3

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing19CreateAttributeInfoERNS_11collections4ListINS_3PtrINS0_11definitions26ParsingDefinitionAttributeEEEPS6_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.477") align 8, ptr noundef nonnull align 8 dereferenceable(33)) #3

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN2vl7parsing9analyzing20GenerateTableFromPDAENS_3PtrINS0_11definitions17ParsingDefinitionEEEPNS1_20ParsingSymbolManagerENS2_INS1_9AutomatonEEEbRNS_11collections4ListINS2_INS0_12ParsingErrorEEEPSC_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.61") align 8 %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i1 noundef zeroext %4, ptr noundef nonnull align 8 dereferenceable(33) %5) #3 personality ptr @__gxx_personality_v0 {
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca i8, align 1
  %12 = alloca ptr, align 8
  %13 = alloca %"class.vl::collections::List.491", align 8
  %14 = alloca %"class.vl::collections::List.212", align 8
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca %"class.vl::collections::Dictionary", align 8
  %18 = alloca %"class.vl::collections::Dictionary.125", align 8
  %19 = alloca %"class.vl::collections::Dictionary.495", align 8
  %20 = alloca i8, align 1
  %21 = alloca ptr, align 8
  %22 = alloca %"class.vl::collections::EnumerableForEachIterator.506", align 8
  %23 = alloca i32, align 4
  %24 = alloca ptr, align 8
  %25 = alloca %"class.vl::Ptr.477", align 8
  %26 = alloca ptr, align 8
  %27 = alloca ptr, align 8
  %28 = alloca %"class.vl::Ptr.477", align 8
  %29 = alloca %"class.vl::Ptr.509", align 8
  %30 = alloca i64, align 8
  %31 = alloca %"class.vl::ObjectString", align 8
  %32 = alloca i64, align 8
  %33 = alloca %"class.vl::ObjectString", align 8
  %34 = alloca i64, align 8
  %35 = alloca i64, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca %"class.vl::collections::List.116", align 8
  %40 = alloca i8, align 1
  %41 = alloca ptr, align 8
  %42 = alloca %"class.vl::collections::EnumerableForEachIterator.510", align 8
  %43 = alloca i8, align 1
  %44 = alloca i64, align 8
  %45 = alloca %"class.vl::Ptr.513", align 8
  %46 = alloca i64, align 8
  %47 = alloca %"class.vl::Ptr.477", align 8
  %48 = alloca i64, align 8
  %49 = alloca i8, align 1
  %50 = alloca ptr, align 8
  %51 = alloca %"class.vl::collections::EnumerableForEachIterator.506", align 8
  %52 = alloca ptr, align 8
  %53 = alloca %"class.vl::ObjectString", align 8
  %54 = alloca i8, align 1
  %55 = alloca ptr, align 8
  %56 = alloca %"class.vl::collections::EnumerableForEachIterator.510", align 8
  %57 = alloca i8, align 1
  %58 = alloca i64, align 8
  %59 = alloca %"class.vl::Ptr.513", align 8
  %60 = alloca %"class.vl::collections::Pair.514", align 8
  %61 = alloca i64, align 8
  %62 = alloca i64, align 8
  %63 = alloca %"class.vl::collections::Dictionary.515", align 8
  %64 = alloca %"class.vl::collections::List", align 8
  %65 = alloca %"class.vl::collections::Dictionary", align 8
  %66 = alloca %"class.vl::collections::Dictionary", align 8
  %67 = alloca i8, align 1
  %68 = alloca ptr, align 8
  %69 = alloca %"class.vl::collections::EnumerableForEachIterator.317", align 8
  %70 = alloca %"class.vl::Ptr.320", align 8
  %71 = alloca i64, align 8
  %72 = alloca %"class.vl::Ptr.477", align 8
  %73 = alloca i64, align 8
  %74 = alloca ptr, align 8
  %75 = alloca i64, align 8
  %76 = alloca i8, align 1
  %77 = alloca ptr, align 8
  %78 = alloca %"class.vl::collections::EnumerableForEachIterator.322", align 8
  %79 = alloca %"class.vl::Ptr.325", align 8
  %80 = alloca i64, align 8
  %81 = alloca %"class.vl::Ptr.477", align 8
  %82 = alloca i64, align 8
  %83 = alloca %"class.vl::collections::List.403", align 8
  %84 = alloca i64, align 8
  %85 = alloca i64, align 8
  %86 = alloca %"class.vl::collections::List.403", align 8
  %87 = alloca i8, align 1
  %88 = alloca ptr, align 8
  %89 = alloca %"class.vl::collections::EnumerableForEachIterator.518", align 8
  %90 = alloca %"class.vl::Ptr.447", align 8
  %91 = alloca ptr, align 8
  %92 = alloca i8, align 1
  %93 = alloca ptr, align 8
  %94 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %95 = alloca ptr, align 8
  %96 = alloca i8, align 1
  %97 = alloca ptr, align 8
  %98 = alloca %"class.vl::collections::EnumerableForEachIterator.521", align 8
  %99 = alloca %"class.vl::Ptr.446", align 8
  %100 = alloca ptr, align 8
  %101 = alloca ptr, align 8
  %102 = alloca i64, align 8
  %103 = alloca i1, align 1
  %104 = alloca i8, align 1
  %105 = alloca ptr, align 8
  %106 = alloca %"class.vl::collections::EnumerableForEachIterator.524", align 8
  %107 = alloca i8, align 1
  %108 = alloca i64, align 8
  %109 = alloca %"class.vl::Ptr.477", align 8
  %110 = alloca %"class.vl::Ptr.477", align 8
  %111 = alloca i8, align 1
  %112 = alloca ptr, align 8
  %113 = alloca %"class.vl::collections::EnumerableForEachIterator.527", align 8
  %114 = alloca i8, align 1
  %115 = alloca i64, align 8
  %116 = alloca %"class.vl::collections::Pair.530", align 8
  %117 = alloca %"class.vl::parsing::tabling::ParsingTable::TreeTypeInfo", align 8
  %118 = alloca i8, align 1
  %119 = alloca ptr, align 8
  %120 = alloca %"class.vl::collections::EnumerableForEachIterator.531", align 8
  %121 = alloca i8, align 1
  %122 = alloca i64, align 8
  %123 = alloca %"class.vl::collections::Pair.534", align 8
  %124 = alloca %"class.vl::parsing::tabling::ParsingTable::TreeFieldInfo", align 8
  %125 = alloca i8, align 1
  %126 = alloca ptr, align 8
  %127 = alloca %"class.vl::collections::EnumerableForEachIterator.506", align 8
  %128 = alloca ptr, align 8
  %129 = alloca %"class.vl::parsing::tabling::ParsingTable::TokenInfo", align 8
  %130 = alloca %"class.vl::ObjectString", align 8
  %131 = alloca i64, align 8
  %132 = alloca i8, align 1
  %133 = alloca ptr, align 8
  %134 = alloca %"class.vl::collections::EnumerableForEachIterator", align 8
  %135 = alloca i8, align 1
  %136 = alloca i64, align 8
  %137 = alloca %"class.vl::ObjectString", align 8
  %138 = alloca ptr, align 8
  %139 = alloca %"class.vl::parsing::tabling::ParsingTable::TokenInfo", align 8
  %140 = alloca %"class.vl::ObjectString", align 8
  %141 = alloca i8, align 1
  %142 = alloca ptr, align 8
  %143 = alloca %"class.vl::collections::EnumerableForEachIterator.535", align 8
  %144 = alloca i8, align 1
  %145 = alloca i64, align 8
  %146 = alloca ptr, align 8
  %147 = alloca %"class.vl::Ptr.447", align 8
  %148 = alloca %"class.vl::parsing::tabling::ParsingTable::RuleInfo", align 8
  %149 = alloca %"class.vl::ObjectString", align 8
  %150 = alloca %"class.vl::Ptr.538", align 8
  %151 = alloca ptr, align 8
  %152 = alloca ptr, align 8
  %153 = alloca ptr, align 8
  %154 = alloca ptr, align 8
  %155 = alloca %"class.vl::ObjectString", align 8
  %156 = alloca i8, align 1
  %157 = alloca ptr, align 8
  %158 = alloca %"class.vl::collections::EnumerableForEachIterator.539", align 8
  %159 = alloca i8, align 1
  %160 = alloca i64, align 8
  %161 = alloca ptr, align 8
  %162 = alloca %"class.vl::parsing::tabling::ParsingTable::StateInfo", align 8
  %163 = alloca i8, align 1
  %164 = alloca ptr, align 8
  %165 = alloca %"class.vl::collections::EnumerableForEachIterator.539", align 8
  %166 = alloca i8, align 1
  %167 = alloca i64, align 8
  %168 = alloca ptr, align 8
  %169 = alloca i8, align 1
  %170 = alloca ptr, align 8
  %171 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %172 = alloca ptr, align 8
  %173 = alloca i64, align 8
  %174 = alloca %"class.vl::Ptr.542", align 8
  %175 = alloca %"class.vl::Ptr.542", align 8
  %176 = alloca %"class.vl::Ptr.473", align 8
  %177 = alloca i8, align 1
  %178 = alloca ptr, align 8
  %179 = alloca %"class.vl::collections::EnumerableForEachIterator.551", align 8
  %180 = alloca %"class.vl::Ptr.394", align 8
  %181 = alloca %"class.vl::parsing::tabling::ParsingTable::Instruction", align 8
  %182 = alloca %"class.vl::ObjectString", align 8
  %183 = alloca i64, align 8
  %184 = alloca i64, align 8
  %185 = alloca %"class.vl::Ptr.542", align 8
  %186 = alloca %"class.vl::collections::LazyList.554", align 8
  %187 = alloca %"class.vl::collections::LazyList.554", align 8
  %188 = alloca i64, align 8
  %189 = alloca i64, align 8
  %190 = alloca %"class.vl::Ptr.473", align 8
  %191 = alloca %"class.vl::Ptr.473", align 8
  %192 = alloca %"class.vl::Ptr.61", align 8
  %193 = alloca %"class.vl::Ptr.473", align 8
  %194 = alloca %"class.vl::Ptr.473", align 8
  %195 = alloca i64, align 8
  %196 = alloca %"class.vl::Ptr.542", align 8
  %197 = alloca i64, align 8
  %198 = alloca i64, align 8
  %199 = alloca %"class.vl::Ptr.473", align 8
  %200 = alloca %"class.vl::Ptr.473", align 8
  %201 = alloca %"class.vl::Ptr.61", align 8
  %202 = alloca %"class.vl::Ptr.473", align 8
  %203 = alloca %"class.vl::Ptr.473", align 8
  store ptr %0, ptr %7, align 8
  store ptr %1, ptr %8, align 8, !tbaa !5
  store ptr %2, ptr %9, align 8, !tbaa !5
  store ptr %3, ptr %10, align 8, !tbaa !5
  %204 = zext i1 %4 to i8
  store i8 %204, ptr %11, align 1, !tbaa !9
  store ptr %5, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 48, ptr %13) #7
  call void @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %13)
  call void @llvm.lifetime.start.p0(i64 48, ptr %14) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %14)
          to label %205 unwind label %224

205:                                              ; preds = %6
  call void @llvm.lifetime.start.p0(i64 112, ptr %17) #7
  invoke void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %17)
          to label %206 unwind label %228

206:                                              ; preds = %205
  call void @llvm.lifetime.start.p0(i64 112, ptr %18) #7
  invoke void @_ZN2vl11collections10DictionaryINS0_4PairINS_12ObjectStringIwEES4_EElS5_lEC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %18)
          to label %207 unwind label %232

207:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 112, ptr %19) #7
  invoke void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_EC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %19)
          to label %208 unwind label %236

208:                                              ; preds = %207
  %209 = load ptr, ptr %9, align 8, !tbaa !5
  %210 = call noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager9GetGlobalEv(ptr noundef nonnull align 8 dereferenceable(632) %209)
  invoke void @_ZN2vl7parsing9analyzing11CollectTypeEPNS1_13ParsingSymbolERNS_11collections4ListIS3_S3_EE(ptr noundef %210, ptr noundef nonnull align 8 dereferenceable(33) %14)
          to label %211 unwind label %240

211:                                              ; preds = %208
  call void @llvm.lifetime.start.p0(i64 1, ptr %20) #7
  store i8 1, ptr %20, align 1, !tbaa !9
  %212 = load i8, ptr %20, align 1, !tbaa !9, !range !11, !noundef !12
  %213 = trunc i8 %212 to i1
  br i1 %213, label %214, label %391

214:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %22) #7
  %215 = load ptr, ptr %14, align 8, !tbaa !13
  %216 = getelementptr i8, ptr %215, i64 -24
  %217 = load i64, ptr %216, align 8
  %218 = getelementptr inbounds i8, ptr %14, i64 %217
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.506") align 8 %22, ptr noundef nonnull align 8 dereferenceable(8) %218)
          to label %219 unwind label %244

219:                                              ; preds = %214
  store ptr %22, ptr %21, align 8, !tbaa !5
  br label %220

220:                                              ; preds = %388, %219
  %221 = load i8, ptr %20, align 1, !tbaa !9, !range !11, !noundef !12
  %222 = trunc i8 %221 to i1
  br i1 %222, label %248, label %223

223:                                              ; preds = %220
  store i32 2, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  br label %390

224:                                              ; preds = %6
  %225 = landingpad { ptr, i32 }
          cleanup
  %226 = extractvalue { ptr, i32 } %225, 0
  store ptr %226, ptr %15, align 8
  %227 = extractvalue { ptr, i32 } %225, 1
  store i32 %227, ptr %16, align 4
  br label %2493

228:                                              ; preds = %205
  %229 = landingpad { ptr, i32 }
          cleanup
  %230 = extractvalue { ptr, i32 } %229, 0
  store ptr %230, ptr %15, align 8
  %231 = extractvalue { ptr, i32 } %229, 1
  store i32 %231, ptr %16, align 4
  br label %2492

232:                                              ; preds = %206
  %233 = landingpad { ptr, i32 }
          cleanup
  %234 = extractvalue { ptr, i32 } %233, 0
  store ptr %234, ptr %15, align 8
  %235 = extractvalue { ptr, i32 } %233, 1
  store i32 %235, ptr %16, align 4
  br label %2491

236:                                              ; preds = %207
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %15, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %16, align 4
  br label %2490

240:                                              ; preds = %208
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %15, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %16, align 4
  br label %2489

244:                                              ; preds = %214
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %15, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %16, align 4
  br label %389

248:                                              ; preds = %220
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #7
  br label %249

249:                                              ; preds = %383, %248
  %250 = load ptr, ptr %21, align 8, !tbaa !5
  %251 = load ptr, ptr %250, align 8, !tbaa !13
  %252 = getelementptr inbounds ptr, ptr %251, i64 2
  %253 = load ptr, ptr %252, align 8
  %254 = invoke noundef zeroext i1 %253(ptr noundef nonnull align 8 dereferenceable(8) %250, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %255 unwind label %257

255:                                              ; preds = %249
  br i1 %254, label %261, label %256

256:                                              ; preds = %255
  store i32 5, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  br label %387

257:                                              ; preds = %249
  %258 = landingpad { ptr, i32 }
          cleanup
  %259 = extractvalue { ptr, i32 } %258, 0
  store ptr %259, ptr %15, align 8
  %260 = extractvalue { ptr, i32 } %258, 1
  store i32 %260, ptr %16, align 4
  br label %386

261:                                              ; preds = %255
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #7
  %262 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 56) #8
          to label %263 unwind label %294

263:                                              ; preds = %261
  invoke void @_ZN2vl7parsing7tabling12ParsingTable17AttributeInfoListC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %262)
          to label %264 unwind label %298

264:                                              ; preds = %263
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEC2EPS4_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef %262)
          to label %265 unwind label %294

265:                                              ; preds = %264
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #7
  %266 = load ptr, ptr %24, align 8, !tbaa !5
  store ptr %266, ptr %26, align 8, !tbaa !5
  br label %267

267:                                              ; preds = %334, %265
  %268 = load ptr, ptr %26, align 8, !tbaa !5
  %269 = icmp ne ptr %268, null
  br i1 %269, label %270, label %340

270:                                              ; preds = %267
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #7
  %271 = load ptr, ptr %9, align 8, !tbaa !5
  %272 = load ptr, ptr %26, align 8, !tbaa !5
  %273 = invoke noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager23CacheGetClassDefinitionEPNS1_13ParsingSymbolE(ptr noundef nonnull align 8 dereferenceable(632) %271, ptr noundef %272)
          to label %274 unwind label %302

274:                                              ; preds = %270
  store ptr %273, ptr %27, align 8, !tbaa !5
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %275 unwind label %302

275:                                              ; preds = %274
  %276 = load ptr, ptr %27, align 8, !tbaa !5
  %277 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionBase", ptr %276, i32 0, i32 1
  invoke void @_ZN2vl7parsing9analyzing20CollectAttributeInfoENS_3PtrINS0_7tabling12ParsingTable17AttributeInfoListEEERNS_11collections4ListINS2_INS0_11definitions26ParsingDefinitionAttributeEEEPSA_EE(ptr noundef %28, ptr noundef nonnull align 8 dereferenceable(33) %277)
          to label %278 unwind label %306

278:                                              ; preds = %275
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #7
  invoke void @_ZN2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %279 unwind label %310

279:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #7
  %280 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %19)
          to label %281 unwind label %314

281:                                              ; preds = %279
  %282 = invoke noundef i64 @_ZNK2vl11collections10SortedListIPNS_7parsing9analyzing13ParsingSymbolES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %280, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %283 unwind label %314

283:                                              ; preds = %281
  store i64 %282, ptr %30, align 8, !tbaa !15
  %284 = load i64, ptr %30, align 8, !tbaa !15
  %285 = icmp eq i64 %284, -1
  br i1 %285, label %286, label %322

286:                                              ; preds = %283
  %287 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 48) #8
          to label %288 unwind label %314

288:                                              ; preds = %286
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %287)
          to label %289 unwind label %318

289:                                              ; preds = %288
  %290 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEEaSEPS7_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef %287)
          to label %291 unwind label %314

291:                                              ; preds = %289
  %292 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E3AddERKS5_RKS9_(ptr noundef nonnull align 8 dereferenceable(104) %19, ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %293 unwind label %314

293:                                              ; preds = %291
  br label %330

294:                                              ; preds = %264, %261
  %295 = landingpad { ptr, i32 }
          cleanup
  %296 = extractvalue { ptr, i32 } %295, 0
  store ptr %296, ptr %15, align 8
  %297 = extractvalue { ptr, i32 } %295, 1
  store i32 %297, ptr %16, align 4
  br label %385

298:                                              ; preds = %263
  %299 = landingpad { ptr, i32 }
          cleanup
  %300 = extractvalue { ptr, i32 } %299, 0
  store ptr %300, ptr %15, align 8
  %301 = extractvalue { ptr, i32 } %299, 1
  store i32 %301, ptr %16, align 4
  call void @_ZdlPvm(ptr noundef %262, i64 noundef 56) #9
  br label %385

302:                                              ; preds = %274, %270
  %303 = landingpad { ptr, i32 }
          cleanup
  %304 = extractvalue { ptr, i32 } %303, 0
  store ptr %304, ptr %15, align 8
  %305 = extractvalue { ptr, i32 } %303, 1
  store i32 %305, ptr %16, align 4
  br label %339

306:                                              ; preds = %275
  %307 = landingpad { ptr, i32 }
          cleanup
  %308 = extractvalue { ptr, i32 } %307, 0
  store ptr %308, ptr %15, align 8
  %309 = extractvalue { ptr, i32 } %307, 1
  store i32 %309, ptr %16, align 4
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %339

310:                                              ; preds = %278
  %311 = landingpad { ptr, i32 }
          cleanup
  %312 = extractvalue { ptr, i32 } %311, 0
  store ptr %312, ptr %15, align 8
  %313 = extractvalue { ptr, i32 } %311, 1
  store i32 %313, ptr %16, align 4
  br label %338

314:                                              ; preds = %332, %330, %327, %324, %322, %291, %289, %286, %281, %279
  %315 = landingpad { ptr, i32 }
          cleanup
  %316 = extractvalue { ptr, i32 } %315, 0
  store ptr %316, ptr %15, align 8
  %317 = extractvalue { ptr, i32 } %315, 1
  store i32 %317, ptr %16, align 4
  br label %337

318:                                              ; preds = %288
  %319 = landingpad { ptr, i32 }
          cleanup
  %320 = extractvalue { ptr, i32 } %319, 0
  store ptr %320, ptr %15, align 8
  %321 = extractvalue { ptr, i32 } %319, 1
  store i32 %321, ptr %16, align 4
  call void @_ZdlPvm(ptr noundef %287, i64 noundef 48) #9
  br label %337

322:                                              ; preds = %283
  %323 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %19)
          to label %324 unwind label %314

324:                                              ; preds = %322
  %325 = load i64, ptr %30, align 8, !tbaa !15
  %326 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections9ArrayBaseINS_3PtrINS0_4ListIPNS_7parsing9analyzing13ParsingSymbolES7_EEEEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %323, i64 noundef %325)
          to label %327 unwind label %314

327:                                              ; preds = %324
  %328 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEEaSERKS8_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %326)
          to label %329 unwind label %314

329:                                              ; preds = %327
  br label %330

330:                                              ; preds = %329, %293
  %331 = invoke noundef ptr @_ZNK2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %332 unwind label %314

332:                                              ; preds = %330
  %333 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %331, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %334 unwind label %314

334:                                              ; preds = %332
  %335 = load ptr, ptr %26, align 8, !tbaa !5
  %336 = call noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorSymbolEv(ptr noundef nonnull align 8 dereferenceable(304) %335)
  store ptr %336, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  call void @_ZN2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  br label %267, !llvm.loop !17

337:                                              ; preds = %318, %314
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #7
  call void @_ZN2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %338

338:                                              ; preds = %337, %310
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #7
  br label %339

339:                                              ; preds = %338, %306, %302
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  br label %384

340:                                              ; preds = %267
  %341 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %342 unwind label %356

342:                                              ; preds = %340
  %343 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::AttributeInfoList", ptr %341, i32 0, i32 1
  %344 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable13AttributeInfoEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %343)
          to label %345 unwind label %356

345:                                              ; preds = %342
  %346 = icmp sgt i64 %344, 0
  br i1 %346, label %347, label %369

347:                                              ; preds = %345
  call void @llvm.lifetime.start.p0(i64 48, ptr %31) #7
  %348 = load ptr, ptr %24, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing15GetTypeFullNameEPNS1_13ParsingSymbolE(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %31, ptr noundef %348)
          to label %349 unwind label %360

349:                                              ; preds = %347
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #7
  %350 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %351 unwind label %364

351:                                              ; preds = %349
  store i64 %350, ptr %32, align 8, !tbaa !15
  %352 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %17, ptr noundef nonnull align 8 dereferenceable(48) %31, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %353 unwind label %364

353:                                              ; preds = %351
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %31) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %31) #7
  %354 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %13, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %355 unwind label %356

355:                                              ; preds = %353
  br label %383

356:                                              ; preds = %353, %342, %340
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %15, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %16, align 4
  br label %384

360:                                              ; preds = %347
  %361 = landingpad { ptr, i32 }
          cleanup
  %362 = extractvalue { ptr, i32 } %361, 0
  store ptr %362, ptr %15, align 8
  %363 = extractvalue { ptr, i32 } %361, 1
  store i32 %363, ptr %16, align 4
  br label %368

364:                                              ; preds = %351, %349
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %15, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %31) #7
  br label %368

368:                                              ; preds = %364, %360
  call void @llvm.lifetime.end.p0(i64 48, ptr %31) #7
  br label %384

369:                                              ; preds = %345
  call void @llvm.lifetime.start.p0(i64 48, ptr %33) #7
  %370 = load ptr, ptr %24, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing15GetTypeFullNameEPNS1_13ParsingSymbolE(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %33, ptr noundef %370)
          to label %371 unwind label %374

371:                                              ; preds = %369
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #7
  store i64 -1, ptr %34, align 8, !tbaa !15
  %372 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %17, ptr noundef nonnull align 8 dereferenceable(48) %33, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %373 unwind label %378

373:                                              ; preds = %371
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %33) #7
  br label %383

374:                                              ; preds = %369
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %15, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %16, align 4
  br label %382

378:                                              ; preds = %371
  %379 = landingpad { ptr, i32 }
          cleanup
  %380 = extractvalue { ptr, i32 } %379, 0
  store ptr %380, ptr %15, align 8
  %381 = extractvalue { ptr, i32 } %379, 1
  store i32 %381, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %33) #7
  br label %382

382:                                              ; preds = %378, %374
  call void @llvm.lifetime.end.p0(i64 48, ptr %33) #7
  br label %384

383:                                              ; preds = %373, %355
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #7
  br label %249, !llvm.loop !19

384:                                              ; preds = %382, %368, %356, %339
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %385

385:                                              ; preds = %384, %298, %294
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #7
  br label %386

386:                                              ; preds = %385, %257
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %22) #7
  br label %389

387:                                              ; preds = %256
  br label %388

388:                                              ; preds = %387
  store i8 0, ptr %20, align 1, !tbaa !9
  br label %220, !llvm.loop !20

389:                                              ; preds = %386, %244
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #7
  br label %2489

390:                                              ; preds = %223
  br label %391

391:                                              ; preds = %390, %211
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #7
  store i64 0, ptr %35, align 8, !tbaa !15
  br label %392

392:                                              ; preds = %653, %391
  %393 = load i64, ptr %35, align 8, !tbaa !15
  %394 = invoke noundef i64 @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %19)
          to label %395 unwind label %398

395:                                              ; preds = %392
  %396 = icmp slt i64 %393, %394
  br i1 %396, label %402, label %397

397:                                              ; preds = %395
  store i32 9, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  br label %662

398:                                              ; preds = %392
  %399 = landingpad { ptr, i32 }
          cleanup
  %400 = extractvalue { ptr, i32 } %399, 0
  store ptr %400, ptr %15, align 8
  %401 = extractvalue { ptr, i32 } %399, 1
  store i32 %401, ptr %16, align 4
  br label %661

402:                                              ; preds = %395
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #7
  %403 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %19)
          to label %404 unwind label %435

404:                                              ; preds = %402
  %405 = load i64, ptr %35, align 8, !tbaa !15
  %406 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing13ParsingSymbolEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %403, i64 noundef %405)
          to label %407 unwind label %435

407:                                              ; preds = %404
  %408 = load ptr, ptr %406, align 8, !tbaa !5
  store ptr %408, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  %409 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %19)
          to label %410 unwind label %439

410:                                              ; preds = %407
  %411 = load i64, ptr %35, align 8, !tbaa !15
  %412 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections9ArrayBaseINS_3PtrINS0_4ListIPNS_7parsing9analyzing13ParsingSymbolES7_EEEEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %409, i64 noundef %411)
          to label %413 unwind label %439

413:                                              ; preds = %410
  %414 = invoke noundef ptr @_ZNK2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %412)
          to label %415 unwind label %439

415:                                              ; preds = %413
  store ptr %414, ptr %37, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #7
  %416 = load ptr, ptr %9, align 8, !tbaa !5
  %417 = load ptr, ptr %36, align 8, !tbaa !5
  %418 = invoke noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager23CacheGetClassDefinitionEPNS1_13ParsingSymbolE(ptr noundef nonnull align 8 dereferenceable(632) %416, ptr noundef %417)
          to label %419 unwind label %443

419:                                              ; preds = %415
  store ptr %418, ptr %38, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 48, ptr %39) #7
  invoke void @_ZN2vl11collections4ListIllEC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %39)
          to label %420 unwind label %447

420:                                              ; preds = %419
  call void @llvm.lifetime.start.p0(i64 1, ptr %40) #7
  store i8 1, ptr %40, align 1, !tbaa !9
  %421 = load i8, ptr %40, align 1, !tbaa !9, !range !11, !noundef !12
  %422 = trunc i8 %421 to i1
  br i1 %422, label %423, label %532

423:                                              ; preds = %420
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %42) #7
  %424 = load ptr, ptr %38, align 8, !tbaa !5
  %425 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionClassDefinition", ptr %424, i32 0, i32 3
  %426 = load ptr, ptr %425, align 8, !tbaa !13
  %427 = getelementptr i8, ptr %426, i64 -24
  %428 = load i64, ptr %427, align 8
  %429 = getelementptr inbounds i8, ptr %425, i64 %428
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.510") align 8 %42, ptr noundef nonnull align 8 dereferenceable(8) %429)
          to label %430 unwind label %451

430:                                              ; preds = %423
  store ptr %42, ptr %41, align 8, !tbaa !5
  br label %431

431:                                              ; preds = %529, %430
  %432 = load i8, ptr %40, align 1, !tbaa !9, !range !11, !noundef !12
  %433 = trunc i8 %432 to i1
  br i1 %433, label %455, label %434

434:                                              ; preds = %431
  store i32 12, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  br label %531

435:                                              ; preds = %404, %402
  %436 = landingpad { ptr, i32 }
          cleanup
  %437 = extractvalue { ptr, i32 } %436, 0
  store ptr %437, ptr %15, align 8
  %438 = extractvalue { ptr, i32 } %436, 1
  store i32 %438, ptr %16, align 4
  br label %660

439:                                              ; preds = %413, %410, %407
  %440 = landingpad { ptr, i32 }
          cleanup
  %441 = extractvalue { ptr, i32 } %440, 0
  store ptr %441, ptr %15, align 8
  %442 = extractvalue { ptr, i32 } %440, 1
  store i32 %442, ptr %16, align 4
  br label %659

443:                                              ; preds = %415
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %15, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %16, align 4
  br label %658

447:                                              ; preds = %419
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %15, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, ptr %16, align 4
  br label %657

451:                                              ; preds = %423
  %452 = landingpad { ptr, i32 }
          cleanup
  %453 = extractvalue { ptr, i32 } %452, 0
  store ptr %453, ptr %15, align 8
  %454 = extractvalue { ptr, i32 } %452, 1
  store i32 %454, ptr %16, align 4
  br label %530

455:                                              ; preds = %431
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #7
  store i8 1, ptr %43, align 1, !tbaa !9
  %456 = load i8, ptr %43, align 1, !tbaa !9, !range !11, !noundef !12
  %457 = trunc i8 %456 to i1
  br i1 %457, label %458, label %528

458:                                              ; preds = %455
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #7
  store i64 0, ptr %44, align 8, !tbaa !15
  br label %459

459:                                              ; preds = %526, %458
  %460 = load i8, ptr %43, align 1, !tbaa !9, !range !11, !noundef !12
  %461 = trunc i8 %460 to i1
  br i1 %461, label %463, label %462

462:                                              ; preds = %459
  store i32 15, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  br label %527

463:                                              ; preds = %459
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #7
  invoke void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %464 unwind label %473

464:                                              ; preds = %463
  br label %465

465:                                              ; preds = %520, %464
  %466 = load ptr, ptr %41, align 8, !tbaa !5
  %467 = load ptr, ptr %466, align 8, !tbaa !13
  %468 = getelementptr inbounds ptr, ptr %467, i64 2
  %469 = load ptr, ptr %468, align 8
  %470 = invoke noundef zeroext i1 %469(ptr noundef nonnull align 8 dereferenceable(8) %466, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %471 unwind label %477

471:                                              ; preds = %465
  br i1 %470, label %481, label %472

472:                                              ; preds = %471
  store i32 18, ptr %23, align 4
  call void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #7
  br label %525

473:                                              ; preds = %463
  %474 = landingpad { ptr, i32 }
          cleanup
  %475 = extractvalue { ptr, i32 } %474, 0
  store ptr %475, ptr %15, align 8
  %476 = extractvalue { ptr, i32 } %474, 1
  store i32 %476, ptr %16, align 4
  br label %524

477:                                              ; preds = %483, %481, %465
  %478 = landingpad { ptr, i32 }
          cleanup
  %479 = extractvalue { ptr, i32 } %478, 0
  store ptr %479, ptr %15, align 8
  %480 = extractvalue { ptr, i32 } %478, 1
  store i32 %480, ptr %16, align 4
  br label %523

481:                                              ; preds = %471
  %482 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %483 unwind label %477

483:                                              ; preds = %481
  %484 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionBase", ptr %482, i32 0, i32 1
  %485 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %484)
          to label %486 unwind label %477

486:                                              ; preds = %483
  %487 = icmp sgt i64 %485, 0
  br i1 %487, label %488, label %512

488:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #7
  %489 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %490 unwind label %499

490:                                              ; preds = %488
  store i64 %489, ptr %46, align 8, !tbaa !15
  %491 = invoke noundef i64 @_ZN2vl11collections4ListIllE3AddERKl(ptr noundef nonnull align 8 dereferenceable(33) %39, ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %492 unwind label %499

492:                                              ; preds = %490
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #7
  %493 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %494 unwind label %503

494:                                              ; preds = %492
  %495 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionBase", ptr %493, i32 0, i32 1
  invoke void @_ZN2vl7parsing9analyzing19CreateAttributeInfoERNS_11collections4ListINS_3PtrINS0_11definitions26ParsingDefinitionAttributeEEEPS6_EE(ptr dead_on_unwind writable sret(%"class.vl::Ptr.477") align 8 %47, ptr noundef nonnull align 8 dereferenceable(33) %495)
          to label %496 unwind label %503

496:                                              ; preds = %494
  %497 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %13, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %498 unwind label %507

498:                                              ; preds = %496
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #7
  br label %519

499:                                              ; preds = %490, %488
  %500 = landingpad { ptr, i32 }
          cleanup
  %501 = extractvalue { ptr, i32 } %500, 0
  store ptr %501, ptr %15, align 8
  %502 = extractvalue { ptr, i32 } %500, 1
  store i32 %502, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  br label %523

503:                                              ; preds = %494, %492
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %15, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %16, align 4
  br label %511

507:                                              ; preds = %496
  %508 = landingpad { ptr, i32 }
          cleanup
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %15, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %16, align 4
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %511

511:                                              ; preds = %507, %503
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #7
  br label %523

512:                                              ; preds = %486
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #7
  store i64 -1, ptr %48, align 8, !tbaa !15
  %513 = invoke noundef i64 @_ZN2vl11collections4ListIllE3AddERKl(ptr noundef nonnull align 8 dereferenceable(33) %39, ptr noundef nonnull align 8 dereferenceable(8) %48)
          to label %514 unwind label %515

514:                                              ; preds = %512
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  br label %519

515:                                              ; preds = %512
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %15, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #7
  br label %523

519:                                              ; preds = %514, %498
  br label %520

520:                                              ; preds = %519
  %521 = load i64, ptr %44, align 8, !tbaa !15
  %522 = add nsw i64 %521, 1
  store i64 %522, ptr %44, align 8, !tbaa !15
  br label %465, !llvm.loop !21

523:                                              ; preds = %515, %511, %499, %477
  call void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %524

524:                                              ; preds = %523, %473
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %42) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %42) #7
  br label %530

525:                                              ; preds = %472
  br label %526

526:                                              ; preds = %525
  store i8 0, ptr %43, align 1, !tbaa !9
  br label %459, !llvm.loop !22

527:                                              ; preds = %462
  br label %528

528:                                              ; preds = %527, %455
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  br label %529

529:                                              ; preds = %528
  store i8 0, ptr %40, align 1, !tbaa !9
  br label %431, !llvm.loop !23

530:                                              ; preds = %524, %451
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #7
  br label %656

531:                                              ; preds = %434
  br label %532

532:                                              ; preds = %531, %420
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #7
  store i8 1, ptr %49, align 1, !tbaa !9
  %533 = load i8, ptr %49, align 1, !tbaa !9, !range !11, !noundef !12
  %534 = trunc i8 %533 to i1
  br i1 %534, label %535, label %652

535:                                              ; preds = %532
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %51) #7
  %536 = load ptr, ptr %37, align 8, !tbaa !5
  %537 = load ptr, ptr %536, align 8, !tbaa !13
  %538 = getelementptr i8, ptr %537, i64 -24
  %539 = load i64, ptr %538, align 8
  %540 = getelementptr inbounds i8, ptr %536, i64 %539
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.506") align 8 %51, ptr noundef nonnull align 8 dereferenceable(8) %540)
          to label %541 unwind label %546

541:                                              ; preds = %535
  store ptr %51, ptr %50, align 8, !tbaa !5
  br label %542

542:                                              ; preds = %649, %541
  %543 = load i8, ptr %49, align 1, !tbaa !9, !range !11, !noundef !12
  %544 = trunc i8 %543 to i1
  br i1 %544, label %550, label %545

545:                                              ; preds = %542
  store i32 21, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  br label %651

546:                                              ; preds = %535
  %547 = landingpad { ptr, i32 }
          cleanup
  %548 = extractvalue { ptr, i32 } %547, 0
  store ptr %548, ptr %15, align 8
  %549 = extractvalue { ptr, i32 } %547, 1
  store i32 %549, ptr %16, align 4
  br label %650

550:                                              ; preds = %542
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #7
  br label %551

551:                                              ; preds = %645, %550
  %552 = load ptr, ptr %50, align 8, !tbaa !5
  %553 = load ptr, ptr %552, align 8, !tbaa !13
  %554 = getelementptr inbounds ptr, ptr %553, i64 2
  %555 = load ptr, ptr %554, align 8
  %556 = invoke noundef zeroext i1 %555(ptr noundef nonnull align 8 dereferenceable(8) %552, ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %557 unwind label %559

557:                                              ; preds = %551
  br i1 %556, label %563, label %558

558:                                              ; preds = %557
  store i32 24, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  br label %648

559:                                              ; preds = %551
  %560 = landingpad { ptr, i32 }
          cleanup
  %561 = extractvalue { ptr, i32 } %560, 0
  store ptr %561, ptr %15, align 8
  %562 = extractvalue { ptr, i32 } %560, 1
  store i32 %562, ptr %16, align 4
  br label %647

563:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 48, ptr %53) #7
  %564 = load ptr, ptr %52, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing15GetTypeFullNameEPNS1_13ParsingSymbolE(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %53, ptr noundef %564)
          to label %565 unwind label %580

565:                                              ; preds = %563
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #7
  store i8 1, ptr %54, align 1, !tbaa !9
  %566 = load i8, ptr %54, align 1, !tbaa !9, !range !11, !noundef !12
  %567 = trunc i8 %566 to i1
  br i1 %567, label %568, label %645

568:                                              ; preds = %565
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %56) #7
  %569 = load ptr, ptr %38, align 8, !tbaa !5
  %570 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionClassDefinition", ptr %569, i32 0, i32 3
  %571 = load ptr, ptr %570, align 8, !tbaa !13
  %572 = getelementptr i8, ptr %571, i64 -24
  %573 = load i64, ptr %572, align 8
  %574 = getelementptr inbounds i8, ptr %570, i64 %573
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.510") align 8 %56, ptr noundef nonnull align 8 dereferenceable(8) %574)
          to label %575 unwind label %584

575:                                              ; preds = %568
  store ptr %56, ptr %55, align 8, !tbaa !5
  br label %576

576:                                              ; preds = %642, %575
  %577 = load i8, ptr %54, align 1, !tbaa !9, !range !11, !noundef !12
  %578 = trunc i8 %577 to i1
  br i1 %578, label %588, label %579

579:                                              ; preds = %576
  store i32 26, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %56) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #7
  br label %644

580:                                              ; preds = %563
  %581 = landingpad { ptr, i32 }
          cleanup
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %15, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %16, align 4
  br label %646

584:                                              ; preds = %568
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %15, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %16, align 4
  br label %643

588:                                              ; preds = %576
  call void @llvm.lifetime.start.p0(i64 1, ptr %57) #7
  store i8 1, ptr %57, align 1, !tbaa !9
  %589 = load i8, ptr %57, align 1, !tbaa !9, !range !11, !noundef !12
  %590 = trunc i8 %589 to i1
  br i1 %590, label %591, label %641

591:                                              ; preds = %588
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #7
  store i64 0, ptr %58, align 8, !tbaa !15
  br label %592

592:                                              ; preds = %639, %591
  %593 = load i8, ptr %57, align 1, !tbaa !9, !range !11, !noundef !12
  %594 = trunc i8 %593 to i1
  br i1 %594, label %596, label %595

595:                                              ; preds = %592
  store i32 29, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #7
  br label %640

596:                                              ; preds = %592
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #7
  invoke void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %597 unwind label %606

597:                                              ; preds = %596
  br label %598

598:                                              ; preds = %624, %597
  %599 = load ptr, ptr %55, align 8, !tbaa !5
  %600 = load ptr, ptr %599, align 8, !tbaa !13
  %601 = getelementptr inbounds ptr, ptr %600, i64 2
  %602 = load ptr, ptr %601, align 8
  %603 = invoke noundef zeroext i1 %602(ptr noundef nonnull align 8 dereferenceable(8) %599, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %604 unwind label %610

604:                                              ; preds = %598
  br i1 %603, label %614, label %605

605:                                              ; preds = %604
  store i32 32, ptr %23, align 4
  call void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #7
  br label %638

606:                                              ; preds = %596
  %607 = landingpad { ptr, i32 }
          cleanup
  %608 = extractvalue { ptr, i32 } %607, 0
  store ptr %608, ptr %15, align 8
  %609 = extractvalue { ptr, i32 } %607, 1
  store i32 %609, ptr %16, align 4
  br label %637

610:                                              ; preds = %598
  %611 = landingpad { ptr, i32 }
          cleanup
  %612 = extractvalue { ptr, i32 } %611, 0
  store ptr %612, ptr %15, align 8
  %613 = extractvalue { ptr, i32 } %611, 1
  store i32 %613, ptr %16, align 4
  br label %636

614:                                              ; preds = %604
  call void @llvm.lifetime.start.p0(i64 96, ptr %60) #7
  %615 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %616 unwind label %627

616:                                              ; preds = %614
  %617 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionTypeDefinition", ptr %615, i32 0, i32 1
  invoke void @_ZN2vl11collections4PairINS_12ObjectStringIwEES3_EC2ERKS3_S6_(ptr noundef nonnull align 8 dereferenceable(96) %60, ptr noundef nonnull align 8 dereferenceable(48) %53, ptr noundef nonnull align 8 dereferenceable(48) %617)
          to label %618 unwind label %627

618:                                              ; preds = %616
  %619 = load i64, ptr %58, align 8, !tbaa !15
  %620 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIllEixEl(ptr noundef nonnull align 8 dereferenceable(33) %39, i64 noundef %619)
          to label %621 unwind label %631

621:                                              ; preds = %618
  %622 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS0_4PairINS_12ObjectStringIwEES4_EElS5_lE3AddERKS5_RKl(ptr noundef nonnull align 8 dereferenceable(104) %18, ptr noundef nonnull align 8 dereferenceable(96) %60, ptr noundef nonnull align 8 dereferenceable(8) %620)
          to label %623 unwind label %631

623:                                              ; preds = %621
  call void @_ZN2vl11collections4PairINS_12ObjectStringIwEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(96) %60) #7
  call void @llvm.lifetime.end.p0(i64 96, ptr %60) #7
  br label %624

624:                                              ; preds = %623
  %625 = load i64, ptr %58, align 8, !tbaa !15
  %626 = add nsw i64 %625, 1
  store i64 %626, ptr %58, align 8, !tbaa !15
  br label %598, !llvm.loop !24

627:                                              ; preds = %616, %614
  %628 = landingpad { ptr, i32 }
          cleanup
  %629 = extractvalue { ptr, i32 } %628, 0
  store ptr %629, ptr %15, align 8
  %630 = extractvalue { ptr, i32 } %628, 1
  store i32 %630, ptr %16, align 4
  br label %635

631:                                              ; preds = %621, %618
  %632 = landingpad { ptr, i32 }
          cleanup
  %633 = extractvalue { ptr, i32 } %632, 0
  store ptr %633, ptr %15, align 8
  %634 = extractvalue { ptr, i32 } %632, 1
  store i32 %634, ptr %16, align 4
  call void @_ZN2vl11collections4PairINS_12ObjectStringIwEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(96) %60) #7
  br label %635

635:                                              ; preds = %631, %627
  call void @llvm.lifetime.end.p0(i64 96, ptr %60) #7
  br label %636

636:                                              ; preds = %635, %610
  call void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %637

637:                                              ; preds = %636, %606
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %56) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %56) #7
  br label %643

638:                                              ; preds = %605
  br label %639

639:                                              ; preds = %638
  store i8 0, ptr %57, align 1, !tbaa !9
  br label %592, !llvm.loop !25

640:                                              ; preds = %595
  br label %641

641:                                              ; preds = %640, %588
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #7
  br label %642

642:                                              ; preds = %641
  store i8 0, ptr %54, align 1, !tbaa !9
  br label %576, !llvm.loop !26

643:                                              ; preds = %637, %584
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %53) #7
  br label %646

644:                                              ; preds = %579
  br label %645

645:                                              ; preds = %644, %565
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %53) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %53) #7
  br label %551, !llvm.loop !27

646:                                              ; preds = %643, %580
  call void @llvm.lifetime.end.p0(i64 48, ptr %53) #7
  br label %647

647:                                              ; preds = %646, %559
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %51) #7
  br label %650

648:                                              ; preds = %558
  br label %649

649:                                              ; preds = %648
  store i8 0, ptr %49, align 1, !tbaa !9
  br label %542, !llvm.loop !28

650:                                              ; preds = %647, %546
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #7
  br label %656

651:                                              ; preds = %545
  br label %652

652:                                              ; preds = %651, %532
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #7
  call void @_ZN2vl11collections4ListIllED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %39) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 8, 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 %653

653:                                              ; preds = %652
  %654 = load i64, ptr %35, align 8, !tbaa !15
  %655 = add nsw i64 %654, 1
  store i64 %655, ptr %35, align 8, !tbaa !15
  br label %392, !llvm.loop !29

656:                                              ; preds = %650, %530
  call void @_ZN2vl11collections4ListIllED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %39) #7
  br label %657

657:                                              ; preds = %656, %447
  call void @llvm.lifetime.end.p0(i64 48, ptr %39) #7
  br label %658

658:                                              ; preds = %657, %443
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  br label %659

659:                                              ; preds = %658, %439
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  br label %660

660:                                              ; preds = %659, %435
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  br label %661

661:                                              ; preds = %660, %398
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  br label %2489

662:                                              ; preds = %397
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #7
  store i64 0, ptr %61, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #7
  store i64 0, ptr %62, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 112, ptr %63) #7
  invoke void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lEC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %63)
          to label %663 unwind label %682

663:                                              ; preds = %662
  call void @llvm.lifetime.start.p0(i64 48, ptr %64) #7
  invoke void @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %64)
          to label %664 unwind label %686

664:                                              ; preds = %663
  call void @llvm.lifetime.start.p0(i64 112, ptr %65) #7
  invoke void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %65)
          to label %665 unwind label %690

665:                                              ; preds = %664
  call void @llvm.lifetime.start.p0(i64 112, ptr %66) #7
  invoke void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %66)
          to label %666 unwind label %694

666:                                              ; preds = %665
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #7
  store i8 1, ptr %67, align 1, !tbaa !9
  %667 = load i8, ptr %67, align 1, !tbaa !9, !range !11, !noundef !12
  %668 = trunc i8 %667 to i1
  br i1 %668, label %669, label %812

669:                                              ; preds = %666
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %69) #7
  %670 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions17ParsingDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %671 unwind label %698

671:                                              ; preds = %669
  %672 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinition", ptr %670, i32 0, i32 2
  %673 = load ptr, ptr %672, align 8, !tbaa !13
  %674 = getelementptr i8, ptr %673, i64 -24
  %675 = load i64, ptr %674, align 8
  %676 = getelementptr inbounds i8, ptr %672, i64 %675
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.317") align 8 %69, ptr noundef nonnull align 8 dereferenceable(8) %676)
          to label %677 unwind label %698

677:                                              ; preds = %671
  store ptr %69, ptr %68, align 8, !tbaa !5
  br label %678

678:                                              ; preds = %809, %677
  %679 = load i8, ptr %67, align 1, !tbaa !9, !range !11, !noundef !12
  %680 = trunc i8 %679 to i1
  br i1 %680, label %702, label %681

681:                                              ; preds = %678
  store i32 35, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %69) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  br label %811

682:                                              ; preds = %662
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %15, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %16, align 4
  br label %2488

686:                                              ; preds = %663
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %15, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %16, align 4
  br label %2487

690:                                              ; preds = %664
  %691 = landingpad { ptr, i32 }
          cleanup
  %692 = extractvalue { ptr, i32 } %691, 0
  store ptr %692, ptr %15, align 8
  %693 = extractvalue { ptr, i32 } %691, 1
  store i32 %693, ptr %16, align 4
  br label %2486

694:                                              ; preds = %665
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %15, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %16, align 4
  br label %2485

698:                                              ; preds = %671, %669
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %15, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %16, align 4
  br label %810

702:                                              ; preds = %678
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #7
  invoke void @_ZN2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %703 unwind label %712

703:                                              ; preds = %702
  br label %704

704:                                              ; preds = %805, %703
  %705 = load ptr, ptr %68, align 8, !tbaa !5
  %706 = load ptr, ptr %705, align 8, !tbaa !13
  %707 = getelementptr inbounds ptr, ptr %706, i64 2
  %708 = load ptr, ptr %707, align 8
  %709 = invoke noundef zeroext i1 %708(ptr noundef nonnull align 8 dereferenceable(8) %705, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %710 unwind label %716

710:                                              ; preds = %704
  br i1 %709, label %720, label %711

711:                                              ; preds = %710
  store i32 38, ptr %23, align 4
  call void @_ZN2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  br label %808

712:                                              ; preds = %702
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %15, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %16, align 4
  br label %807

716:                                              ; preds = %772, %770, %764, %754, %727, %722, %720, %704
  %717 = landingpad { ptr, i32 }
          cleanup
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %15, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %16, align 4
  br label %806

720:                                              ; preds = %710
  %721 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %722 unwind label %716

722:                                              ; preds = %720
  %723 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionBase", ptr %721, i32 0, i32 1
  %724 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %723)
          to label %725 unwind label %716

725:                                              ; preds = %722
  %726 = icmp sgt i64 %724, 0
  br i1 %726, label %727, label %754

727:                                              ; preds = %725
  %728 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %729 unwind label %716

729:                                              ; preds = %727
  %730 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionTokenDefinition", ptr %728, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #7
  %731 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %732 unwind label %741

732:                                              ; preds = %729
  store i64 %731, ptr %71, align 8, !tbaa !15
  %733 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %65, ptr noundef nonnull align 8 dereferenceable(48) %730, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %734 unwind label %741

734:                                              ; preds = %732
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #7
  %735 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %736 unwind label %745

736:                                              ; preds = %734
  %737 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionBase", ptr %735, i32 0, i32 1
  invoke void @_ZN2vl7parsing9analyzing19CreateAttributeInfoERNS_11collections4ListINS_3PtrINS0_11definitions26ParsingDefinitionAttributeEEEPS6_EE(ptr dead_on_unwind writable sret(%"class.vl::Ptr.477") align 8 %72, ptr noundef nonnull align 8 dereferenceable(33) %737)
          to label %738 unwind label %745

738:                                              ; preds = %736
  %739 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %13, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %740 unwind label %749

740:                                              ; preds = %738
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #7
  br label %764

741:                                              ; preds = %732, %729
  %742 = landingpad { ptr, i32 }
          cleanup
  %743 = extractvalue { ptr, i32 } %742, 0
  store ptr %743, ptr %15, align 8
  %744 = extractvalue { ptr, i32 } %742, 1
  store i32 %744, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #7
  br label %806

745:                                              ; preds = %736, %734
  %746 = landingpad { ptr, i32 }
          cleanup
  %747 = extractvalue { ptr, i32 } %746, 0
  store ptr %747, ptr %15, align 8
  %748 = extractvalue { ptr, i32 } %746, 1
  store i32 %748, ptr %16, align 4
  br label %753

749:                                              ; preds = %738
  %750 = landingpad { ptr, i32 }
          cleanup
  %751 = extractvalue { ptr, i32 } %750, 0
  store ptr %751, ptr %15, align 8
  %752 = extractvalue { ptr, i32 } %750, 1
  store i32 %752, ptr %16, align 4
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  br label %753

753:                                              ; preds = %749, %745
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #7
  br label %806

754:                                              ; preds = %725
  %755 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %756 unwind label %716

756:                                              ; preds = %754
  %757 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionTokenDefinition", ptr %755, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #7
  store i64 -1, ptr %73, align 8, !tbaa !15
  %758 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %65, ptr noundef nonnull align 8 dereferenceable(48) %757, ptr noundef nonnull align 8 dereferenceable(8) %73)
          to label %759 unwind label %760

759:                                              ; preds = %756
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  br label %764

760:                                              ; preds = %756
  %761 = landingpad { ptr, i32 }
          cleanup
  %762 = extractvalue { ptr, i32 } %761, 0
  store ptr %762, ptr %15, align 8
  %763 = extractvalue { ptr, i32 } %761, 1
  store i32 %763, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  br label %806

764:                                              ; preds = %759, %740
  %765 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %766 unwind label %716

766:                                              ; preds = %764
  %767 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionTokenDefinition", ptr %765, i32 0, i32 3
  %768 = load i8, ptr %767, align 8, !tbaa !30, !range !11, !noundef !12
  %769 = trunc i8 %768 to i1
  br i1 %769, label %770, label %778

770:                                              ; preds = %766
  %771 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %772 unwind label %716

772:                                              ; preds = %770
  %773 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionTokenDefinition", ptr %771, i32 0, i32 1
  %774 = invoke noundef i64 @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_E3AddERKS3_(ptr noundef nonnull align 8 dereferenceable(33) %64, ptr noundef nonnull align 8 dereferenceable(48) %773)
          to label %775 unwind label %716

775:                                              ; preds = %772
  %776 = load i64, ptr %62, align 8, !tbaa !15
  %777 = add nsw i64 %776, 1
  store i64 %777, ptr %62, align 8, !tbaa !15
  br label %805

778:                                              ; preds = %766
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #7
  %779 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %780 unwind label %796

780:                                              ; preds = %778
  %781 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %779, i32 0, i32 1
  %782 = load ptr, ptr %781, align 8, !tbaa !47
  %783 = call noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager9GetGlobalEv(ptr noundef nonnull align 8 dereferenceable(632) %782)
  %784 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %785 unwind label %796

785:                                              ; preds = %780
  %786 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionTokenDefinition", ptr %784, i32 0, i32 1
  %787 = invoke noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol18GetSubSymbolByNameERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(304) %783, ptr noundef nonnull align 8 dereferenceable(48) %786)
          to label %788 unwind label %796

788:                                              ; preds = %785
  store ptr %787, ptr %74, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #7
  %789 = invoke noundef i64 @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lE5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %63)
          to label %790 unwind label %800

790:                                              ; preds = %788
  %791 = add nsw i64 %789, 4
  store i64 %791, ptr %75, align 8, !tbaa !15
  %792 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lE3AddERKS5_RKl(ptr noundef nonnull align 8 dereferenceable(104) %63, ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %793 unwind label %800

793:                                              ; preds = %790
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  %794 = load i64, ptr %61, align 8, !tbaa !15
  %795 = add nsw i64 %794, 1
  store i64 %795, ptr %61, align 8, !tbaa !15
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  br label %805

796:                                              ; preds = %785, %780, %778
  %797 = landingpad { ptr, i32 }
          cleanup
  %798 = extractvalue { ptr, i32 } %797, 0
  store ptr %798, ptr %15, align 8
  %799 = extractvalue { ptr, i32 } %797, 1
  store i32 %799, ptr %16, align 4
  br label %804

800:                                              ; preds = %790, %788
  %801 = landingpad { ptr, i32 }
          cleanup
  %802 = extractvalue { ptr, i32 } %801, 0
  store ptr %802, ptr %15, align 8
  %803 = extractvalue { ptr, i32 } %801, 1
  store i32 %803, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  br label %804

804:                                              ; preds = %800, %796
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  br label %806

805:                                              ; preds = %793, %775
  br label %704, !llvm.loop !66

806:                                              ; preds = %804, %760, %753, %741, %716
  call void @_ZN2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #7
  br label %807

807:                                              ; preds = %806, %712
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %69) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %69) #7
  br label %810

808:                                              ; preds = %711
  br label %809

809:                                              ; preds = %808
  store i8 0, ptr %67, align 1, !tbaa !9
  br label %678, !llvm.loop !67

810:                                              ; preds = %807, %698
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  br label %2484

811:                                              ; preds = %681
  br label %812

812:                                              ; preds = %811, %666
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #7
  store i8 1, ptr %76, align 1, !tbaa !9
  %813 = load i8, ptr %76, align 1, !tbaa !9, !range !11, !noundef !12
  %814 = trunc i8 %813 to i1
  br i1 %814, label %815, label %901

815:                                              ; preds = %812
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %78) #7
  %816 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions17ParsingDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %817 unwind label %828

817:                                              ; preds = %815
  %818 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinition", ptr %816, i32 0, i32 3
  %819 = load ptr, ptr %818, align 8, !tbaa !13
  %820 = getelementptr i8, ptr %819, i64 -24
  %821 = load i64, ptr %820, align 8
  %822 = getelementptr inbounds i8, ptr %818, i64 %821
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.322") align 8 %78, ptr noundef nonnull align 8 dereferenceable(8) %822)
          to label %823 unwind label %828

823:                                              ; preds = %817
  store ptr %78, ptr %77, align 8, !tbaa !5
  br label %824

824:                                              ; preds = %898, %823
  %825 = load i8, ptr %76, align 1, !tbaa !9, !range !11, !noundef !12
  %826 = trunc i8 %825 to i1
  br i1 %826, label %832, label %827

827:                                              ; preds = %824
  store i32 40, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %78) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #7
  br label %900

828:                                              ; preds = %817, %815
  %829 = landingpad { ptr, i32 }
          cleanup
  %830 = extractvalue { ptr, i32 } %829, 0
  store ptr %830, ptr %15, align 8
  %831 = extractvalue { ptr, i32 } %829, 1
  store i32 %831, ptr %16, align 4
  br label %899

832:                                              ; preds = %824
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #7
  invoke void @_ZN2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %833 unwind label %842

833:                                              ; preds = %832
  br label %834

834:                                              ; preds = %894, %833
  %835 = load ptr, ptr %77, align 8, !tbaa !5
  %836 = load ptr, ptr %835, align 8, !tbaa !13
  %837 = getelementptr inbounds ptr, ptr %836, i64 2
  %838 = load ptr, ptr %837, align 8
  %839 = invoke noundef zeroext i1 %838(ptr noundef nonnull align 8 dereferenceable(8) %835, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %840 unwind label %846

840:                                              ; preds = %834
  br i1 %839, label %850, label %841

841:                                              ; preds = %840
  store i32 43, ptr %23, align 4
  call void @_ZN2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #7
  br label %897

842:                                              ; preds = %832
  %843 = landingpad { ptr, i32 }
          cleanup
  %844 = extractvalue { ptr, i32 } %843, 0
  store ptr %844, ptr %15, align 8
  %845 = extractvalue { ptr, i32 } %843, 1
  store i32 %845, ptr %16, align 4
  br label %896

846:                                              ; preds = %884, %857, %852, %850, %834
  %847 = landingpad { ptr, i32 }
          cleanup
  %848 = extractvalue { ptr, i32 } %847, 0
  store ptr %848, ptr %15, align 8
  %849 = extractvalue { ptr, i32 } %847, 1
  store i32 %849, ptr %16, align 4
  br label %895

850:                                              ; preds = %840
  %851 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %852 unwind label %846

852:                                              ; preds = %850
  %853 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionBase", ptr %851, i32 0, i32 1
  %854 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %853)
          to label %855 unwind label %846

855:                                              ; preds = %852
  %856 = icmp sgt i64 %854, 0
  br i1 %856, label %857, label %884

857:                                              ; preds = %855
  %858 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %859 unwind label %846

859:                                              ; preds = %857
  %860 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %858, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #7
  %861 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %862 unwind label %871

862:                                              ; preds = %859
  store i64 %861, ptr %80, align 8, !tbaa !15
  %863 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %66, ptr noundef nonnull align 8 dereferenceable(48) %860, ptr noundef nonnull align 8 dereferenceable(8) %80)
          to label %864 unwind label %871

864:                                              ; preds = %862
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #7
  %865 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %866 unwind label %875

866:                                              ; preds = %864
  %867 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionBase", ptr %865, i32 0, i32 1
  invoke void @_ZN2vl7parsing9analyzing19CreateAttributeInfoERNS_11collections4ListINS_3PtrINS0_11definitions26ParsingDefinitionAttributeEEEPS6_EE(ptr dead_on_unwind writable sret(%"class.vl::Ptr.477") align 8 %81, ptr noundef nonnull align 8 dereferenceable(33) %867)
          to label %868 unwind label %875

868:                                              ; preds = %866
  %869 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %13, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %870 unwind label %879

870:                                              ; preds = %868
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #7
  br label %894

871:                                              ; preds = %862, %859
  %872 = landingpad { ptr, i32 }
          cleanup
  %873 = extractvalue { ptr, i32 } %872, 0
  store ptr %873, ptr %15, align 8
  %874 = extractvalue { ptr, i32 } %872, 1
  store i32 %874, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #7
  br label %895

875:                                              ; preds = %866, %864
  %876 = landingpad { ptr, i32 }
          cleanup
  %877 = extractvalue { ptr, i32 } %876, 0
  store ptr %877, ptr %15, align 8
  %878 = extractvalue { ptr, i32 } %876, 1
  store i32 %878, ptr %16, align 4
  br label %883

879:                                              ; preds = %868
  %880 = landingpad { ptr, i32 }
          cleanup
  %881 = extractvalue { ptr, i32 } %880, 0
  store ptr %881, ptr %15, align 8
  %882 = extractvalue { ptr, i32 } %880, 1
  store i32 %882, ptr %16, align 4
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  br label %883

883:                                              ; preds = %879, %875
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #7
  br label %895

884:                                              ; preds = %855
  %885 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %886 unwind label %846

886:                                              ; preds = %884
  %887 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %885, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #7
  store i64 -1, ptr %82, align 8, !tbaa !15
  %888 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %66, ptr noundef nonnull align 8 dereferenceable(48) %887, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %889 unwind label %890

889:                                              ; preds = %886
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  br label %894

890:                                              ; preds = %886
  %891 = landingpad { ptr, i32 }
          cleanup
  %892 = extractvalue { ptr, i32 } %891, 0
  store ptr %892, ptr %15, align 8
  %893 = extractvalue { ptr, i32 } %891, 1
  store i32 %893, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  br label %895

894:                                              ; preds = %889, %870
  br label %834, !llvm.loop !68

895:                                              ; preds = %890, %883, %871, %846
  call void @_ZN2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  br label %896

896:                                              ; preds = %895, %842
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %78) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %78) #7
  br label %899

897:                                              ; preds = %841
  br label %898

898:                                              ; preds = %897
  store i8 0, ptr %76, align 1, !tbaa !9
  br label %824, !llvm.loop !69

899:                                              ; preds = %896, %828
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #7
  br label %2484

900:                                              ; preds = %827
  br label %901

901:                                              ; preds = %900, %812
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %83) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %83)
          to label %902 unwind label %921

902:                                              ; preds = %901
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #7
  store i64 0, ptr %84, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #7
  store i64 0, ptr %85, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 48, ptr %86) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %86)
          to label %903 unwind label %925

903:                                              ; preds = %902
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #7
  store i8 1, ptr %87, align 1, !tbaa !9
  %904 = load i8, ptr %87, align 1, !tbaa !9, !range !11, !noundef !12
  %905 = trunc i8 %904 to i1
  br i1 %905, label %906, label %1036

906:                                              ; preds = %903
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %89) #7
  %907 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %908 unwind label %929

908:                                              ; preds = %906
  %909 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %907, i32 0, i32 4
  %910 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %909)
          to label %911 unwind label %929

911:                                              ; preds = %908
  %912 = load ptr, ptr %910, align 8, !tbaa !13
  %913 = getelementptr i8, ptr %912, i64 -24
  %914 = load i64, ptr %913, align 8
  %915 = getelementptr inbounds i8, ptr %910, i64 %914
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing8RuleInfoEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.518") align 8 %89, ptr noundef nonnull align 8 dereferenceable(8) %915)
          to label %916 unwind label %929

916:                                              ; preds = %911
  store ptr %89, ptr %88, align 8, !tbaa !5
  br label %917

917:                                              ; preds = %1033, %916
  %918 = load i8, ptr %87, align 1, !tbaa !9, !range !11, !noundef !12
  %919 = trunc i8 %918 to i1
  br i1 %919, label %933, label %920

920:                                              ; preds = %917
  store i32 45, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing8RuleInfoEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %89) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  br label %1035

921:                                              ; preds = %901
  %922 = landingpad { ptr, i32 }
          cleanup
  %923 = extractvalue { ptr, i32 } %922, 0
  store ptr %923, ptr %15, align 8
  %924 = extractvalue { ptr, i32 } %922, 1
  store i32 %924, ptr %16, align 4
  br label %2483

925:                                              ; preds = %902
  %926 = landingpad { ptr, i32 }
          cleanup
  %927 = extractvalue { ptr, i32 } %926, 0
  store ptr %927, ptr %15, align 8
  %928 = extractvalue { ptr, i32 } %926, 1
  store i32 %928, ptr %16, align 4
  br label %1059

929:                                              ; preds = %911, %908, %906
  %930 = landingpad { ptr, i32 }
          cleanup
  %931 = extractvalue { ptr, i32 } %930, 0
  store ptr %931, ptr %15, align 8
  %932 = extractvalue { ptr, i32 } %930, 1
  store i32 %932, ptr %16, align 4
  br label %1034

933:                                              ; preds = %917
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #7
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %934 unwind label %943

934:                                              ; preds = %933
  br label %935

935:                                              ; preds = %1029, %934
  %936 = load ptr, ptr %88, align 8, !tbaa !5
  %937 = load ptr, ptr %936, align 8, !tbaa !13
  %938 = getelementptr inbounds ptr, ptr %937, i64 2
  %939 = load ptr, ptr %938, align 8
  %940 = invoke noundef zeroext i1 %939(ptr noundef nonnull align 8 dereferenceable(8) %936, ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %941 unwind label %947

941:                                              ; preds = %935
  br i1 %940, label %951, label %942

942:                                              ; preds = %941
  store i32 48, ptr %23, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #7
  br label %1032

943:                                              ; preds = %933
  %944 = landingpad { ptr, i32 }
          cleanup
  %945 = extractvalue { ptr, i32 } %944, 0
  store ptr %945, ptr %15, align 8
  %946 = extractvalue { ptr, i32 } %944, 1
  store i32 %946, ptr %16, align 4
  br label %1031

947:                                              ; preds = %964, %959, %957, %953, %951, %935
  %948 = landingpad { ptr, i32 }
          cleanup
  %949 = extractvalue { ptr, i32 } %948, 0
  store ptr %949, ptr %15, align 8
  %950 = extractvalue { ptr, i32 } %948, 1
  store i32 %950, ptr %16, align 4
  br label %1030

951:                                              ; preds = %941
  %952 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %953 unwind label %947

953:                                              ; preds = %951
  %954 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %952, i32 0, i32 1
  %955 = invoke noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %86, ptr noundef nonnull align 8 dereferenceable(8) %954)
          to label %956 unwind label %947

956:                                              ; preds = %953
  br i1 %955, label %963, label %957

957:                                              ; preds = %956
  %958 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %959 unwind label %947

959:                                              ; preds = %957
  %960 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %958, i32 0, i32 1
  %961 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %86, ptr noundef nonnull align 8 dereferenceable(8) %960)
          to label %962 unwind label %947

962:                                              ; preds = %959
  br label %963

963:                                              ; preds = %962, %956
  br label %964

964:                                              ; preds = %1027, %963
  %965 = load i64, ptr %85, align 8, !tbaa !15
  %966 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %86)
          to label %967 unwind label %947

967:                                              ; preds = %964
  %968 = icmp slt i64 %965, %966
  br i1 %968, label %969, label %1029

969:                                              ; preds = %967
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #7
  %970 = load i64, ptr %85, align 8, !tbaa !15
  %971 = add nsw i64 %970, 1
  store i64 %971, ptr %85, align 8, !tbaa !15
  %972 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %86, i64 noundef %970)
          to label %973 unwind label %991

973:                                              ; preds = %969
  %974 = load ptr, ptr %972, align 8, !tbaa !5
  store ptr %974, ptr %91, align 8, !tbaa !5
  %975 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %83, ptr noundef nonnull align 8 dereferenceable(8) %91)
          to label %976 unwind label %991

976:                                              ; preds = %973
  call void @llvm.lifetime.start.p0(i64 1, ptr %92) #7
  store i8 1, ptr %92, align 1, !tbaa !9
  %977 = load i8, ptr %92, align 1, !tbaa !9, !range !11, !noundef !12
  %978 = trunc i8 %977 to i1
  br i1 %978, label %979, label %1027

979:                                              ; preds = %976
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %94) #7
  %980 = load ptr, ptr %91, align 8, !tbaa !5
  %981 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %980, i32 0, i32 1
  %982 = load ptr, ptr %981, align 8, !tbaa !13
  %983 = getelementptr i8, ptr %982, i64 -24
  %984 = load i64, ptr %983, align 8
  %985 = getelementptr inbounds i8, ptr %981, i64 %984
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %94, ptr noundef nonnull align 8 dereferenceable(8) %985)
          to label %986 unwind label %995

986:                                              ; preds = %979
  store ptr %94, ptr %93, align 8, !tbaa !5
  br label %987

987:                                              ; preds = %1024, %986
  %988 = load i8, ptr %92, align 1, !tbaa !9, !range !11, !noundef !12
  %989 = trunc i8 %988 to i1
  br i1 %989, label %999, label %990

990:                                              ; preds = %987
  store i32 52, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %94) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %94) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  br label %1026

991:                                              ; preds = %973, %969
  %992 = landingpad { ptr, i32 }
          cleanup
  %993 = extractvalue { ptr, i32 } %992, 0
  store ptr %993, ptr %15, align 8
  %994 = extractvalue { ptr, i32 } %992, 1
  store i32 %994, ptr %16, align 4
  br label %1028

995:                                              ; preds = %979
  %996 = landingpad { ptr, i32 }
          cleanup
  %997 = extractvalue { ptr, i32 } %996, 0
  store ptr %997, ptr %15, align 8
  %998 = extractvalue { ptr, i32 } %996, 1
  store i32 %998, ptr %16, align 4
  br label %1025

999:                                              ; preds = %987
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #7
  br label %1000

1000:                                             ; preds = %1022, %999
  %1001 = load ptr, ptr %93, align 8, !tbaa !5
  %1002 = load ptr, ptr %1001, align 8, !tbaa !13
  %1003 = getelementptr inbounds ptr, ptr %1002, i64 2
  %1004 = load ptr, ptr %1003, align 8
  %1005 = invoke noundef zeroext i1 %1004(ptr noundef nonnull align 8 dereferenceable(8) %1001, ptr noundef nonnull align 8 dereferenceable(8) %95)
          to label %1006 unwind label %1008

1006:                                             ; preds = %1000
  br i1 %1005, label %1012, label %1007

1007:                                             ; preds = %1006
  store i32 55, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #7
  br label %1023

1008:                                             ; preds = %1017, %1012, %1000
  %1009 = landingpad { ptr, i32 }
          cleanup
  %1010 = extractvalue { ptr, i32 } %1009, 0
  store ptr %1010, ptr %15, align 8
  %1011 = extractvalue { ptr, i32 } %1009, 1
  store i32 %1011, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %94) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %94) #7
  br label %1025

1012:                                             ; preds = %1006
  %1013 = load ptr, ptr %95, align 8, !tbaa !5
  %1014 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %1013, i32 0, i32 2
  %1015 = invoke noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %86, ptr noundef nonnull align 8 dereferenceable(8) %1014)
          to label %1016 unwind label %1008

1016:                                             ; preds = %1012
  br i1 %1015, label %1022, label %1017

1017:                                             ; preds = %1016
  %1018 = load ptr, ptr %95, align 8, !tbaa !5
  %1019 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %1018, i32 0, i32 2
  %1020 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %86, ptr noundef nonnull align 8 dereferenceable(8) %1019)
          to label %1021 unwind label %1008

1021:                                             ; preds = %1017
  br label %1022

1022:                                             ; preds = %1021, %1016
  br label %1000, !llvm.loop !70

1023:                                             ; preds = %1007
  br label %1024

1024:                                             ; preds = %1023
  store i8 0, ptr %92, align 1, !tbaa !9
  br label %987, !llvm.loop !71

1025:                                             ; preds = %1008, %995
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #7
  br label %1028

1026:                                             ; preds = %990
  br label %1027

1027:                                             ; preds = %1026, %976
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  br label %964, !llvm.loop !72

1028:                                             ; preds = %1025, %991
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #7
  br label %1030

1029:                                             ; preds = %967
  br label %935, !llvm.loop !73

1030:                                             ; preds = %1028, %947
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #7
  br label %1031

1031:                                             ; preds = %1030, %943
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing8RuleInfoEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %89) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %89) #7
  br label %1034

1032:                                             ; preds = %942
  br label %1033

1033:                                             ; preds = %1032
  store i8 0, ptr %87, align 1, !tbaa !9
  br label %917, !llvm.loop !74

1034:                                             ; preds = %1031, %929
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  br label %1058

1035:                                             ; preds = %920
  br label %1036

1036:                                             ; preds = %1035, %903
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  %1037 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %86)
          to label %1038 unwind label %1054

1038:                                             ; preds = %1036
  store i64 %1037, ptr %84, align 8, !tbaa !15
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %86) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %96) #7
  store i8 1, ptr %96, align 1, !tbaa !9
  %1039 = load i8, ptr %96, align 1, !tbaa !9, !range !11, !noundef !12
  %1040 = trunc i8 %1039 to i1
  br i1 %1040, label %1041, label %1108

1041:                                             ; preds = %1038
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %98) #7
  %1042 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %1043 unwind label %1060

1043:                                             ; preds = %1041
  %1044 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %1042, i32 0, i32 3
  %1045 = load ptr, ptr %1044, align 8, !tbaa !13
  %1046 = getelementptr i8, ptr %1045, i64 -24
  %1047 = load i64, ptr %1046, align 8
  %1048 = getelementptr inbounds i8, ptr %1044, i64 %1047
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8 %98, ptr noundef nonnull align 8 dereferenceable(8) %1048)
          to label %1049 unwind label %1060

1049:                                             ; preds = %1043
  store ptr %98, ptr %97, align 8, !tbaa !5
  br label %1050

1050:                                             ; preds = %1105, %1049
  %1051 = load i8, ptr %96, align 1, !tbaa !9, !range !11, !noundef !12
  %1052 = trunc i8 %1051 to i1
  br i1 %1052, label %1064, label %1053

1053:                                             ; preds = %1050
  store i32 57, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %98) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %98) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  br label %1107

1054:                                             ; preds = %1036
  %1055 = landingpad { ptr, i32 }
          cleanup
  %1056 = extractvalue { ptr, i32 } %1055, 0
  store ptr %1056, ptr %15, align 8
  %1057 = extractvalue { ptr, i32 } %1055, 1
  store i32 %1057, ptr %16, align 4
  br label %1058

1058:                                             ; preds = %1054, %1034
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %86) #7
  br label %1059

1059:                                             ; preds = %1058, %925
  call void @llvm.lifetime.end.p0(i64 48, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #7
  br label %2482

1060:                                             ; preds = %1043, %1041
  %1061 = landingpad { ptr, i32 }
          cleanup
  %1062 = extractvalue { ptr, i32 } %1061, 0
  store ptr %1062, ptr %15, align 8
  %1063 = extractvalue { ptr, i32 } %1061, 1
  store i32 %1063, ptr %16, align 4
  br label %1106

1064:                                             ; preds = %1050
  call void @llvm.lifetime.start.p0(i64 32, ptr %99) #7
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing5StateEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %1065 unwind label %1074

1065:                                             ; preds = %1064
  br label %1066

1066:                                             ; preds = %1101, %1065
  %1067 = load ptr, ptr %97, align 8, !tbaa !5
  %1068 = load ptr, ptr %1067, align 8, !tbaa !13
  %1069 = getelementptr inbounds ptr, ptr %1068, i64 2
  %1070 = load ptr, ptr %1069, align 8
  %1071 = invoke noundef zeroext i1 %1070(ptr noundef nonnull align 8 dereferenceable(8) %1067, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %1072 unwind label %1078

1072:                                             ; preds = %1066
  br i1 %1071, label %1082, label %1073

1073:                                             ; preds = %1072
  store i32 60, ptr %23, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #7
  br label %1104

1074:                                             ; preds = %1064
  %1075 = landingpad { ptr, i32 }
          cleanup
  %1076 = extractvalue { ptr, i32 } %1075, 0
  store ptr %1076, ptr %15, align 8
  %1077 = extractvalue { ptr, i32 } %1075, 1
  store i32 %1077, ptr %16, align 4
  br label %1103

1078:                                             ; preds = %1066
  %1079 = landingpad { ptr, i32 }
          cleanup
  %1080 = extractvalue { ptr, i32 } %1079, 0
  store ptr %1080, ptr %15, align 8
  %1081 = extractvalue { ptr, i32 } %1079, 1
  store i32 %1081, ptr %16, align 4
  br label %1102

1082:                                             ; preds = %1072
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #7
  %1083 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %1084 unwind label %1093

1084:                                             ; preds = %1082
  store ptr %1083, ptr %100, align 8, !tbaa !5
  %1085 = invoke noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %83, ptr noundef nonnull align 8 dereferenceable(8) %100)
          to label %1086 unwind label %1093

1086:                                             ; preds = %1084
  %1087 = xor i1 %1085, true
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #7
  br i1 %1087, label %1088, label %1101

1088:                                             ; preds = %1086
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #7
  %1089 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %1090 unwind label %1097

1090:                                             ; preds = %1088
  store ptr %1089, ptr %101, align 8, !tbaa !5
  %1091 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %83, ptr noundef nonnull align 8 dereferenceable(8) %101)
          to label %1092 unwind label %1097

1092:                                             ; preds = %1090
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  br label %1101

1093:                                             ; preds = %1084, %1082
  %1094 = landingpad { ptr, i32 }
          cleanup
  %1095 = extractvalue { ptr, i32 } %1094, 0
  store ptr %1095, ptr %15, align 8
  %1096 = extractvalue { ptr, i32 } %1094, 1
  store i32 %1096, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #7
  br label %1102

1097:                                             ; preds = %1090, %1088
  %1098 = landingpad { ptr, i32 }
          cleanup
  %1099 = extractvalue { ptr, i32 } %1098, 0
  store ptr %1099, ptr %15, align 8
  %1100 = extractvalue { ptr, i32 } %1098, 1
  store i32 %1100, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #7
  br label %1102

1101:                                             ; preds = %1092, %1086
  br label %1066, !llvm.loop !75

1102:                                             ; preds = %1097, %1093, %1078
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #7
  br label %1103

1103:                                             ; preds = %1102, %1074
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %98) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %98) #7
  br label %1106

1104:                                             ; preds = %1073
  br label %1105

1105:                                             ; preds = %1104
  store i8 0, ptr %96, align 1, !tbaa !9
  br label %1050, !llvm.loop !76

1106:                                             ; preds = %1103, %1060
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #7
  br label %2482

1107:                                             ; preds = %1053
  br label %1108

1108:                                             ; preds = %1107, %1038
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #7
  %1109 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %83)
          to label %1110 unwind label %1141

1110:                                             ; preds = %1108
  store i64 %1109, ptr %102, align 8, !tbaa !15
  store i1 false, ptr %103, align 1
  %1111 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 656) #8
          to label %1112 unwind label %1141

1112:                                             ; preds = %1110
  %1113 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %1114 unwind label %1145

1114:                                             ; preds = %1112
  %1115 = invoke noundef i64 @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %17)
          to label %1116 unwind label %1145

1116:                                             ; preds = %1114
  %1117 = invoke noundef i64 @_ZNK2vl11collections10DictionaryINS0_4PairINS_12ObjectStringIwEES4_EElS5_lE5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %18)
          to label %1118 unwind label %1145

1118:                                             ; preds = %1116
  %1119 = load i64, ptr %61, align 8, !tbaa !15
  %1120 = load i64, ptr %62, align 8, !tbaa !15
  %1121 = load i64, ptr %102, align 8, !tbaa !15
  %1122 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions17ParsingDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %1123 unwind label %1145

1123:                                             ; preds = %1118
  %1124 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinition", ptr %1122, i32 0, i32 3
  %1125 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1124)
          to label %1126 unwind label %1145

1126:                                             ; preds = %1123
  invoke void @_ZN2vl7parsing7tabling12ParsingTableC1Elllllll(ptr noundef nonnull align 8 dereferenceable(656) %1111, i64 noundef %1113, i64 noundef %1115, i64 noundef %1117, i64 noundef %1119, i64 noundef %1120, i64 noundef %1121, i64 noundef %1125)
          to label %1127 unwind label %1145

1127:                                             ; preds = %1126
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1111)
          to label %1128 unwind label %1141

1128:                                             ; preds = %1127
  call void @llvm.lifetime.start.p0(i64 1, ptr %104) #7
  store i8 1, ptr %104, align 1, !tbaa !9
  %1129 = load i8, ptr %104, align 1, !tbaa !9, !range !11, !noundef !12
  %1130 = trunc i8 %1129 to i1
  br i1 %1130, label %1131, label %1201

1131:                                             ; preds = %1128
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %106) #7
  %1132 = load ptr, ptr %13, align 8, !tbaa !13
  %1133 = getelementptr i8, ptr %1132, i64 -24
  %1134 = load i64, ptr %1133, align 8
  %1135 = getelementptr inbounds i8, ptr %13, i64 %1134
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS9_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.524") align 8 %106, ptr noundef nonnull align 8 dereferenceable(8) %1135)
          to label %1136 unwind label %1149

1136:                                             ; preds = %1131
  store ptr %106, ptr %105, align 8, !tbaa !5
  br label %1137

1137:                                             ; preds = %1198, %1136
  %1138 = load i8, ptr %104, align 1, !tbaa !9, !range !11, !noundef !12
  %1139 = trunc i8 %1138 to i1
  br i1 %1139, label %1153, label %1140

1140:                                             ; preds = %1137
  store i32 62, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %106) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  br label %1200

1141:                                             ; preds = %1127, %1110, %1108
  %1142 = landingpad { ptr, i32 }
          cleanup
  %1143 = extractvalue { ptr, i32 } %1142, 0
  store ptr %1143, ptr %15, align 8
  %1144 = extractvalue { ptr, i32 } %1142, 1
  store i32 %1144, ptr %16, align 4
  br label %2481

1145:                                             ; preds = %1126, %1123, %1118, %1116, %1114, %1112
  %1146 = landingpad { ptr, i32 }
          cleanup
  %1147 = extractvalue { ptr, i32 } %1146, 0
  store ptr %1147, ptr %15, align 8
  %1148 = extractvalue { ptr, i32 } %1146, 1
  store i32 %1148, ptr %16, align 4
  call void @_ZdlPvm(ptr noundef %1111, i64 noundef 656) #9
  br label %2481

1149:                                             ; preds = %1131
  %1150 = landingpad { ptr, i32 }
          cleanup
  %1151 = extractvalue { ptr, i32 } %1150, 0
  store ptr %1151, ptr %15, align 8
  %1152 = extractvalue { ptr, i32 } %1150, 1
  store i32 %1152, ptr %16, align 4
  br label %1199

1153:                                             ; preds = %1137
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #7
  store i8 1, ptr %107, align 1, !tbaa !9
  %1154 = load i8, ptr %107, align 1, !tbaa !9, !range !11, !noundef !12
  %1155 = trunc i8 %1154 to i1
  br i1 %1155, label %1156, label %1197

1156:                                             ; preds = %1153
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #7
  store i64 0, ptr %108, align 8, !tbaa !15
  br label %1157

1157:                                             ; preds = %1195, %1156
  %1158 = load i8, ptr %107, align 1, !tbaa !9, !range !11, !noundef !12
  %1159 = trunc i8 %1158 to i1
  br i1 %1159, label %1161, label %1160

1160:                                             ; preds = %1157
  store i32 65, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #7
  br label %1196

1161:                                             ; preds = %1157
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #7
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %1162 unwind label %1171

1162:                                             ; preds = %1161
  br label %1163

1163:                                             ; preds = %1185, %1162
  %1164 = load ptr, ptr %105, align 8, !tbaa !5
  %1165 = load ptr, ptr %1164, align 8, !tbaa !13
  %1166 = getelementptr inbounds ptr, ptr %1165, i64 2
  %1167 = load ptr, ptr %1166, align 8
  %1168 = invoke noundef zeroext i1 %1167(ptr noundef nonnull align 8 dereferenceable(8) %1164, ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %1169 unwind label %1175

1169:                                             ; preds = %1163
  br i1 %1168, label %1179, label %1170

1170:                                             ; preds = %1169
  store i32 68, ptr %23, align 4
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #7
  br label %1194

1171:                                             ; preds = %1161
  %1172 = landingpad { ptr, i32 }
          cleanup
  %1173 = extractvalue { ptr, i32 } %1172, 0
  store ptr %1173, ptr %15, align 8
  %1174 = extractvalue { ptr, i32 } %1172, 1
  store i32 %1174, ptr %16, align 4
  br label %1193

1175:                                             ; preds = %1181, %1179, %1163
  %1176 = landingpad { ptr, i32 }
          cleanup
  %1177 = extractvalue { ptr, i32 } %1176, 0
  store ptr %1177, ptr %15, align 8
  %1178 = extractvalue { ptr, i32 } %1176, 1
  store i32 %1178, ptr %16, align 4
  br label %1192

1179:                                             ; preds = %1169
  %1180 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1181 unwind label %1175

1181:                                             ; preds = %1179
  %1182 = load i64, ptr %108, align 8, !tbaa !15
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %1183 unwind label %1175

1183:                                             ; preds = %1181
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16SetAttributeInfoElNS_3PtrINS2_17AttributeInfoListEEE(ptr noundef nonnull align 8 dereferenceable(656) %1180, i64 noundef %1182, ptr noundef %110)
          to label %1184 unwind label %1188

1184:                                             ; preds = %1183
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %1185

1185:                                             ; preds = %1184
  %1186 = load i64, ptr %108, align 8, !tbaa !15
  %1187 = add nsw i64 %1186, 1
  store i64 %1187, ptr %108, align 8, !tbaa !15
  br label %1163, !llvm.loop !77

1188:                                             ; preds = %1183
  %1189 = landingpad { ptr, i32 }
          cleanup
  %1190 = extractvalue { ptr, i32 } %1189, 0
  store ptr %1190, ptr %15, align 8
  %1191 = extractvalue { ptr, i32 } %1189, 1
  store i32 %1191, ptr %16, align 4
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %1192

1192:                                             ; preds = %1188, %1175
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1193

1193:                                             ; preds = %1192, %1171
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %106) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %106) #7
  br label %1199

1194:                                             ; preds = %1170
  br label %1195

1195:                                             ; preds = %1194
  store i8 0, ptr %107, align 1, !tbaa !9
  br label %1157, !llvm.loop !78

1196:                                             ; preds = %1160
  br label %1197

1197:                                             ; preds = %1196, %1153
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  br label %1198

1198:                                             ; preds = %1197
  store i8 0, ptr %104, align 1, !tbaa !9
  br label %1137, !llvm.loop !79

1199:                                             ; preds = %1193, %1149
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %104) #7
  br label %2480

1200:                                             ; preds = %1140
  br label %1201

1201:                                             ; preds = %1200, %1128
  call void @llvm.lifetime.end.p0(i64 1, ptr %104) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #7
  store i8 1, ptr %111, align 1, !tbaa !9
  %1202 = load i8, ptr %111, align 1, !tbaa !9, !range !11, !noundef !12
  %1203 = trunc i8 %1202 to i1
  br i1 %1203, label %1204, label %1274

1204:                                             ; preds = %1201
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %113) #7
  %1205 = load ptr, ptr %17, align 8, !tbaa !13
  %1206 = getelementptr i8, ptr %1205, i64 -24
  %1207 = load i64, ptr %1206, align 8
  %1208 = getelementptr inbounds i8, ptr %17, i64 %1207
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS0_4PairINS_12ObjectStringIwEElEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.527") align 8 %113, ptr noundef nonnull align 8 dereferenceable(8) %1208)
          to label %1209 unwind label %1214

1209:                                             ; preds = %1204
  store ptr %113, ptr %112, align 8, !tbaa !5
  br label %1210

1210:                                             ; preds = %1271, %1209
  %1211 = load i8, ptr %111, align 1, !tbaa !9, !range !11, !noundef !12
  %1212 = trunc i8 %1211 to i1
  br i1 %1212, label %1218, label %1213

1213:                                             ; preds = %1210
  store i32 71, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS0_4PairINS_12ObjectStringIwEElEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %113) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %113) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #7
  br label %1273

1214:                                             ; preds = %1204
  %1215 = landingpad { ptr, i32 }
          cleanup
  %1216 = extractvalue { ptr, i32 } %1215, 0
  store ptr %1216, ptr %15, align 8
  %1217 = extractvalue { ptr, i32 } %1215, 1
  store i32 %1217, ptr %16, align 4
  br label %1272

1218:                                             ; preds = %1210
  call void @llvm.lifetime.start.p0(i64 1, ptr %114) #7
  store i8 1, ptr %114, align 1, !tbaa !9
  %1219 = load i8, ptr %114, align 1, !tbaa !9, !range !11, !noundef !12
  %1220 = trunc i8 %1219 to i1
  br i1 %1220, label %1221, label %1270

1221:                                             ; preds = %1218
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #7
  store i64 0, ptr %115, align 8, !tbaa !15
  br label %1222

1222:                                             ; preds = %1268, %1221
  %1223 = load i8, ptr %114, align 1, !tbaa !9, !range !11, !noundef !12
  %1224 = trunc i8 %1223 to i1
  br i1 %1224, label %1226, label %1225

1225:                                             ; preds = %1222
  store i32 74, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #7
  br label %1269

1226:                                             ; preds = %1222
  call void @llvm.lifetime.start.p0(i64 56, ptr %116) #7
  invoke void @_ZN2vl11collections4PairINS_12ObjectStringIwEElEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %116)
          to label %1227 unwind label %1236

1227:                                             ; preds = %1226
  br label %1228

1228:                                             ; preds = %1253, %1227
  %1229 = load ptr, ptr %112, align 8, !tbaa !5
  %1230 = load ptr, ptr %1229, align 8, !tbaa !13
  %1231 = getelementptr inbounds ptr, ptr %1230, i64 2
  %1232 = load ptr, ptr %1231, align 8
  %1233 = invoke noundef zeroext i1 %1232(ptr noundef nonnull align 8 dereferenceable(8) %1229, ptr noundef nonnull align 8 dereferenceable(56) %116)
          to label %1234 unwind label %1240

1234:                                             ; preds = %1228
  br i1 %1233, label %1244, label %1235

1235:                                             ; preds = %1234
  store i32 77, ptr %23, align 4
  call void @_ZN2vl11collections4PairINS_12ObjectStringIwEElED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %116) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %116) #7
  br label %1267

1236:                                             ; preds = %1226
  %1237 = landingpad { ptr, i32 }
          cleanup
  %1238 = extractvalue { ptr, i32 } %1237, 0
  store ptr %1238, ptr %15, align 8
  %1239 = extractvalue { ptr, i32 } %1237, 1
  store i32 %1239, ptr %16, align 4
  br label %1266

1240:                                             ; preds = %1244, %1228
  %1241 = landingpad { ptr, i32 }
          cleanup
  %1242 = extractvalue { ptr, i32 } %1241, 0
  store ptr %1242, ptr %15, align 8
  %1243 = extractvalue { ptr, i32 } %1241, 1
  store i32 %1243, ptr %16, align 4
  br label %1265

1244:                                             ; preds = %1234
  %1245 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1246 unwind label %1240

1246:                                             ; preds = %1244
  %1247 = load i64, ptr %115, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 56, ptr %117) #7
  %1248 = getelementptr inbounds %"class.vl::collections::Pair.530", ptr %116, i32 0, i32 0
  %1249 = getelementptr inbounds %"class.vl::collections::Pair.530", ptr %116, i32 0, i32 1
  %1250 = load i64, ptr %1249, align 8, !tbaa !80
  invoke void @_ZN2vl7parsing7tabling12ParsingTable12TreeTypeInfoC2ERKNS_12ObjectStringIwEEl(ptr noundef nonnull align 8 dereferenceable(56) %117, ptr noundef nonnull align 8 dereferenceable(48) %1248, i64 noundef %1250)
          to label %1251 unwind label %1256

1251:                                             ; preds = %1246
  invoke void @_ZN2vl7parsing7tabling12ParsingTable15SetTreeTypeInfoElRKNS2_12TreeTypeInfoE(ptr noundef nonnull align 8 dereferenceable(656) %1245, i64 noundef %1247, ptr noundef nonnull align 8 dereferenceable(56) %117)
          to label %1252 unwind label %1260

1252:                                             ; preds = %1251
  call void @_ZN2vl7parsing7tabling12ParsingTable12TreeTypeInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %117) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %117) #7
  br label %1253

1253:                                             ; preds = %1252
  %1254 = load i64, ptr %115, align 8, !tbaa !15
  %1255 = add nsw i64 %1254, 1
  store i64 %1255, ptr %115, align 8, !tbaa !15
  br label %1228, !llvm.loop !82

1256:                                             ; preds = %1246
  %1257 = landingpad { ptr, i32 }
          cleanup
  %1258 = extractvalue { ptr, i32 } %1257, 0
  store ptr %1258, ptr %15, align 8
  %1259 = extractvalue { ptr, i32 } %1257, 1
  store i32 %1259, ptr %16, align 4
  br label %1264

1260:                                             ; preds = %1251
  %1261 = landingpad { ptr, i32 }
          cleanup
  %1262 = extractvalue { ptr, i32 } %1261, 0
  store ptr %1262, ptr %15, align 8
  %1263 = extractvalue { ptr, i32 } %1261, 1
  store i32 %1263, ptr %16, align 4
  call void @_ZN2vl7parsing7tabling12ParsingTable12TreeTypeInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %117) #7
  br label %1264

1264:                                             ; preds = %1260, %1256
  call void @llvm.lifetime.end.p0(i64 56, ptr %117) #7
  br label %1265

1265:                                             ; preds = %1264, %1240
  call void @_ZN2vl11collections4PairINS_12ObjectStringIwEElED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %116) #7
  br label %1266

1266:                                             ; preds = %1265, %1236
  call void @llvm.lifetime.end.p0(i64 56, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %114) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS0_4PairINS_12ObjectStringIwEElEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %113) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %113) #7
  br label %1272

1267:                                             ; preds = %1235
  br label %1268

1268:                                             ; preds = %1267
  store i8 0, ptr %114, align 1, !tbaa !9
  br label %1222, !llvm.loop !83

1269:                                             ; preds = %1225
  br label %1270

1270:                                             ; preds = %1269, %1218
  call void @llvm.lifetime.end.p0(i64 1, ptr %114) #7
  br label %1271

1271:                                             ; preds = %1270
  store i8 0, ptr %111, align 1, !tbaa !9
  br label %1210, !llvm.loop !84

1272:                                             ; preds = %1266, %1214
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  br label %2480

1273:                                             ; preds = %1213
  br label %1274

1274:                                             ; preds = %1273, %1201
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %118) #7
  store i8 1, ptr %118, align 1, !tbaa !9
  %1275 = load i8, ptr %118, align 1, !tbaa !9, !range !11, !noundef !12
  %1276 = trunc i8 %1275 to i1
  br i1 %1276, label %1277, label %1350

1277:                                             ; preds = %1274
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %120) #7
  %1278 = load ptr, ptr %18, align 8, !tbaa !13
  %1279 = getelementptr i8, ptr %1278, i64 -24
  %1280 = load i64, ptr %1279, align 8
  %1281 = getelementptr inbounds i8, ptr %18, i64 %1280
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS0_4PairINS2_INS_12ObjectStringIwEES4_EElEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.531") align 8 %120, ptr noundef nonnull align 8 dereferenceable(8) %1281)
          to label %1282 unwind label %1287

1282:                                             ; preds = %1277
  store ptr %120, ptr %119, align 8, !tbaa !5
  br label %1283

1283:                                             ; preds = %1347, %1282
  %1284 = load i8, ptr %118, align 1, !tbaa !9, !range !11, !noundef !12
  %1285 = trunc i8 %1284 to i1
  br i1 %1285, label %1291, label %1286

1286:                                             ; preds = %1283
  store i32 80, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS0_4PairINS2_INS_12ObjectStringIwEES4_EElEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %120) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %120) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  br label %1349

1287:                                             ; preds = %1277
  %1288 = landingpad { ptr, i32 }
          cleanup
  %1289 = extractvalue { ptr, i32 } %1288, 0
  store ptr %1289, ptr %15, align 8
  %1290 = extractvalue { ptr, i32 } %1288, 1
  store i32 %1290, ptr %16, align 4
  br label %1348

1291:                                             ; preds = %1283
  call void @llvm.lifetime.start.p0(i64 1, ptr %121) #7
  store i8 1, ptr %121, align 1, !tbaa !9
  %1292 = load i8, ptr %121, align 1, !tbaa !9, !range !11, !noundef !12
  %1293 = trunc i8 %1292 to i1
  br i1 %1293, label %1294, label %1346

1294:                                             ; preds = %1291
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #7
  store i64 0, ptr %122, align 8, !tbaa !15
  br label %1295

1295:                                             ; preds = %1344, %1294
  %1296 = load i8, ptr %121, align 1, !tbaa !9, !range !11, !noundef !12
  %1297 = trunc i8 %1296 to i1
  br i1 %1297, label %1299, label %1298

1298:                                             ; preds = %1295
  store i32 83, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #7
  br label %1345

1299:                                             ; preds = %1295
  call void @llvm.lifetime.start.p0(i64 104, ptr %123) #7
  invoke void @_ZN2vl11collections4PairINS1_INS_12ObjectStringIwEES3_EElEC2Ev(ptr noundef nonnull align 8 dereferenceable(104) %123)
          to label %1300 unwind label %1309

1300:                                             ; preds = %1299
  br label %1301

1301:                                             ; preds = %1329, %1300
  %1302 = load ptr, ptr %119, align 8, !tbaa !5
  %1303 = load ptr, ptr %1302, align 8, !tbaa !13
  %1304 = getelementptr inbounds ptr, ptr %1303, i64 2
  %1305 = load ptr, ptr %1304, align 8
  %1306 = invoke noundef zeroext i1 %1305(ptr noundef nonnull align 8 dereferenceable(8) %1302, ptr noundef nonnull align 8 dereferenceable(104) %123)
          to label %1307 unwind label %1313

1307:                                             ; preds = %1301
  br i1 %1306, label %1317, label %1308

1308:                                             ; preds = %1307
  store i32 86, ptr %23, align 4
  call void @_ZN2vl11collections4PairINS1_INS_12ObjectStringIwEES3_EElED2Ev(ptr noundef nonnull align 8 dereferenceable(104) %123) #7
  call void @llvm.lifetime.end.p0(i64 104, ptr %123) #7
  br label %1343

1309:                                             ; preds = %1299
  %1310 = landingpad { ptr, i32 }
          cleanup
  %1311 = extractvalue { ptr, i32 } %1310, 0
  store ptr %1311, ptr %15, align 8
  %1312 = extractvalue { ptr, i32 } %1310, 1
  store i32 %1312, ptr %16, align 4
  br label %1342

1313:                                             ; preds = %1317, %1301
  %1314 = landingpad { ptr, i32 }
          cleanup
  %1315 = extractvalue { ptr, i32 } %1314, 0
  store ptr %1315, ptr %15, align 8
  %1316 = extractvalue { ptr, i32 } %1314, 1
  store i32 %1316, ptr %16, align 4
  br label %1341

1317:                                             ; preds = %1307
  %1318 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1319 unwind label %1313

1319:                                             ; preds = %1317
  %1320 = load i64, ptr %122, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 104, ptr %124) #7
  %1321 = getelementptr inbounds %"class.vl::collections::Pair.534", ptr %123, i32 0, i32 0
  %1322 = getelementptr inbounds %"class.vl::collections::Pair.514", ptr %1321, i32 0, i32 0
  %1323 = getelementptr inbounds %"class.vl::collections::Pair.534", ptr %123, i32 0, i32 0
  %1324 = getelementptr inbounds %"class.vl::collections::Pair.514", ptr %1323, i32 0, i32 1
  %1325 = getelementptr inbounds %"class.vl::collections::Pair.534", ptr %123, i32 0, i32 1
  %1326 = load i64, ptr %1325, align 8, !tbaa !85
  invoke void @_ZN2vl7parsing7tabling12ParsingTable13TreeFieldInfoC2ERKNS_12ObjectStringIwEES7_l(ptr noundef nonnull align 8 dereferenceable(104) %124, ptr noundef nonnull align 8 dereferenceable(48) %1322, ptr noundef nonnull align 8 dereferenceable(48) %1324, i64 noundef %1326)
          to label %1327 unwind label %1332

1327:                                             ; preds = %1319
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16SetTreeFieldInfoElRKNS2_13TreeFieldInfoE(ptr noundef nonnull align 8 dereferenceable(656) %1318, i64 noundef %1320, ptr noundef nonnull align 8 dereferenceable(104) %124)
          to label %1328 unwind label %1336

1328:                                             ; preds = %1327
  call void @_ZN2vl7parsing7tabling12ParsingTable13TreeFieldInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %124) #7
  call void @llvm.lifetime.end.p0(i64 104, ptr %124) #7
  br label %1329

1329:                                             ; preds = %1328
  %1330 = load i64, ptr %122, align 8, !tbaa !15
  %1331 = add nsw i64 %1330, 1
  store i64 %1331, ptr %122, align 8, !tbaa !15
  br label %1301, !llvm.loop !88

1332:                                             ; preds = %1319
  %1333 = landingpad { ptr, i32 }
          cleanup
  %1334 = extractvalue { ptr, i32 } %1333, 0
  store ptr %1334, ptr %15, align 8
  %1335 = extractvalue { ptr, i32 } %1333, 1
  store i32 %1335, ptr %16, align 4
  br label %1340

1336:                                             ; preds = %1327
  %1337 = landingpad { ptr, i32 }
          cleanup
  %1338 = extractvalue { ptr, i32 } %1337, 0
  store ptr %1338, ptr %15, align 8
  %1339 = extractvalue { ptr, i32 } %1337, 1
  store i32 %1339, ptr %16, align 4
  call void @_ZN2vl7parsing7tabling12ParsingTable13TreeFieldInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %124) #7
  br label %1340

1340:                                             ; preds = %1336, %1332
  call void @llvm.lifetime.end.p0(i64 104, ptr %124) #7
  br label %1341

1341:                                             ; preds = %1340, %1313
  call void @_ZN2vl11collections4PairINS1_INS_12ObjectStringIwEES3_EElED2Ev(ptr noundef nonnull align 8 dereferenceable(104) %123) #7
  br label %1342

1342:                                             ; preds = %1341, %1309
  call void @llvm.lifetime.end.p0(i64 104, ptr %123) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %121) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS0_4PairINS2_INS_12ObjectStringIwEES4_EElEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %120) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %120) #7
  br label %1348

1343:                                             ; preds = %1308
  br label %1344

1344:                                             ; preds = %1343
  store i8 0, ptr %121, align 1, !tbaa !9
  br label %1295, !llvm.loop !89

1345:                                             ; preds = %1298
  br label %1346

1346:                                             ; preds = %1345, %1291
  call void @llvm.lifetime.end.p0(i64 1, ptr %121) #7
  br label %1347

1347:                                             ; preds = %1346
  store i8 0, ptr %118, align 1, !tbaa !9
  br label %1283, !llvm.loop !90

1348:                                             ; preds = %1342, %1287
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #7
  br label %2480

1349:                                             ; preds = %1286
  br label %1350

1350:                                             ; preds = %1349, %1274
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %125) #7
  store i8 1, ptr %125, align 1, !tbaa !9
  %1351 = load i8, ptr %125, align 1, !tbaa !9, !range !11, !noundef !12
  %1352 = trunc i8 %1351 to i1
  br i1 %1352, label %1353, label %1434

1353:                                             ; preds = %1350
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %127) #7
  %1354 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lE4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %63)
          to label %1355 unwind label %1365

1355:                                             ; preds = %1353
  %1356 = load ptr, ptr %1354, align 8, !tbaa !13
  %1357 = getelementptr i8, ptr %1356, i64 -24
  %1358 = load i64, ptr %1357, align 8
  %1359 = getelementptr inbounds i8, ptr %1354, i64 %1358
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.506") align 8 %127, ptr noundef nonnull align 8 dereferenceable(8) %1359)
          to label %1360 unwind label %1365

1360:                                             ; preds = %1355
  store ptr %127, ptr %126, align 8, !tbaa !5
  br label %1361

1361:                                             ; preds = %1431, %1360
  %1362 = load i8, ptr %125, align 1, !tbaa !9, !range !11, !noundef !12
  %1363 = trunc i8 %1362 to i1
  br i1 %1363, label %1369, label %1364

1364:                                             ; preds = %1361
  store i32 89, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %127) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %127) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #7
  br label %1433

1365:                                             ; preds = %1355, %1353
  %1366 = landingpad { ptr, i32 }
          cleanup
  %1367 = extractvalue { ptr, i32 } %1366, 0
  store ptr %1367, ptr %15, align 8
  %1368 = extractvalue { ptr, i32 } %1366, 1
  store i32 %1368, ptr %16, align 4
  br label %1432

1369:                                             ; preds = %1361
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #7
  br label %1370

1370:                                             ; preds = %1405, %1369
  %1371 = load ptr, ptr %126, align 8, !tbaa !5
  %1372 = load ptr, ptr %1371, align 8, !tbaa !13
  %1373 = getelementptr inbounds ptr, ptr %1372, i64 2
  %1374 = load ptr, ptr %1373, align 8
  %1375 = invoke noundef zeroext i1 %1374(ptr noundef nonnull align 8 dereferenceable(8) %1371, ptr noundef nonnull align 8 dereferenceable(8) %128)
          to label %1376 unwind label %1378

1376:                                             ; preds = %1370
  br i1 %1375, label %1382, label %1377

1377:                                             ; preds = %1376
  store i32 92, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #7
  br label %1430

1378:                                             ; preds = %1370
  %1379 = landingpad { ptr, i32 }
          cleanup
  %1380 = extractvalue { ptr, i32 } %1379, 0
  store ptr %1380, ptr %15, align 8
  %1381 = extractvalue { ptr, i32 } %1379, 1
  store i32 %1381, ptr %16, align 4
  br label %1429

1382:                                             ; preds = %1376
  call void @llvm.lifetime.start.p0(i64 112, ptr %129) #7
  invoke void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %129)
          to label %1383 unwind label %1406

1383:                                             ; preds = %1382
  %1384 = load ptr, ptr %128, align 8, !tbaa !5
  %1385 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %1384)
  %1386 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TokenInfo", ptr %129, i32 0, i32 0
  %1387 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %1386, ptr noundef nonnull align 8 dereferenceable(48) %1385)
          to label %1388 unwind label %1410

1388:                                             ; preds = %1383
  call void @llvm.lifetime.start.p0(i64 48, ptr %130) #7
  %1389 = load ptr, ptr %128, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorStringEv(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %130, ptr noundef nonnull align 8 dereferenceable(304) %1389)
          to label %1390 unwind label %1414

1390:                                             ; preds = %1388
  %1391 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TokenInfo", ptr %129, i32 0, i32 1
  %1392 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(48) %1391, ptr noundef nonnull align 8 dereferenceable(48) %130)
          to label %1393 unwind label %1418

1393:                                             ; preds = %1390
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %130) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %130) #7
  %1394 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TokenInfo", ptr %129, i32 0, i32 0
  %1395 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEixERKS3_(ptr noundef nonnull align 8 dereferenceable(104) %65, ptr noundef nonnull align 8 dereferenceable(48) %1394)
          to label %1396 unwind label %1410

1396:                                             ; preds = %1393
  %1397 = load i64, ptr %1395, align 8, !tbaa !15
  %1398 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TokenInfo", ptr %129, i32 0, i32 3
  store i64 %1397, ptr %1398, align 8, !tbaa !91
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #7
  %1399 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lEixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %63, ptr noundef nonnull align 8 dereferenceable(8) %128)
          to label %1400 unwind label %1423

1400:                                             ; preds = %1396
  %1401 = load i64, ptr %1399, align 8, !tbaa !15
  store i64 %1401, ptr %131, align 8, !tbaa !15
  %1402 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1403 unwind label %1423

1403:                                             ; preds = %1400
  %1404 = load i64, ptr %131, align 8, !tbaa !15
  invoke void @_ZN2vl7parsing7tabling12ParsingTable12SetTokenInfoElRKNS2_9TokenInfoE(ptr noundef nonnull align 8 dereferenceable(656) %1402, i64 noundef %1404, ptr noundef nonnull align 8 dereferenceable(112) %129)
          to label %1405 unwind label %1423

1405:                                             ; preds = %1403
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #7
  call void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(112) %129) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %129) #7
  br label %1370, !llvm.loop !93

1406:                                             ; preds = %1382
  %1407 = landingpad { ptr, i32 }
          cleanup
  %1408 = extractvalue { ptr, i32 } %1407, 0
  store ptr %1408, ptr %15, align 8
  %1409 = extractvalue { ptr, i32 } %1407, 1
  store i32 %1409, ptr %16, align 4
  br label %1428

1410:                                             ; preds = %1393, %1383
  %1411 = landingpad { ptr, i32 }
          cleanup
  %1412 = extractvalue { ptr, i32 } %1411, 0
  store ptr %1412, ptr %15, align 8
  %1413 = extractvalue { ptr, i32 } %1411, 1
  store i32 %1413, ptr %16, align 4
  br label %1427

1414:                                             ; preds = %1388
  %1415 = landingpad { ptr, i32 }
          cleanup
  %1416 = extractvalue { ptr, i32 } %1415, 0
  store ptr %1416, ptr %15, align 8
  %1417 = extractvalue { ptr, i32 } %1415, 1
  store i32 %1417, ptr %16, align 4
  br label %1422

1418:                                             ; preds = %1390
  %1419 = landingpad { ptr, i32 }
          cleanup
  %1420 = extractvalue { ptr, i32 } %1419, 0
  store ptr %1420, ptr %15, align 8
  %1421 = extractvalue { ptr, i32 } %1419, 1
  store i32 %1421, ptr %16, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %130) #7
  br label %1422

1422:                                             ; preds = %1418, %1414
  call void @llvm.lifetime.end.p0(i64 48, ptr %130) #7
  br label %1427

1423:                                             ; preds = %1403, %1400, %1396
  %1424 = landingpad { ptr, i32 }
          cleanup
  %1425 = extractvalue { ptr, i32 } %1424, 0
  store ptr %1425, ptr %15, align 8
  %1426 = extractvalue { ptr, i32 } %1424, 1
  store i32 %1426, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #7
  br label %1427

1427:                                             ; preds = %1423, %1422, %1410
  call void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(112) %129) #7
  br label %1428

1428:                                             ; preds = %1427, %1406
  call void @llvm.lifetime.end.p0(i64 112, ptr %129) #7
  br label %1429

1429:                                             ; preds = %1428, %1378
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %127) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %127) #7
  br label %1432

1430:                                             ; preds = %1377
  br label %1431

1431:                                             ; preds = %1430
  store i8 0, ptr %125, align 1, !tbaa !9
  br label %1361, !llvm.loop !94

1432:                                             ; preds = %1429, %1365
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %125) #7
  br label %2480

1433:                                             ; preds = %1364
  br label %1434

1434:                                             ; preds = %1433, %1350
  call void @llvm.lifetime.end.p0(i64 1, ptr %125) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %132) #7
  store i8 1, ptr %132, align 1, !tbaa !9
  %1435 = load i8, ptr %132, align 1, !tbaa !9, !range !11, !noundef !12
  %1436 = trunc i8 %1435 to i1
  br i1 %1436, label %1437, label %1541

1437:                                             ; preds = %1434
  call void @llvm.lifetime.start.p0(i64 8, ptr %133) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %134) #7
  %1438 = load ptr, ptr %64, align 8, !tbaa !13
  %1439 = getelementptr i8, ptr %1438, i64 -24
  %1440 = load i64, ptr %1439, align 8
  %1441 = getelementptr inbounds i8, ptr %64, i64 %1440
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_12ObjectStringIwEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS5_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator") align 8 %134, ptr noundef nonnull align 8 dereferenceable(8) %1441)
          to label %1442 unwind label %1447

1442:                                             ; preds = %1437
  store ptr %134, ptr %133, align 8, !tbaa !5
  br label %1443

1443:                                             ; preds = %1538, %1442
  %1444 = load i8, ptr %132, align 1, !tbaa !9, !range !11, !noundef !12
  %1445 = trunc i8 %1444 to i1
  br i1 %1445, label %1451, label %1446

1446:                                             ; preds = %1443
  store i32 94, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_12ObjectStringIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %134) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %134) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %133) #7
  br label %1540

1447:                                             ; preds = %1437
  %1448 = landingpad { ptr, i32 }
          cleanup
  %1449 = extractvalue { ptr, i32 } %1448, 0
  store ptr %1449, ptr %15, align 8
  %1450 = extractvalue { ptr, i32 } %1448, 1
  store i32 %1450, ptr %16, align 4
  br label %1539

1451:                                             ; preds = %1443
  call void @llvm.lifetime.start.p0(i64 1, ptr %135) #7
  store i8 1, ptr %135, align 1, !tbaa !9
  %1452 = load i8, ptr %135, align 1, !tbaa !9, !range !11, !noundef !12
  %1453 = trunc i8 %1452 to i1
  br i1 %1453, label %1454, label %1537

1454:                                             ; preds = %1451
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #7
  store i64 0, ptr %136, align 8, !tbaa !15
  br label %1455

1455:                                             ; preds = %1535, %1454
  %1456 = load i8, ptr %135, align 1, !tbaa !9, !range !11, !noundef !12
  %1457 = trunc i8 %1456 to i1
  br i1 %1457, label %1459, label %1458

1458:                                             ; preds = %1455
  store i32 97, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #7
  br label %1536

1459:                                             ; preds = %1455
  call void @llvm.lifetime.start.p0(i64 48, ptr %137) #7
  invoke void @_ZN2vl12ObjectStringIwEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %137)
          to label %1460 unwind label %1469

1460:                                             ; preds = %1459
  br label %1461

1461:                                             ; preds = %1505, %1460
  %1462 = load ptr, ptr %133, align 8, !tbaa !5
  %1463 = load ptr, ptr %1462, align 8, !tbaa !13
  %1464 = getelementptr inbounds ptr, ptr %1463, i64 2
  %1465 = load ptr, ptr %1464, align 8
  %1466 = invoke noundef zeroext i1 %1465(ptr noundef nonnull align 8 dereferenceable(8) %1462, ptr noundef nonnull align 8 dereferenceable(48) %137)
          to label %1467 unwind label %1473

1467:                                             ; preds = %1461
  br i1 %1466, label %1477, label %1468

1468:                                             ; preds = %1467
  store i32 100, ptr %23, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %137) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %137) #7
  br label %1534

1469:                                             ; preds = %1459
  %1470 = landingpad { ptr, i32 }
          cleanup
  %1471 = extractvalue { ptr, i32 } %1470, 0
  store ptr %1471, ptr %15, align 8
  %1472 = extractvalue { ptr, i32 } %1470, 1
  store i32 %1472, ptr %16, align 4
  br label %1533

1473:                                             ; preds = %1461
  %1474 = landingpad { ptr, i32 }
          cleanup
  %1475 = extractvalue { ptr, i32 } %1474, 0
  store ptr %1475, ptr %15, align 8
  %1476 = extractvalue { ptr, i32 } %1474, 1
  store i32 %1476, ptr %16, align 4
  br label %1532

1477:                                             ; preds = %1467
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #7
  %1478 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %1479 unwind label %1508

1479:                                             ; preds = %1477
  %1480 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %1478, i32 0, i32 1
  %1481 = load ptr, ptr %1480, align 8, !tbaa !47
  %1482 = call noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager9GetGlobalEv(ptr noundef nonnull align 8 dereferenceable(632) %1481)
  %1483 = invoke noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol18GetSubSymbolByNameERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(304) %1482, ptr noundef nonnull align 8 dereferenceable(48) %137)
          to label %1484 unwind label %1508

1484:                                             ; preds = %1479
  store ptr %1483, ptr %138, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 112, ptr %139) #7
  invoke void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %139)
          to label %1485 unwind label %1512

1485:                                             ; preds = %1484
  %1486 = load ptr, ptr %138, align 8, !tbaa !5
  %1487 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %1486)
  %1488 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TokenInfo", ptr %139, i32 0, i32 0
  %1489 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %1488, ptr noundef nonnull align 8 dereferenceable(48) %1487)
          to label %1490 unwind label %1516

1490:                                             ; preds = %1485
  call void @llvm.lifetime.start.p0(i64 48, ptr %140) #7
  %1491 = load ptr, ptr %138, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorStringEv(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %140, ptr noundef nonnull align 8 dereferenceable(304) %1491)
          to label %1492 unwind label %1520

1492:                                             ; preds = %1490
  %1493 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TokenInfo", ptr %139, i32 0, i32 1
  %1494 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(48) %1493, ptr noundef nonnull align 8 dereferenceable(48) %140)
          to label %1495 unwind label %1524

1495:                                             ; preds = %1492
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %140) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %140) #7
  %1496 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TokenInfo", ptr %139, i32 0, i32 0
  %1497 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEixERKS3_(ptr noundef nonnull align 8 dereferenceable(104) %65, ptr noundef nonnull align 8 dereferenceable(48) %1496)
          to label %1498 unwind label %1516

1498:                                             ; preds = %1495
  %1499 = load i64, ptr %1497, align 8, !tbaa !15
  %1500 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TokenInfo", ptr %139, i32 0, i32 3
  store i64 %1499, ptr %1500, align 8, !tbaa !91
  %1501 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1502 unwind label %1516

1502:                                             ; preds = %1498
  %1503 = load i64, ptr %136, align 8, !tbaa !15
  invoke void @_ZN2vl7parsing7tabling12ParsingTable19SetDiscardTokenInfoElRKNS2_9TokenInfoE(ptr noundef nonnull align 8 dereferenceable(656) %1501, i64 noundef %1503, ptr noundef nonnull align 8 dereferenceable(112) %139)
          to label %1504 unwind label %1516

1504:                                             ; preds = %1502
  call void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(112) %139) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %139) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #7
  br label %1505

1505:                                             ; preds = %1504
  %1506 = load i64, ptr %136, align 8, !tbaa !15
  %1507 = add nsw i64 %1506, 1
  store i64 %1507, ptr %136, align 8, !tbaa !15
  br label %1461, !llvm.loop !95

1508:                                             ; preds = %1479, %1477
  %1509 = landingpad { ptr, i32 }
          cleanup
  %1510 = extractvalue { ptr, i32 } %1509, 0
  store ptr %1510, ptr %15, align 8
  %1511 = extractvalue { ptr, i32 } %1509, 1
  store i32 %1511, ptr %16, align 4
  br label %1531

1512:                                             ; preds = %1484
  %1513 = landingpad { ptr, i32 }
          cleanup
  %1514 = extractvalue { ptr, i32 } %1513, 0
  store ptr %1514, ptr %15, align 8
  %1515 = extractvalue { ptr, i32 } %1513, 1
  store i32 %1515, ptr %16, align 4
  br label %1530

1516:                                             ; preds = %1502, %1498, %1495, %1485
  %1517 = landingpad { ptr, i32 }
          cleanup
  %1518 = extractvalue { ptr, i32 } %1517, 0
  store ptr %1518, ptr %15, align 8
  %1519 = extractvalue { ptr, i32 } %1517, 1
  store i32 %1519, ptr %16, align 4
  br label %1529

1520:                                             ; preds = %1490
  %1521 = landingpad { ptr, i32 }
          cleanup
  %1522 = extractvalue { ptr, i32 } %1521, 0
  store ptr %1522, ptr %15, align 8
  %1523 = extractvalue { ptr, i32 } %1521, 1
  store i32 %1523, ptr %16, align 4
  br label %1528

1524:                                             ; preds = %1492
  %1525 = landingpad { ptr, i32 }
          cleanup
  %1526 = extractvalue { ptr, i32 } %1525, 0
  store ptr %1526, ptr %15, align 8
  %1527 = extractvalue { ptr, i32 } %1525, 1
  store i32 %1527, ptr %16, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %140) #7
  br label %1528

1528:                                             ; preds = %1524, %1520
  call void @llvm.lifetime.end.p0(i64 48, ptr %140) #7
  br label %1529

1529:                                             ; preds = %1528, %1516
  call void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(112) %139) #7
  br label %1530

1530:                                             ; preds = %1529, %1512
  call void @llvm.lifetime.end.p0(i64 112, ptr %139) #7
  br label %1531

1531:                                             ; preds = %1530, %1508
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #7
  br label %1532

1532:                                             ; preds = %1531, %1473
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %137) #7
  br label %1533

1533:                                             ; preds = %1532, %1469
  call void @llvm.lifetime.end.p0(i64 48, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_12ObjectStringIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %134) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %134) #7
  br label %1539

1534:                                             ; preds = %1468
  br label %1535

1535:                                             ; preds = %1534
  store i8 0, ptr %135, align 1, !tbaa !9
  br label %1455, !llvm.loop !96

1536:                                             ; preds = %1458
  br label %1537

1537:                                             ; preds = %1536, %1451
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  br label %1538

1538:                                             ; preds = %1537
  store i8 0, ptr %132, align 1, !tbaa !9
  br label %1443, !llvm.loop !97

1539:                                             ; preds = %1533, %1447
  call void @llvm.lifetime.end.p0(i64 8, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %132) #7
  br label %2480

1540:                                             ; preds = %1446
  br label %1541

1541:                                             ; preds = %1540, %1434
  call void @llvm.lifetime.end.p0(i64 1, ptr %132) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %141) #7
  store i8 1, ptr %141, align 1, !tbaa !9
  %1542 = load i8, ptr %141, align 1, !tbaa !9, !range !11, !noundef !12
  %1543 = trunc i8 %1542 to i1
  br i1 %1543, label %1544, label %1731

1544:                                             ; preds = %1541
  call void @llvm.lifetime.start.p0(i64 8, ptr %142) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %143) #7
  %1545 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %1546 unwind label %1559

1546:                                             ; preds = %1544
  %1547 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %1545, i32 0, i32 4
  %1548 = invoke noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %1547)
          to label %1549 unwind label %1559

1549:                                             ; preds = %1546
  %1550 = load ptr, ptr %1548, align 8, !tbaa !13
  %1551 = getelementptr i8, ptr %1550, i64 -24
  %1552 = load i64, ptr %1551, align 8
  %1553 = getelementptr inbounds i8, ptr %1548, i64 %1552
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.535") align 8 %143, ptr noundef nonnull align 8 dereferenceable(8) %1553)
          to label %1554 unwind label %1559

1554:                                             ; preds = %1549
  store ptr %143, ptr %142, align 8, !tbaa !5
  br label %1555

1555:                                             ; preds = %1728, %1554
  %1556 = load i8, ptr %141, align 1, !tbaa !9, !range !11, !noundef !12
  %1557 = trunc i8 %1556 to i1
  br i1 %1557, label %1563, label %1558

1558:                                             ; preds = %1555
  store i32 103, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %143) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %143) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #7
  br label %1730

1559:                                             ; preds = %1549, %1546, %1544
  %1560 = landingpad { ptr, i32 }
          cleanup
  %1561 = extractvalue { ptr, i32 } %1560, 0
  store ptr %1561, ptr %15, align 8
  %1562 = extractvalue { ptr, i32 } %1560, 1
  store i32 %1562, ptr %16, align 4
  br label %1729

1563:                                             ; preds = %1555
  call void @llvm.lifetime.start.p0(i64 1, ptr %144) #7
  store i8 1, ptr %144, align 1, !tbaa !9
  %1564 = load i8, ptr %144, align 1, !tbaa !9, !range !11, !noundef !12
  %1565 = trunc i8 %1564 to i1
  br i1 %1565, label %1566, label %1727

1566:                                             ; preds = %1563
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #7
  store i64 0, ptr %145, align 8, !tbaa !15
  br label %1567

1567:                                             ; preds = %1725, %1566
  %1568 = load i8, ptr %144, align 1, !tbaa !9, !range !11, !noundef !12
  %1569 = trunc i8 %1568 to i1
  br i1 %1569, label %1571, label %1570

1570:                                             ; preds = %1567
  store i32 106, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #7
  br label %1726

1571:                                             ; preds = %1567
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #7
  br label %1572

1572:                                             ; preds = %1715, %1571
  %1573 = load ptr, ptr %142, align 8, !tbaa !5
  %1574 = load ptr, ptr %1573, align 8, !tbaa !13
  %1575 = getelementptr inbounds ptr, ptr %1574, i64 2
  %1576 = load ptr, ptr %1575, align 8
  %1577 = invoke noundef zeroext i1 %1576(ptr noundef nonnull align 8 dereferenceable(8) %1573, ptr noundef nonnull align 8 dereferenceable(8) %146)
          to label %1578 unwind label %1580

1578:                                             ; preds = %1572
  br i1 %1577, label %1584, label %1579

1579:                                             ; preds = %1578
  store i32 109, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #7
  br label %1724

1580:                                             ; preds = %1572
  %1581 = landingpad { ptr, i32 }
          cleanup
  %1582 = extractvalue { ptr, i32 } %1581, 0
  store ptr %1582, ptr %15, align 8
  %1583 = extractvalue { ptr, i32 } %1581, 1
  store i32 %1583, ptr %16, align 4
  br label %1723

1584:                                             ; preds = %1578
  call void @llvm.lifetime.start.p0(i64 32, ptr %147) #7
  %1585 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %1586 unwind label %1656

1586:                                             ; preds = %1584
  %1587 = getelementptr inbounds %"class.vl::parsing::analyzing::Automaton", ptr %1585, i32 0, i32 4
  %1588 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %1587, ptr noundef nonnull align 8 dereferenceable(8) %146)
          to label %1589 unwind label %1656

1589:                                             ; preds = %1586
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef nonnull align 8 dereferenceable(32) %1588)
          to label %1590 unwind label %1656

1590:                                             ; preds = %1589
  call void @llvm.lifetime.start.p0(i64 160, ptr %148) #7
  invoke void @_ZN2vl7parsing7tabling12ParsingTable8RuleInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(160) %148)
          to label %1591 unwind label %1660

1591:                                             ; preds = %1590
  %1592 = load ptr, ptr %146, align 8, !tbaa !5
  %1593 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %1592, i32 0, i32 1
  %1594 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::RuleInfo", ptr %148, i32 0, i32 0
  %1595 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %1594, ptr noundef nonnull align 8 dereferenceable(48) %1593)
          to label %1596 unwind label %1664

1596:                                             ; preds = %1591
  call void @llvm.lifetime.start.p0(i64 48, ptr %149) #7
  %1597 = load ptr, ptr %146, align 8, !tbaa !5
  %1598 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %1597, i32 0, i32 2
  %1599 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions21ParsingDefinitionTypeEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %1598)
          to label %1600 unwind label %1668

1600:                                             ; preds = %1596
  invoke void @_ZN2vl7parsing11definitions12TypeToStringEPNS1_21ParsingDefinitionTypeE(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %149, ptr noundef %1599)
          to label %1601 unwind label %1668

1601:                                             ; preds = %1600
  %1602 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::RuleInfo", ptr %148, i32 0, i32 1
  %1603 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(48) %1602, ptr noundef nonnull align 8 dereferenceable(48) %149)
          to label %1604 unwind label %1672

1604:                                             ; preds = %1601
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %149) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %149) #7
  %1605 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %1606 unwind label %1664

1606:                                             ; preds = %1604
  %1607 = getelementptr inbounds %"class.vl::parsing::analyzing::RuleInfo", ptr %1605, i32 0, i32 1
  %1608 = invoke noundef i64 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %83, ptr noundef nonnull align 8 dereferenceable(8) %1607)
          to label %1609 unwind label %1664

1609:                                             ; preds = %1606
  %1610 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::RuleInfo", ptr %148, i32 0, i32 3
  store i64 %1608, ptr %1610, align 8, !tbaa !98
  %1611 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::RuleInfo", ptr %148, i32 0, i32 0
  %1612 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEixERKS3_(ptr noundef nonnull align 8 dereferenceable(104) %66, ptr noundef nonnull align 8 dereferenceable(48) %1611)
          to label %1613 unwind label %1664

1613:                                             ; preds = %1609
  %1614 = load i64, ptr %1612, align 8, !tbaa !15
  %1615 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::RuleInfo", ptr %148, i32 0, i32 4
  store i64 %1614, ptr %1615, align 8, !tbaa !100
  call void @llvm.lifetime.start.p0(i64 32, ptr %150) #7
  %1616 = load ptr, ptr %146, align 8, !tbaa !5
  %1617 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %1616, i32 0, i32 2
  invoke void @_ZNK2vl3PtrINS_7parsing11definitions21ParsingDefinitionTypeEE4CastINS2_30ParsingDefinitionPrimitiveTypeEEENS0_IT_EEv(ptr dead_on_unwind writable sret(%"class.vl::Ptr.538") align 8 %150, ptr noundef nonnull align 8 dereferenceable(32) %1617)
          to label %1618 unwind label %1677

1618:                                             ; preds = %1613
  %1619 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing11definitions30ParsingDefinitionPrimitiveTypeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1620 unwind label %1681

1620:                                             ; preds = %1618
  br i1 %1619, label %1621, label %1710

1621:                                             ; preds = %1620
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #7
  %1622 = load ptr, ptr %9, align 8, !tbaa !5
  %1623 = call noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager9GetGlobalEv(ptr noundef nonnull align 8 dereferenceable(632) %1622)
  %1624 = load ptr, ptr %146, align 8, !tbaa !5
  %1625 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %1624, i32 0, i32 1
  %1626 = invoke noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol18GetSubSymbolByNameERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(304) %1623, ptr noundef nonnull align 8 dereferenceable(48) %1625)
          to label %1627 unwind label %1685

1627:                                             ; preds = %1621
  store ptr %1626, ptr %151, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #7
  %1628 = load ptr, ptr %151, align 8, !tbaa !5
  %1629 = call noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorSymbolEv(ptr noundef nonnull align 8 dereferenceable(304) %1628)
  store ptr %1629, ptr %152, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #7
  %1630 = load ptr, ptr %9, align 8, !tbaa !5
  %1631 = load ptr, ptr %152, align 8, !tbaa !5
  %1632 = invoke noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager23CacheGetClassDefinitionEPNS1_13ParsingSymbolE(ptr noundef nonnull align 8 dereferenceable(632) %1630, ptr noundef %1631)
          to label %1633 unwind label %1689

1633:                                             ; preds = %1627
  store ptr %1632, ptr %153, align 8, !tbaa !5
  %1634 = load ptr, ptr %153, align 8, !tbaa !5
  %1635 = icmp ne ptr %1634, null
  br i1 %1635, label %1636, label %1707

1636:                                             ; preds = %1633
  %1637 = load ptr, ptr %153, align 8, !tbaa !5
  %1638 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionClassDefinition", ptr %1637, i32 0, i32 1
  %1639 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing11definitions21ParsingDefinitionTypeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %1638)
          to label %1640 unwind label %1689

1640:                                             ; preds = %1636
  br i1 %1639, label %1641, label %1707

1641:                                             ; preds = %1640
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #7
  %1642 = load ptr, ptr %9, align 8, !tbaa !5
  %1643 = load ptr, ptr %153, align 8, !tbaa !5
  %1644 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionClassDefinition", ptr %1643, i32 0, i32 1
  %1645 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions21ParsingDefinitionTypeEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %1644)
          to label %1646 unwind label %1693

1646:                                             ; preds = %1641
  %1647 = load ptr, ptr %152, align 8, !tbaa !5
  %1648 = call noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol15GetParentSymbolEv(ptr noundef nonnull align 8 dereferenceable(304) %1647)
  %1649 = invoke noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager12CacheGetTypeEPNS0_11definitions21ParsingDefinitionTypeEPNS1_13ParsingSymbolE(ptr noundef nonnull align 8 dereferenceable(632) %1642, ptr noundef %1645, ptr noundef %1648)
          to label %1650 unwind label %1693

1650:                                             ; preds = %1646
  store ptr %1649, ptr %154, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 48, ptr %155) #7
  %1651 = load ptr, ptr %154, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing15GetTypeFullNameEPNS1_13ParsingSymbolE(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %155, ptr noundef %1651)
          to label %1652 unwind label %1697

1652:                                             ; preds = %1650
  %1653 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::RuleInfo", ptr %148, i32 0, i32 2
  %1654 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(48) %1653, ptr noundef nonnull align 8 dereferenceable(48) %155)
          to label %1655 unwind label %1701

1655:                                             ; preds = %1652
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %155) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %155) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #7
  br label %1707

1656:                                             ; preds = %1589, %1586, %1584
  %1657 = landingpad { ptr, i32 }
          cleanup
  %1658 = extractvalue { ptr, i32 } %1657, 0
  store ptr %1658, ptr %15, align 8
  %1659 = extractvalue { ptr, i32 } %1657, 1
  store i32 %1659, ptr %16, align 4
  br label %1722

1660:                                             ; preds = %1590
  %1661 = landingpad { ptr, i32 }
          cleanup
  %1662 = extractvalue { ptr, i32 } %1661, 0
  store ptr %1662, ptr %15, align 8
  %1663 = extractvalue { ptr, i32 } %1661, 1
  store i32 %1663, ptr %16, align 4
  br label %1721

1664:                                             ; preds = %1712, %1710, %1609, %1606, %1604, %1591
  %1665 = landingpad { ptr, i32 }
          cleanup
  %1666 = extractvalue { ptr, i32 } %1665, 0
  store ptr %1666, ptr %15, align 8
  %1667 = extractvalue { ptr, i32 } %1665, 1
  store i32 %1667, ptr %16, align 4
  br label %1720

1668:                                             ; preds = %1600, %1596
  %1669 = landingpad { ptr, i32 }
          cleanup
  %1670 = extractvalue { ptr, i32 } %1669, 0
  store ptr %1670, ptr %15, align 8
  %1671 = extractvalue { ptr, i32 } %1669, 1
  store i32 %1671, ptr %16, align 4
  br label %1676

1672:                                             ; preds = %1601
  %1673 = landingpad { ptr, i32 }
          cleanup
  %1674 = extractvalue { ptr, i32 } %1673, 0
  store ptr %1674, ptr %15, align 8
  %1675 = extractvalue { ptr, i32 } %1673, 1
  store i32 %1675, ptr %16, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %149) #7
  br label %1676

1676:                                             ; preds = %1672, %1668
  call void @llvm.lifetime.end.p0(i64 48, ptr %149) #7
  br label %1720

1677:                                             ; preds = %1613
  %1678 = landingpad { ptr, i32 }
          cleanup
  %1679 = extractvalue { ptr, i32 } %1678, 0
  store ptr %1679, ptr %15, align 8
  %1680 = extractvalue { ptr, i32 } %1678, 1
  store i32 %1680, ptr %16, align 4
  br label %1719

1681:                                             ; preds = %1618
  %1682 = landingpad { ptr, i32 }
          cleanup
  %1683 = extractvalue { ptr, i32 } %1682, 0
  store ptr %1683, ptr %15, align 8
  %1684 = extractvalue { ptr, i32 } %1682, 1
  store i32 %1684, ptr %16, align 4
  br label %1718

1685:                                             ; preds = %1621
  %1686 = landingpad { ptr, i32 }
          cleanup
  %1687 = extractvalue { ptr, i32 } %1686, 0
  store ptr %1687, ptr %15, align 8
  %1688 = extractvalue { ptr, i32 } %1686, 1
  store i32 %1688, ptr %16, align 4
  br label %1709

1689:                                             ; preds = %1636, %1627
  %1690 = landingpad { ptr, i32 }
          cleanup
  %1691 = extractvalue { ptr, i32 } %1690, 0
  store ptr %1691, ptr %15, align 8
  %1692 = extractvalue { ptr, i32 } %1690, 1
  store i32 %1692, ptr %16, align 4
  br label %1708

1693:                                             ; preds = %1646, %1641
  %1694 = landingpad { ptr, i32 }
          cleanup
  %1695 = extractvalue { ptr, i32 } %1694, 0
  store ptr %1695, ptr %15, align 8
  %1696 = extractvalue { ptr, i32 } %1694, 1
  store i32 %1696, ptr %16, align 4
  br label %1706

1697:                                             ; preds = %1650
  %1698 = landingpad { ptr, i32 }
          cleanup
  %1699 = extractvalue { ptr, i32 } %1698, 0
  store ptr %1699, ptr %15, align 8
  %1700 = extractvalue { ptr, i32 } %1698, 1
  store i32 %1700, ptr %16, align 4
  br label %1705

1701:                                             ; preds = %1652
  %1702 = landingpad { ptr, i32 }
          cleanup
  %1703 = extractvalue { ptr, i32 } %1702, 0
  store ptr %1703, ptr %15, align 8
  %1704 = extractvalue { ptr, i32 } %1702, 1
  store i32 %1704, ptr %16, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %155) #7
  br label %1705

1705:                                             ; preds = %1701, %1697
  call void @llvm.lifetime.end.p0(i64 48, ptr %155) #7
  br label %1706

1706:                                             ; preds = %1705, %1693
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #7
  br label %1708

1707:                                             ; preds = %1655, %1640, %1633
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #7
  br label %1710

1708:                                             ; preds = %1706, %1689
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #7
  br label %1709

1709:                                             ; preds = %1708, %1685
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #7
  br label %1718

1710:                                             ; preds = %1707, %1620
  call void @_ZN2vl3PtrINS_7parsing11definitions30ParsingDefinitionPrimitiveTypeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  %1711 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1712 unwind label %1664

1712:                                             ; preds = %1710
  %1713 = load i64, ptr %145, align 8, !tbaa !15
  invoke void @_ZN2vl7parsing7tabling12ParsingTable11SetRuleInfoElRKNS2_8RuleInfoE(ptr noundef nonnull align 8 dereferenceable(656) %1711, i64 noundef %1713, ptr noundef nonnull align 8 dereferenceable(160) %148)
          to label %1714 unwind label %1664

1714:                                             ; preds = %1712
  call void @_ZN2vl7parsing7tabling12ParsingTable8RuleInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(160) %148) #7
  call void @llvm.lifetime.end.p0(i64 160, ptr %148) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #7
  br label %1715

1715:                                             ; preds = %1714
  %1716 = load i64, ptr %145, align 8, !tbaa !15
  %1717 = add nsw i64 %1716, 1
  store i64 %1717, ptr %145, align 8, !tbaa !15
  br label %1572, !llvm.loop !101

1718:                                             ; preds = %1709, %1681
  call void @_ZN2vl3PtrINS_7parsing11definitions30ParsingDefinitionPrimitiveTypeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #7
  br label %1719

1719:                                             ; preds = %1718, %1677
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #7
  br label %1720

1720:                                             ; preds = %1719, %1676, %1664
  call void @_ZN2vl7parsing7tabling12ParsingTable8RuleInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(160) %148) #7
  br label %1721

1721:                                             ; preds = %1720, %1660
  call void @llvm.lifetime.end.p0(i64 160, ptr %148) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #7
  br label %1722

1722:                                             ; preds = %1721, %1656
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #7
  br label %1723

1723:                                             ; preds = %1722, %1580
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %144) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %143) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %143) #7
  br label %1729

1724:                                             ; preds = %1579
  br label %1725

1725:                                             ; preds = %1724
  store i8 0, ptr %144, align 1, !tbaa !9
  br label %1567, !llvm.loop !102

1726:                                             ; preds = %1570
  br label %1727

1727:                                             ; preds = %1726, %1563
  call void @llvm.lifetime.end.p0(i64 1, ptr %144) #7
  br label %1728

1728:                                             ; preds = %1727
  store i8 0, ptr %141, align 1, !tbaa !9
  br label %1555, !llvm.loop !103

1729:                                             ; preds = %1723, %1559
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %141) #7
  br label %2480

1730:                                             ; preds = %1558
  br label %1731

1731:                                             ; preds = %1730, %1541
  call void @llvm.lifetime.end.p0(i64 1, ptr %141) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %156) #7
  store i8 1, ptr %156, align 1, !tbaa !9
  %1732 = load i8, ptr %156, align 1, !tbaa !9, !range !11, !noundef !12
  %1733 = trunc i8 %1732 to i1
  br i1 %1733, label %1734, label %1812

1734:                                             ; preds = %1731
  call void @llvm.lifetime.start.p0(i64 8, ptr %157) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %158) #7
  %1735 = load ptr, ptr %83, align 8, !tbaa !13
  %1736 = getelementptr i8, ptr %1735, i64 -24
  %1737 = load i64, ptr %1736, align 8
  %1738 = getelementptr inbounds i8, ptr %83, i64 %1737
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing5StateEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.539") align 8 %158, ptr noundef nonnull align 8 dereferenceable(8) %1738)
          to label %1739 unwind label %1744

1739:                                             ; preds = %1734
  store ptr %158, ptr %157, align 8, !tbaa !5
  br label %1740

1740:                                             ; preds = %1809, %1739
  %1741 = load i8, ptr %156, align 1, !tbaa !9, !range !11, !noundef !12
  %1742 = trunc i8 %1741 to i1
  br i1 %1742, label %1748, label %1743

1743:                                             ; preds = %1740
  store i32 112, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %158) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %158) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #7
  br label %1811

1744:                                             ; preds = %1734
  %1745 = landingpad { ptr, i32 }
          cleanup
  %1746 = extractvalue { ptr, i32 } %1745, 0
  store ptr %1746, ptr %15, align 8
  %1747 = extractvalue { ptr, i32 } %1745, 1
  store i32 %1747, ptr %16, align 4
  br label %1810

1748:                                             ; preds = %1740
  call void @llvm.lifetime.start.p0(i64 1, ptr %159) #7
  store i8 1, ptr %159, align 1, !tbaa !9
  %1749 = load i8, ptr %159, align 1, !tbaa !9, !range !11, !noundef !12
  %1750 = trunc i8 %1749 to i1
  br i1 %1750, label %1751, label %1808

1751:                                             ; preds = %1748
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #7
  store i64 0, ptr %160, align 8, !tbaa !15
  br label %1752

1752:                                             ; preds = %1806, %1751
  %1753 = load i8, ptr %159, align 1, !tbaa !9, !range !11, !noundef !12
  %1754 = trunc i8 %1753 to i1
  br i1 %1754, label %1756, label %1755

1755:                                             ; preds = %1752
  store i32 115, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #7
  br label %1807

1756:                                             ; preds = %1752
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #7
  br label %1757

1757:                                             ; preds = %1792, %1756
  %1758 = load ptr, ptr %157, align 8, !tbaa !5
  %1759 = load ptr, ptr %1758, align 8, !tbaa !13
  %1760 = getelementptr inbounds ptr, ptr %1759, i64 2
  %1761 = load ptr, ptr %1760, align 8
  %1762 = invoke noundef zeroext i1 %1761(ptr noundef nonnull align 8 dereferenceable(8) %1758, ptr noundef nonnull align 8 dereferenceable(8) %161)
          to label %1763 unwind label %1765

1763:                                             ; preds = %1757
  br i1 %1762, label %1769, label %1764

1764:                                             ; preds = %1763
  store i32 118, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #7
  br label %1805

1765:                                             ; preds = %1757
  %1766 = landingpad { ptr, i32 }
          cleanup
  %1767 = extractvalue { ptr, i32 } %1766, 0
  store ptr %1767, ptr %15, align 8
  %1768 = extractvalue { ptr, i32 } %1766, 1
  store i32 %1768, ptr %16, align 4
  br label %1804

1769:                                             ; preds = %1763
  call void @llvm.lifetime.start.p0(i64 192, ptr %162) #7
  invoke void @_ZN2vl7parsing7tabling12ParsingTable9StateInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(192) %162)
          to label %1770 unwind label %1795

1770:                                             ; preds = %1769
  %1771 = load ptr, ptr %161, align 8, !tbaa !5
  %1772 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %1771, i32 0, i32 5
  %1773 = load ptr, ptr %1772, align 8, !tbaa !104
  %1774 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %1773, i32 0, i32 1
  %1775 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::StateInfo", ptr %162, i32 0, i32 0
  %1776 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %1775, ptr noundef nonnull align 8 dereferenceable(48) %1774)
          to label %1777 unwind label %1799

1777:                                             ; preds = %1770
  %1778 = load ptr, ptr %161, align 8, !tbaa !5
  %1779 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %1778, i32 0, i32 9
  %1780 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::StateInfo", ptr %162, i32 0, i32 1
  %1781 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %1780, ptr noundef nonnull align 8 dereferenceable(48) %1779)
          to label %1782 unwind label %1799

1782:                                             ; preds = %1777
  %1783 = load ptr, ptr %161, align 8, !tbaa !5
  %1784 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %1783, i32 0, i32 10
  %1785 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::StateInfo", ptr %162, i32 0, i32 2
  %1786 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %1785, ptr noundef nonnull align 8 dereferenceable(48) %1784)
          to label %1787 unwind label %1799

1787:                                             ; preds = %1782
  %1788 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1789 unwind label %1799

1789:                                             ; preds = %1787
  %1790 = load i64, ptr %160, align 8, !tbaa !15
  invoke void @_ZN2vl7parsing7tabling12ParsingTable12SetStateInfoElRKNS2_9StateInfoE(ptr noundef nonnull align 8 dereferenceable(656) %1788, i64 noundef %1790, ptr noundef nonnull align 8 dereferenceable(192) %162)
          to label %1791 unwind label %1799

1791:                                             ; preds = %1789
  call void @_ZN2vl7parsing7tabling12ParsingTable9StateInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(192) %162) #7
  call void @llvm.lifetime.end.p0(i64 192, ptr %162) #7
  br label %1792

1792:                                             ; preds = %1791
  %1793 = load i64, ptr %160, align 8, !tbaa !15
  %1794 = add nsw i64 %1793, 1
  store i64 %1794, ptr %160, align 8, !tbaa !15
  br label %1757, !llvm.loop !111

1795:                                             ; preds = %1769
  %1796 = landingpad { ptr, i32 }
          cleanup
  %1797 = extractvalue { ptr, i32 } %1796, 0
  store ptr %1797, ptr %15, align 8
  %1798 = extractvalue { ptr, i32 } %1796, 1
  store i32 %1798, ptr %16, align 4
  br label %1803

1799:                                             ; preds = %1789, %1787, %1782, %1777, %1770
  %1800 = landingpad { ptr, i32 }
          cleanup
  %1801 = extractvalue { ptr, i32 } %1800, 0
  store ptr %1801, ptr %15, align 8
  %1802 = extractvalue { ptr, i32 } %1800, 1
  store i32 %1802, ptr %16, align 4
  call void @_ZN2vl7parsing7tabling12ParsingTable9StateInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(192) %162) #7
  br label %1803

1803:                                             ; preds = %1799, %1795
  call void @llvm.lifetime.end.p0(i64 192, ptr %162) #7
  br label %1804

1804:                                             ; preds = %1803, %1765
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %158) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %158) #7
  br label %1810

1805:                                             ; preds = %1764
  br label %1806

1806:                                             ; preds = %1805
  store i8 0, ptr %159, align 1, !tbaa !9
  br label %1752, !llvm.loop !112

1807:                                             ; preds = %1755
  br label %1808

1808:                                             ; preds = %1807, %1748
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #7
  br label %1809

1809:                                             ; preds = %1808
  store i8 0, ptr %156, align 1, !tbaa !9
  br label %1740, !llvm.loop !113

1810:                                             ; preds = %1804, %1744
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %156) #7
  br label %2480

1811:                                             ; preds = %1743
  br label %1812

1812:                                             ; preds = %1811, %1731
  call void @llvm.lifetime.end.p0(i64 1, ptr %156) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %163) #7
  store i8 1, ptr %163, align 1, !tbaa !9
  %1813 = load i8, ptr %163, align 1, !tbaa !9, !range !11, !noundef !12
  %1814 = trunc i8 %1813 to i1
  br i1 %1814, label %1815, label %2161

1815:                                             ; preds = %1812
  call void @llvm.lifetime.start.p0(i64 8, ptr %164) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %165) #7
  %1816 = load ptr, ptr %83, align 8, !tbaa !13
  %1817 = getelementptr i8, ptr %1816, i64 -24
  %1818 = load i64, ptr %1817, align 8
  %1819 = getelementptr inbounds i8, ptr %83, i64 %1818
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing5StateEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.539") align 8 %165, ptr noundef nonnull align 8 dereferenceable(8) %1819)
          to label %1820 unwind label %1825

1820:                                             ; preds = %1815
  store ptr %165, ptr %164, align 8, !tbaa !5
  br label %1821

1821:                                             ; preds = %2158, %1820
  %1822 = load i8, ptr %163, align 1, !tbaa !9, !range !11, !noundef !12
  %1823 = trunc i8 %1822 to i1
  br i1 %1823, label %1829, label %1824

1824:                                             ; preds = %1821
  store i32 121, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %165) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %165) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #7
  br label %2160

1825:                                             ; preds = %1815
  %1826 = landingpad { ptr, i32 }
          cleanup
  %1827 = extractvalue { ptr, i32 } %1826, 0
  store ptr %1827, ptr %15, align 8
  %1828 = extractvalue { ptr, i32 } %1826, 1
  store i32 %1828, ptr %16, align 4
  br label %2159

1829:                                             ; preds = %1821
  call void @llvm.lifetime.start.p0(i64 1, ptr %166) #7
  store i8 1, ptr %166, align 1, !tbaa !9
  %1830 = load i8, ptr %166, align 1, !tbaa !9, !range !11, !noundef !12
  %1831 = trunc i8 %1830 to i1
  br i1 %1831, label %1832, label %2157

1832:                                             ; preds = %1829
  call void @llvm.lifetime.start.p0(i64 8, ptr %167) #7
  store i64 0, ptr %167, align 8, !tbaa !15
  br label %1833

1833:                                             ; preds = %2155, %1832
  %1834 = load i8, ptr %166, align 1, !tbaa !9, !range !11, !noundef !12
  %1835 = trunc i8 %1834 to i1
  br i1 %1835, label %1837, label %1836

1836:                                             ; preds = %1833
  store i32 124, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #7
  br label %2156

1837:                                             ; preds = %1833
  call void @llvm.lifetime.start.p0(i64 8, ptr %168) #7
  br label %1838

1838:                                             ; preds = %2149, %1837
  %1839 = load ptr, ptr %164, align 8, !tbaa !5
  %1840 = load ptr, ptr %1839, align 8, !tbaa !13
  %1841 = getelementptr inbounds ptr, ptr %1840, i64 2
  %1842 = load ptr, ptr %1841, align 8
  %1843 = invoke noundef zeroext i1 %1842(ptr noundef nonnull align 8 dereferenceable(8) %1839, ptr noundef nonnull align 8 dereferenceable(8) %168)
          to label %1844 unwind label %1846

1844:                                             ; preds = %1838
  br i1 %1843, label %1850, label %1845

1845:                                             ; preds = %1844
  store i32 127, ptr %23, align 4
  br label %2152

1846:                                             ; preds = %1838
  %1847 = landingpad { ptr, i32 }
          cleanup
  %1848 = extractvalue { ptr, i32 } %1847, 0
  store ptr %1848, ptr %15, align 8
  %1849 = extractvalue { ptr, i32 } %1847, 1
  store i32 %1849, ptr %16, align 4
  br label %2153

1850:                                             ; preds = %1844
  %1851 = load i64, ptr %167, align 8, !tbaa !15
  %1852 = load i64, ptr %84, align 8, !tbaa !15
  %1853 = icmp sge i64 %1851, %1852
  br i1 %1853, label %1854, label %1855

1854:                                             ; preds = %1850
  store i32 127, ptr %23, align 4
  br label %2152

1855:                                             ; preds = %1850
  call void @llvm.lifetime.start.p0(i64 1, ptr %169) #7
  store i8 1, ptr %169, align 1, !tbaa !9
  %1856 = load i8, ptr %169, align 1, !tbaa !9, !range !11, !noundef !12
  %1857 = trunc i8 %1856 to i1
  br i1 %1857, label %1858, label %2148

1858:                                             ; preds = %1855
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %171) #7
  %1859 = load ptr, ptr %168, align 8, !tbaa !5
  %1860 = getelementptr inbounds %"class.vl::parsing::analyzing::State", ptr %1859, i32 0, i32 1
  %1861 = load ptr, ptr %1860, align 8, !tbaa !13
  %1862 = getelementptr i8, ptr %1861, i64 -24
  %1863 = load i64, ptr %1862, align 8
  %1864 = getelementptr inbounds i8, ptr %1860, i64 %1863
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %171, ptr noundef nonnull align 8 dereferenceable(8) %1864)
          to label %1865 unwind label %1870

1865:                                             ; preds = %1858
  store ptr %171, ptr %170, align 8, !tbaa !5
  br label %1866

1866:                                             ; preds = %2145, %1865
  %1867 = load i8, ptr %169, align 1, !tbaa !9, !range !11, !noundef !12
  %1868 = trunc i8 %1867 to i1
  br i1 %1868, label %1874, label %1869

1869:                                             ; preds = %1866
  store i32 130, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %171) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %171) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #7
  br label %2147

1870:                                             ; preds = %1858
  %1871 = landingpad { ptr, i32 }
          cleanup
  %1872 = extractvalue { ptr, i32 } %1871, 0
  store ptr %1872, ptr %15, align 8
  %1873 = extractvalue { ptr, i32 } %1871, 1
  store i32 %1873, ptr %16, align 4
  br label %2146

1874:                                             ; preds = %1866
  call void @llvm.lifetime.start.p0(i64 8, ptr %172) #7
  br label %1875

1875:                                             ; preds = %2137, %1874
  %1876 = load ptr, ptr %170, align 8, !tbaa !5
  %1877 = load ptr, ptr %1876, align 8, !tbaa !13
  %1878 = getelementptr inbounds ptr, ptr %1877, i64 2
  %1879 = load ptr, ptr %1878, align 8
  %1880 = invoke noundef zeroext i1 %1879(ptr noundef nonnull align 8 dereferenceable(8) %1876, ptr noundef nonnull align 8 dereferenceable(8) %172)
          to label %1881 unwind label %1883

1881:                                             ; preds = %1875
  br i1 %1880, label %1887, label %1882

1882:                                             ; preds = %1881
  store i32 133, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #7
  br label %2144

1883:                                             ; preds = %1875
  %1884 = landingpad { ptr, i32 }
          cleanup
  %1885 = extractvalue { ptr, i32 } %1884, 0
  store ptr %1885, ptr %15, align 8
  %1886 = extractvalue { ptr, i32 } %1884, 1
  store i32 %1886, ptr %16, align 4
  br label %2143

1887:                                             ; preds = %1881
  call void @llvm.lifetime.start.p0(i64 8, ptr %173) #7
  store i64 -1, ptr %173, align 8, !tbaa !15
  %1888 = load ptr, ptr %172, align 8, !tbaa !5
  %1889 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %1888, i32 0, i32 4
  %1890 = load i32, ptr %1889, align 8, !tbaa !114
  switch i32 %1890, label %1905 [
    i32 0, label %1891
    i32 1, label %1892
    i32 2, label %1893
    i32 3, label %1894
    i32 5, label %1895
  ]

1891:                                             ; preds = %1887
  store i64 0, ptr %173, align 8, !tbaa !15
  br label %1906

1892:                                             ; preds = %1887
  store i64 1, ptr %173, align 8, !tbaa !15
  br label %1906

1893:                                             ; preds = %1887
  store i64 2, ptr %173, align 8, !tbaa !15
  br label %1906

1894:                                             ; preds = %1887
  store i64 3, ptr %173, align 8, !tbaa !15
  br label %1906

1895:                                             ; preds = %1887
  %1896 = load ptr, ptr %172, align 8, !tbaa !5
  %1897 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %1896, i32 0, i32 6
  %1898 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lEixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %63, ptr noundef nonnull align 8 dereferenceable(8) %1897)
          to label %1899 unwind label %1901

1899:                                             ; preds = %1895
  %1900 = load i64, ptr %1898, align 8, !tbaa !15
  store i64 %1900, ptr %173, align 8, !tbaa !15
  br label %1906

1901:                                             ; preds = %1895
  %1902 = landingpad { ptr, i32 }
          cleanup
  %1903 = extractvalue { ptr, i32 } %1902, 0
  store ptr %1903, ptr %15, align 8
  %1904 = extractvalue { ptr, i32 } %1902, 1
  store i32 %1904, ptr %16, align 4
  br label %2142

1905:                                             ; preds = %1887
  br label %1906

1906:                                             ; preds = %1905, %1899, %1894, %1893, %1892, %1891
  call void @llvm.lifetime.start.p0(i64 32, ptr %174) #7
  %1907 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1908 unwind label %1926

1908:                                             ; preds = %1906
  %1909 = load i64, ptr %167, align 8, !tbaa !15
  %1910 = load i64, ptr %173, align 8, !tbaa !15
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16GetTransitionBagEll(ptr dead_on_unwind writable sret(%"class.vl::Ptr.542") align 8 %174, ptr noundef nonnull align 8 dereferenceable(656) %1907, i64 noundef %1909, i64 noundef %1910)
          to label %1911 unwind label %1926

1911:                                             ; preds = %1908
  %1912 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %1913 unwind label %1930

1913:                                             ; preds = %1911
  br i1 %1912, label %1942, label %1914

1914:                                             ; preds = %1913
  %1915 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 48) #8
          to label %1916 unwind label %1930

1916:                                             ; preds = %1914
  invoke void @_ZN2vl7parsing7tabling12ParsingTable13TransitionBagC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %1915)
          to label %1917 unwind label %1934

1917:                                             ; preds = %1916
  %1918 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEaSEPS4_(ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef %1915)
          to label %1919 unwind label %1930

1919:                                             ; preds = %1917
  %1920 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1921 unwind label %1930

1921:                                             ; preds = %1919
  %1922 = load i64, ptr %167, align 8, !tbaa !15
  %1923 = load i64, ptr %173, align 8, !tbaa !15
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %175, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %1924 unwind label %1930

1924:                                             ; preds = %1921
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16SetTransitionBagEllNS_3PtrINS2_13TransitionBagEEE(ptr noundef nonnull align 8 dereferenceable(656) %1920, i64 noundef %1922, i64 noundef %1923, ptr noundef %175)
          to label %1925 unwind label %1938

1925:                                             ; preds = %1924
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #7
  br label %1942

1926:                                             ; preds = %1908, %1906
  %1927 = landingpad { ptr, i32 }
          cleanup
  %1928 = extractvalue { ptr, i32 } %1927, 0
  store ptr %1928, ptr %15, align 8
  %1929 = extractvalue { ptr, i32 } %1927, 1
  store i32 %1929, ptr %16, align 4
  br label %2141

1930:                                             ; preds = %1921, %1919, %1917, %1914, %1911
  %1931 = landingpad { ptr, i32 }
          cleanup
  %1932 = extractvalue { ptr, i32 } %1931, 0
  store ptr %1932, ptr %15, align 8
  %1933 = extractvalue { ptr, i32 } %1931, 1
  store i32 %1933, ptr %16, align 4
  br label %2140

1934:                                             ; preds = %1916
  %1935 = landingpad { ptr, i32 }
          cleanup
  %1936 = extractvalue { ptr, i32 } %1935, 0
  store ptr %1936, ptr %15, align 8
  %1937 = extractvalue { ptr, i32 } %1935, 1
  store i32 %1937, ptr %16, align 4
  call void @_ZdlPvm(ptr noundef %1915, i64 noundef 48) #9
  br label %2140

1938:                                             ; preds = %1924
  %1939 = landingpad { ptr, i32 }
          cleanup
  %1940 = extractvalue { ptr, i32 } %1939, 0
  store ptr %1940, ptr %15, align 8
  %1941 = extractvalue { ptr, i32 } %1939, 1
  store i32 %1941, ptr %16, align 4
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #7
  br label %2140

1942:                                             ; preds = %1925, %1913
  call void @llvm.lifetime.start.p0(i64 32, ptr %176) #7
  %1943 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 160) #8
          to label %1944 unwind label %1977

1944:                                             ; preds = %1942
  invoke void @_ZN2vl7parsing7tabling12ParsingTable14TransitionItemC2Ev(ptr noundef nonnull align 8 dereferenceable(160) %1943)
          to label %1945 unwind label %1981

1945:                                             ; preds = %1944
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2EPS4_(ptr noundef nonnull align 8 dereferenceable(32) %176, ptr noundef %1943)
          to label %1946 unwind label %1977

1946:                                             ; preds = %1945
  %1947 = load i64, ptr %173, align 8, !tbaa !15
  %1948 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %176)
          to label %1949 unwind label %1985

1949:                                             ; preds = %1946
  %1950 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionItem", ptr %1948, i32 0, i32 0
  store i64 %1947, ptr %1950, align 8, !tbaa !122
  %1951 = load ptr, ptr %172, align 8, !tbaa !5
  %1952 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %1951, i32 0, i32 2
  %1953 = invoke noundef i64 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %83, ptr noundef nonnull align 8 dereferenceable(8) %1952)
          to label %1954 unwind label %1985

1954:                                             ; preds = %1949
  %1955 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %176)
          to label %1956 unwind label %1985

1956:                                             ; preds = %1954
  %1957 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionItem", ptr %1955, i32 0, i32 1
  store i64 %1953, ptr %1957, align 8, !tbaa !136
  %1958 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %1959 unwind label %1985

1959:                                             ; preds = %1956
  %1960 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %1958, i32 0, i32 0
  %1961 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS6_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %1960, ptr noundef nonnull align 8 dereferenceable(32) %176)
          to label %1962 unwind label %1985

1962:                                             ; preds = %1959
  call void @llvm.lifetime.start.p0(i64 1, ptr %177) #7
  store i8 1, ptr %177, align 1, !tbaa !9
  %1963 = load i8, ptr %177, align 1, !tbaa !9, !range !11, !noundef !12
  %1964 = trunc i8 %1963 to i1
  br i1 %1964, label %1965, label %2137

1965:                                             ; preds = %1962
  call void @llvm.lifetime.start.p0(i64 8, ptr %178) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr %179) #7
  %1966 = load ptr, ptr %172, align 8, !tbaa !5
  %1967 = getelementptr inbounds %"class.vl::parsing::analyzing::Transition", ptr %1966, i32 0, i32 3
  %1968 = load ptr, ptr %1967, align 8, !tbaa !13
  %1969 = getelementptr i8, ptr %1968, i64 -24
  %1970 = load i64, ptr %1969, align 8
  %1971 = getelementptr inbounds i8, ptr %1967, i64 %1970
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::EnumerableForEachIterator.551") align 8 %179, ptr noundef nonnull align 8 dereferenceable(8) %1971)
          to label %1972 unwind label %1989

1972:                                             ; preds = %1965
  store ptr %179, ptr %178, align 8, !tbaa !5
  br label %1973

1973:                                             ; preds = %2134, %1972
  %1974 = load i8, ptr %177, align 1, !tbaa !9, !range !11, !noundef !12
  %1975 = trunc i8 %1974 to i1
  br i1 %1975, label %1993, label %1976

1976:                                             ; preds = %1973
  store i32 136, ptr %23, align 4
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %179) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %179) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %178) #7
  br label %2136

1977:                                             ; preds = %1945, %1942
  %1978 = landingpad { ptr, i32 }
          cleanup
  %1979 = extractvalue { ptr, i32 } %1978, 0
  store ptr %1979, ptr %15, align 8
  %1980 = extractvalue { ptr, i32 } %1978, 1
  store i32 %1980, ptr %16, align 4
  br label %2139

1981:                                             ; preds = %1944
  %1982 = landingpad { ptr, i32 }
          cleanup
  %1983 = extractvalue { ptr, i32 } %1982, 0
  store ptr %1983, ptr %15, align 8
  %1984 = extractvalue { ptr, i32 } %1982, 1
  store i32 %1984, ptr %16, align 4
  call void @_ZdlPvm(ptr noundef %1943, i64 noundef 160) #9
  br label %2139

1985:                                             ; preds = %1959, %1956, %1954, %1949, %1946
  %1986 = landingpad { ptr, i32 }
          cleanup
  %1987 = extractvalue { ptr, i32 } %1986, 0
  store ptr %1987, ptr %15, align 8
  %1988 = extractvalue { ptr, i32 } %1986, 1
  store i32 %1988, ptr %16, align 4
  br label %2138

1989:                                             ; preds = %1965
  %1990 = landingpad { ptr, i32 }
          cleanup
  %1991 = extractvalue { ptr, i32 } %1990, 0
  store ptr %1991, ptr %15, align 8
  %1992 = extractvalue { ptr, i32 } %1990, 1
  store i32 %1992, ptr %16, align 4
  br label %2135

1993:                                             ; preds = %1973
  call void @llvm.lifetime.start.p0(i64 32, ptr %180) #7
  invoke void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %1994 unwind label %2003

1994:                                             ; preds = %1993
  br label %1995

1995:                                             ; preds = %2128, %1994
  %1996 = load ptr, ptr %178, align 8, !tbaa !5
  %1997 = load ptr, ptr %1996, align 8, !tbaa !13
  %1998 = getelementptr inbounds ptr, ptr %1997, i64 2
  %1999 = load ptr, ptr %1998, align 8
  %2000 = invoke noundef zeroext i1 %1999(ptr noundef nonnull align 8 dereferenceable(8) %1996, ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2001 unwind label %2007

2001:                                             ; preds = %1995
  br i1 %2000, label %2011, label %2002

2002:                                             ; preds = %2001
  store i32 139, ptr %23, align 4
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %180) #7
  br label %2133

2003:                                             ; preds = %1993
  %2004 = landingpad { ptr, i32 }
          cleanup
  %2005 = extractvalue { ptr, i32 } %2004, 0
  store ptr %2005, ptr %15, align 8
  %2006 = extractvalue { ptr, i32 } %2004, 1
  store i32 %2006, ptr %16, align 4
  br label %2132

2007:                                             ; preds = %1995
  %2008 = landingpad { ptr, i32 }
          cleanup
  %2009 = extractvalue { ptr, i32 } %2008, 0
  store ptr %2009, ptr %15, align 8
  %2010 = extractvalue { ptr, i32 } %2008, 1
  store i32 %2010, ptr %16, align 4
  br label %2131

2011:                                             ; preds = %2001
  call void @llvm.lifetime.start.p0(i64 160, ptr %181) #7
  invoke void @_ZN2vl7parsing7tabling12ParsingTable11InstructionC2Ev(ptr noundef nonnull align 8 dereferenceable(160) %181)
          to label %2012 unwind label %2017

2012:                                             ; preds = %2011
  %2013 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2014 unwind label %2021

2014:                                             ; preds = %2012
  %2015 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %2013, i32 0, i32 1
  %2016 = load i32, ptr %2015, align 8, !tbaa !137
  switch i32 %2016, label %2115 [
    i32 0, label %2025
    i32 2, label %2044
    i32 1, label %2046
    i32 3, label %2067
    i32 4, label %2085
    i32 5, label %2093
    i32 6, label %2107
  ]

2017:                                             ; preds = %2011
  %2018 = landingpad { ptr, i32 }
          cleanup
  %2019 = extractvalue { ptr, i32 } %2018, 0
  store ptr %2019, ptr %15, align 8
  %2020 = extractvalue { ptr, i32 } %2018, 1
  store i32 %2020, ptr %16, align 4
  br label %2130

2021:                                             ; preds = %2125, %2123, %2117, %2115, %2110, %2107, %2102, %2099, %2096, %2093, %2088, %2085, %2078, %2076, %2070, %2067, %2060, %2058, %2046, %2012
  %2022 = landingpad { ptr, i32 }
          cleanup
  %2023 = extractvalue { ptr, i32 } %2022, 0
  store ptr %2023, ptr %15, align 8
  %2024 = extractvalue { ptr, i32 } %2022, 1
  store i32 %2024, ptr %16, align 4
  br label %2129

2025:                                             ; preds = %2014
  %2026 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 0
  store i32 0, ptr %2026, align 8, !tbaa !140
  call void @llvm.lifetime.start.p0(i64 48, ptr %182) #7
  %2027 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2028 unwind label %2035

2028:                                             ; preds = %2025
  %2029 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %2027, i32 0, i32 3
  %2030 = load ptr, ptr %2029, align 8, !tbaa !143
  invoke void @_ZN2vl7parsing9analyzing31GetTypeNameForCreateInstructionEPNS1_13ParsingSymbolE(ptr dead_on_unwind writable sret(%"class.vl::ObjectString") align 8 %182, ptr noundef %2030)
          to label %2031 unwind label %2035

2031:                                             ; preds = %2028
  %2032 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 2
  %2033 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(48) %2032, ptr noundef nonnull align 8 dereferenceable(48) %182)
          to label %2034 unwind label %2039

2034:                                             ; preds = %2031
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %182) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %182) #7
  br label %2115

2035:                                             ; preds = %2028, %2025
  %2036 = landingpad { ptr, i32 }
          cleanup
  %2037 = extractvalue { ptr, i32 } %2036, 0
  store ptr %2037, ptr %15, align 8
  %2038 = extractvalue { ptr, i32 } %2036, 1
  store i32 %2038, ptr %16, align 4
  br label %2043

2039:                                             ; preds = %2031
  %2040 = landingpad { ptr, i32 }
          cleanup
  %2041 = extractvalue { ptr, i32 } %2040, 0
  store ptr %2041, ptr %15, align 8
  %2042 = extractvalue { ptr, i32 } %2040, 1
  store i32 %2042, ptr %16, align 4
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %182) #7
  br label %2043

2043:                                             ; preds = %2039, %2035
  call void @llvm.lifetime.end.p0(i64 48, ptr %182) #7
  br label %2129

2044:                                             ; preds = %2014
  %2045 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 0
  store i32 3, ptr %2045, align 8, !tbaa !140
  br label %2115

2046:                                             ; preds = %2014
  %2047 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2048 unwind label %2021

2048:                                             ; preds = %2046
  %2049 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %2047, i32 0, i32 3
  %2050 = load ptr, ptr %2049, align 8, !tbaa !143
  %2051 = call noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorSymbolEv(ptr noundef nonnull align 8 dereferenceable(304) %2050)
  %2052 = call noundef i32 @_ZN2vl7parsing9analyzing13ParsingSymbol7GetTypeEv(ptr noundef nonnull align 8 dereferenceable(304) %2051)
  %2053 = icmp eq i32 %2052, 3
  br i1 %2053, label %2054, label %2056

2054:                                             ; preds = %2048
  %2055 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 0
  store i32 2, ptr %2055, align 8, !tbaa !140
  br label %2058

2056:                                             ; preds = %2048
  %2057 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 0
  store i32 1, ptr %2057, align 8, !tbaa !140
  br label %2058

2058:                                             ; preds = %2056, %2054
  %2059 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2060 unwind label %2021

2060:                                             ; preds = %2058
  %2061 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %2059, i32 0, i32 3
  %2062 = load ptr, ptr %2061, align 8, !tbaa !143
  %2063 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %2062)
  %2064 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 2
  %2065 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %2064, ptr noundef nonnull align 8 dereferenceable(48) %2063)
          to label %2066 unwind label %2021

2066:                                             ; preds = %2060
  br label %2115

2067:                                             ; preds = %2014
  %2068 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 0
  store i32 4, ptr %2068, align 8, !tbaa !140
  %2069 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2070 unwind label %2021

2070:                                             ; preds = %2067
  %2071 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %2069, i32 0, i32 3
  %2072 = load ptr, ptr %2071, align 8, !tbaa !143
  %2073 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %2072)
  %2074 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 2
  %2075 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %2074, ptr noundef nonnull align 8 dereferenceable(48) %2073)
          to label %2076 unwind label %2021

2076:                                             ; preds = %2070
  %2077 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2078 unwind label %2021

2078:                                             ; preds = %2076
  %2079 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %2077, i32 0, i32 2
  %2080 = load ptr, ptr %2079, align 8, !tbaa !144
  %2081 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %2080)
  %2082 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 3
  %2083 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %2082, ptr noundef nonnull align 8 dereferenceable(48) %2081)
          to label %2084 unwind label %2021

2084:                                             ; preds = %2078
  br label %2115

2085:                                             ; preds = %2014
  %2086 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 0
  store i32 5, ptr %2086, align 8, !tbaa !140
  %2087 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2088 unwind label %2021

2088:                                             ; preds = %2085
  %2089 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %2087, i32 0, i32 5
  %2090 = invoke noundef i64 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %83, ptr noundef nonnull align 8 dereferenceable(8) %2089)
          to label %2091 unwind label %2021

2091:                                             ; preds = %2088
  %2092 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 1
  store i64 %2090, ptr %2092, align 8, !tbaa !145
  br label %2115

2093:                                             ; preds = %2014
  %2094 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 0
  store i32 6, ptr %2094, align 8, !tbaa !140
  %2095 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2096 unwind label %2021

2096:                                             ; preds = %2093
  %2097 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %2095, i32 0, i32 5
  %2098 = invoke noundef i64 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %83, ptr noundef nonnull align 8 dereferenceable(8) %2097)
          to label %2099 unwind label %2021

2099:                                             ; preds = %2096
  %2100 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 1
  store i64 %2098, ptr %2100, align 8, !tbaa !145
  %2101 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %176)
          to label %2102 unwind label %2021

2102:                                             ; preds = %2099
  %2103 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionItem", ptr %2101, i32 0, i32 3
  %2104 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 1
  %2105 = invoke noundef i64 @_ZN2vl11collections4ListIllE3AddERKl(ptr noundef nonnull align 8 dereferenceable(33) %2103, ptr noundef nonnull align 8 dereferenceable(8) %2104)
          to label %2106 unwind label %2021

2106:                                             ; preds = %2102
  br label %2115

2107:                                             ; preds = %2014
  %2108 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 0
  store i32 7, ptr %2108, align 8, !tbaa !140
  %2109 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2110 unwind label %2021

2110:                                             ; preds = %2107
  %2111 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %2109, i32 0, i32 5
  %2112 = invoke noundef i64 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %83, ptr noundef nonnull align 8 dereferenceable(8) %2111)
          to label %2113 unwind label %2021

2113:                                             ; preds = %2110
  %2114 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 1
  store i64 %2112, ptr %2114, align 8, !tbaa !145
  br label %2115

2115:                                             ; preds = %2113, %2106, %2091, %2084, %2066, %2044, %2034, %2014
  %2116 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2117 unwind label %2021

2117:                                             ; preds = %2115
  %2118 = getelementptr inbounds %"class.vl::parsing::analyzing::Action", ptr %2116, i32 0, i32 4
  %2119 = load ptr, ptr %2118, align 8, !tbaa !146
  %2120 = getelementptr inbounds %"class.vl::parsing::definitions::ParsingDefinitionRuleDefinition", ptr %2119, i32 0, i32 1
  %2121 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::Instruction", ptr %181, i32 0, i32 4
  %2122 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %2121, ptr noundef nonnull align 8 dereferenceable(48) %2120)
          to label %2123 unwind label %2021

2123:                                             ; preds = %2117
  %2124 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %176)
          to label %2125 unwind label %2021

2125:                                             ; preds = %2123
  %2126 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionItem", ptr %2124, i32 0, i32 4
  %2127 = invoke noundef i64 @_ZN2vl11collections4ListINS_7parsing7tabling12ParsingTable11InstructionES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %2126, ptr noundef nonnull align 8 dereferenceable(160) %181)
          to label %2128 unwind label %2021

2128:                                             ; preds = %2125
  call void @_ZN2vl7parsing7tabling12ParsingTable11InstructionD2Ev(ptr noundef nonnull align 8 dereferenceable(160) %181) #7
  call void @llvm.lifetime.end.p0(i64 160, ptr %181) #7
  br label %1995, !llvm.loop !147

2129:                                             ; preds = %2043, %2021
  call void @_ZN2vl7parsing7tabling12ParsingTable11InstructionD2Ev(ptr noundef nonnull align 8 dereferenceable(160) %181) #7
  br label %2130

2130:                                             ; preds = %2129, %2017
  call void @llvm.lifetime.end.p0(i64 160, ptr %181) #7
  br label %2131

2131:                                             ; preds = %2130, %2007
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #7
  br label %2132

2132:                                             ; preds = %2131, %2003
  call void @llvm.lifetime.end.p0(i64 32, ptr %180) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %179) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %179) #7
  br label %2135

2133:                                             ; preds = %2002
  br label %2134

2134:                                             ; preds = %2133
  store i8 0, ptr %177, align 1, !tbaa !9
  br label %1973, !llvm.loop !148

2135:                                             ; preds = %2132, %1989
  call void @llvm.lifetime.end.p0(i64 8, ptr %178) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %177) #7
  br label %2138

2136:                                             ; preds = %1976
  br label %2137

2137:                                             ; preds = %2136, %1962
  call void @llvm.lifetime.end.p0(i64 1, ptr %177) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #7
  br label %1875, !llvm.loop !149

2138:                                             ; preds = %2135, %1985
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #7
  br label %2139

2139:                                             ; preds = %2138, %1981, %1977
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #7
  br label %2140

2140:                                             ; preds = %2139, %1938, %1934, %1930
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #7
  br label %2141

2141:                                             ; preds = %2140, %1926
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #7
  br label %2142

2142:                                             ; preds = %2141, %1901
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #7
  br label %2143

2143:                                             ; preds = %2142, %1883
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %171) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %171) #7
  br label %2146

2144:                                             ; preds = %1882
  br label %2145

2145:                                             ; preds = %2144
  store i8 0, ptr %169, align 1, !tbaa !9
  br label %1866, !llvm.loop !150

2146:                                             ; preds = %2143, %1870
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %169) #7
  br label %2153

2147:                                             ; preds = %1869
  br label %2148

2148:                                             ; preds = %2147, %1855
  call void @llvm.lifetime.end.p0(i64 1, ptr %169) #7
  br label %2149

2149:                                             ; preds = %2148
  %2150 = load i64, ptr %167, align 8, !tbaa !15
  %2151 = add nsw i64 %2150, 1
  store i64 %2151, ptr %167, align 8, !tbaa !15
  br label %1838, !llvm.loop !151

2152:                                             ; preds = %1854, %1845
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #7
  br label %2154

2153:                                             ; preds = %2146, %1846
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %166) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %165) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %165) #7
  br label %2159

2154:                                             ; preds = %2152
  br label %2155

2155:                                             ; preds = %2154
  store i8 0, ptr %166, align 1, !tbaa !9
  br label %1833, !llvm.loop !152

2156:                                             ; preds = %1836
  br label %2157

2157:                                             ; preds = %2156, %1829
  call void @llvm.lifetime.end.p0(i64 1, ptr %166) #7
  br label %2158

2158:                                             ; preds = %2157
  store i8 0, ptr %163, align 1, !tbaa !9
  br label %1821, !llvm.loop !153

2159:                                             ; preds = %2153, %1825
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  br label %2480

2160:                                             ; preds = %1824
  br label %2161

2161:                                             ; preds = %2160, %1812
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %183) #7
  store i64 0, ptr %183, align 8, !tbaa !15
  br label %2162

2162:                                             ; preds = %2456, %2161
  %2163 = load i64, ptr %183, align 8, !tbaa !15
  %2164 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %2165 unwind label %2170

2165:                                             ; preds = %2162
  %2166 = invoke noundef i64 @_ZN2vl7parsing7tabling12ParsingTable13GetStateCountEv(ptr noundef nonnull align 8 dereferenceable(656) %2164)
          to label %2167 unwind label %2170

2167:                                             ; preds = %2165
  %2168 = icmp slt i64 %2163, %2166
  br i1 %2168, label %2174, label %2169

2169:                                             ; preds = %2167
  store i32 142, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #7
  br label %2460

2170:                                             ; preds = %2165, %2162
  %2171 = landingpad { ptr, i32 }
          cleanup
  %2172 = extractvalue { ptr, i32 } %2171, 0
  store ptr %2172, ptr %15, align 8
  %2173 = extractvalue { ptr, i32 } %2171, 1
  store i32 %2173, ptr %16, align 4
  br label %2459

2174:                                             ; preds = %2167
  call void @llvm.lifetime.start.p0(i64 8, ptr %184) #7
  store i64 0, ptr %184, align 8, !tbaa !15
  br label %2175

2175:                                             ; preds = %2449, %2174
  %2176 = load i64, ptr %184, align 8, !tbaa !15
  %2177 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %2178 unwind label %2183

2178:                                             ; preds = %2175
  %2179 = invoke noundef i64 @_ZN2vl7parsing7tabling12ParsingTable13GetTokenCountEv(ptr noundef nonnull align 8 dereferenceable(656) %2177)
          to label %2180 unwind label %2183

2180:                                             ; preds = %2178
  %2181 = icmp slt i64 %2176, %2179
  br i1 %2181, label %2187, label %2182

2182:                                             ; preds = %2180
  store i32 145, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #7
  br label %2455

2183:                                             ; preds = %2178, %2175
  %2184 = landingpad { ptr, i32 }
          cleanup
  %2185 = extractvalue { ptr, i32 } %2184, 0
  store ptr %2185, ptr %15, align 8
  %2186 = extractvalue { ptr, i32 } %2184, 1
  store i32 %2186, ptr %16, align 4
  br label %2454

2187:                                             ; preds = %2180
  call void @llvm.lifetime.start.p0(i64 32, ptr %185) #7
  %2188 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %2189 unwind label %2219

2189:                                             ; preds = %2187
  %2190 = load i64, ptr %183, align 8, !tbaa !15
  %2191 = load i64, ptr %184, align 8, !tbaa !15
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16GetTransitionBagEll(ptr dead_on_unwind writable sret(%"class.vl::Ptr.542") align 8 %185, ptr noundef nonnull align 8 dereferenceable(656) %2188, i64 noundef %2190, i64 noundef %2191)
          to label %2192 unwind label %2219

2192:                                             ; preds = %2189
  %2193 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %2194 unwind label %2223

2194:                                             ; preds = %2192
  br i1 %2193, label %2195, label %2448

2195:                                             ; preds = %2194
  %2196 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %2197 unwind label %2223

2197:                                             ; preds = %2195
  %2198 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %2196, i32 0, i32 0
  call void @llvm.lifetime.start.p0(i64 48, ptr %186) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr %187) #7
  %2199 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %2200 unwind label %2227

2200:                                             ; preds = %2197
  %2201 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %2199, i32 0, i32 0
  %2202 = load ptr, ptr %2201, align 8, !tbaa !13
  %2203 = getelementptr i8, ptr %2202, i64 -24
  %2204 = load i64, ptr %2203, align 8
  %2205 = getelementptr inbounds i8, ptr %2201, i64 %2204
  invoke void @_ZN2vl11collections4FromINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEEENS0_8LazyListIT_EERKNS0_11IEnumerableIS9_EE(ptr dead_on_unwind writable sret(%"class.vl::collections::LazyList.554") align 8 %187, ptr noundef nonnull align 8 dereferenceable(8) %2205)
          to label %2206 unwind label %2227

2206:                                             ; preds = %2200
  invoke void @_ZNK2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE7OrderByIPFlS7_S7_EEES8_T_(ptr dead_on_unwind writable sret(%"class.vl::collections::LazyList.554") align 8 %186, ptr noundef nonnull align 8 dereferenceable(48) %187, ptr noundef @_ZN2vl7parsing7tabling12ParsingTable14TransitionItem7CompareENS_3PtrIS3_EES5_)
          to label %2207 unwind label %2231

2207:                                             ; preds = %2206
  invoke void @_ZN2vl11collections8CopyFromINS0_4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS7_EENS0_8LazyListIS8_EEEEvRT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(33) %2198, ptr noundef nonnull align 8 dereferenceable(48) %186, i1 noundef zeroext false)
          to label %2208 unwind label %2235

2208:                                             ; preds = %2207
  call void @_ZN2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEED1Ev(ptr noundef nonnull align 8 dereferenceable(48) %186) #7
  call void @_ZN2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEED1Ev(ptr noundef nonnull align 8 dereferenceable(48) %187) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %187) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %186) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #7
  store i64 0, ptr %188, align 8, !tbaa !15
  br label %2209

2209:                                             ; preds = %2319, %2208
  %2210 = load i64, ptr %188, align 8, !tbaa !15
  %2211 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %2212 unwind label %2241

2212:                                             ; preds = %2209
  %2213 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %2211, i32 0, i32 0
  %2214 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %2213)
          to label %2215 unwind label %2241

2215:                                             ; preds = %2212
  %2216 = sub nsw i64 %2214, 1
  %2217 = icmp slt i64 %2210, %2216
  br i1 %2217, label %2245, label %2218

2218:                                             ; preds = %2215
  store i32 148, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #7
  br label %2323

2219:                                             ; preds = %2189, %2187
  %2220 = landingpad { ptr, i32 }
          cleanup
  %2221 = extractvalue { ptr, i32 } %2220, 0
  store ptr %2221, ptr %15, align 8
  %2222 = extractvalue { ptr, i32 } %2220, 1
  store i32 %2222, ptr %16, align 4
  br label %2453

2223:                                             ; preds = %2195, %2192
  %2224 = landingpad { ptr, i32 }
          cleanup
  %2225 = extractvalue { ptr, i32 } %2224, 0
  store ptr %2225, ptr %15, align 8
  %2226 = extractvalue { ptr, i32 } %2224, 1
  store i32 %2226, ptr %16, align 4
  br label %2452

2227:                                             ; preds = %2200, %2197
  %2228 = landingpad { ptr, i32 }
          cleanup
  %2229 = extractvalue { ptr, i32 } %2228, 0
  store ptr %2229, ptr %15, align 8
  %2230 = extractvalue { ptr, i32 } %2228, 1
  store i32 %2230, ptr %16, align 4
  br label %2240

2231:                                             ; preds = %2206
  %2232 = landingpad { ptr, i32 }
          cleanup
  %2233 = extractvalue { ptr, i32 } %2232, 0
  store ptr %2233, ptr %15, align 8
  %2234 = extractvalue { ptr, i32 } %2232, 1
  store i32 %2234, ptr %16, align 4
  br label %2239

2235:                                             ; preds = %2207
  %2236 = landingpad { ptr, i32 }
          cleanup
  %2237 = extractvalue { ptr, i32 } %2236, 0
  store ptr %2237, ptr %15, align 8
  %2238 = extractvalue { ptr, i32 } %2236, 1
  store i32 %2238, ptr %16, align 4
  call void @_ZN2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEED1Ev(ptr noundef nonnull align 8 dereferenceable(48) %186) #7
  br label %2239

2239:                                             ; preds = %2235, %2231
  call void @_ZN2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEED1Ev(ptr noundef nonnull align 8 dereferenceable(48) %187) #7
  br label %2240

2240:                                             ; preds = %2239, %2227
  call void @llvm.lifetime.end.p0(i64 48, ptr %187) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %186) #7
  br label %2452

2241:                                             ; preds = %2212, %2209
  %2242 = landingpad { ptr, i32 }
          cleanup
  %2243 = extractvalue { ptr, i32 } %2242, 0
  store ptr %2243, ptr %15, align 8
  %2244 = extractvalue { ptr, i32 } %2242, 1
  store i32 %2244, ptr %16, align 4
  br label %2322

2245:                                             ; preds = %2215
  call void @llvm.lifetime.start.p0(i64 8, ptr %189) #7
  %2246 = load i64, ptr %188, align 8, !tbaa !15
  %2247 = add nsw i64 %2246, 1
  store i64 %2247, ptr %189, align 8, !tbaa !15
  br label %2248

2248:                                             ; preds = %2285, %2245
  %2249 = load i64, ptr %189, align 8, !tbaa !15
  %2250 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %2251 unwind label %2257

2251:                                             ; preds = %2248
  %2252 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %2250, i32 0, i32 0
  %2253 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %2252)
          to label %2254 unwind label %2257

2254:                                             ; preds = %2251
  %2255 = icmp slt i64 %2249, %2253
  br i1 %2255, label %2261, label %2256

2256:                                             ; preds = %2254
  store i32 151, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %189) #7
  br label %2318

2257:                                             ; preds = %2251, %2248
  %2258 = landingpad { ptr, i32 }
          cleanup
  %2259 = extractvalue { ptr, i32 } %2258, 0
  store ptr %2259, ptr %15, align 8
  %2260 = extractvalue { ptr, i32 } %2258, 1
  store i32 %2260, ptr %16, align 4
  br label %2317

2261:                                             ; preds = %2254
  call void @llvm.lifetime.start.p0(i64 32, ptr %190) #7
  %2262 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %2263 unwind label %2288

2263:                                             ; preds = %2261
  %2264 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %2262, i32 0, i32 0
  %2265 = load i64, ptr %188, align 8, !tbaa !15
  %2266 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS6_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %2264, i64 noundef %2265)
          to label %2267 unwind label %2288

2267:                                             ; preds = %2263
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %190, ptr noundef nonnull align 8 dereferenceable(32) %2266)
          to label %2268 unwind label %2288

2268:                                             ; preds = %2267
  call void @llvm.lifetime.start.p0(i64 32, ptr %191) #7
  %2269 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %2270 unwind label %2292

2270:                                             ; preds = %2268
  %2271 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %2269, i32 0, i32 0
  %2272 = load i64, ptr %189, align 8, !tbaa !15
  %2273 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS6_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %2271, i64 noundef %2272)
          to label %2274 unwind label %2292

2274:                                             ; preds = %2270
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef nonnull align 8 dereferenceable(32) %2273)
          to label %2275 unwind label %2292

2275:                                             ; preds = %2274
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %192, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %2276 unwind label %2296

2276:                                             ; preds = %2275
  %2277 = load i64, ptr %183, align 8, !tbaa !15
  %2278 = load i64, ptr %184, align 8, !tbaa !15
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef nonnull align 8 dereferenceable(32) %190)
          to label %2279 unwind label %2300

2279:                                             ; preds = %2276
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %194, ptr noundef nonnull align 8 dereferenceable(32) %191)
          to label %2280 unwind label %2304

2280:                                             ; preds = %2279
  %2281 = load i8, ptr %11, align 1, !tbaa !9, !range !11, !noundef !12
  %2282 = trunc i8 %2281 to i1
  %2283 = load ptr, ptr %12, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing17GenerateLookAheadENS_3PtrINS0_7tabling12ParsingTableEEERNS_11collections4ListIPNS1_5StateES9_EEllNS2_INS4_14TransitionItemEEESD_bRNS7_INS2_INS0_12ParsingErrorEEEPSE_EE(ptr noundef %192, ptr noundef nonnull align 8 dereferenceable(33) %83, i64 noundef %2277, i64 noundef %2278, ptr noundef %193, ptr noundef %194, i1 noundef zeroext %2282, ptr noundef nonnull align 8 dereferenceable(33) %2283)
          to label %2284 unwind label %2308

2284:                                             ; preds = %2280
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #7
  br label %2285

2285:                                             ; preds = %2284
  %2286 = load i64, ptr %189, align 8, !tbaa !15
  %2287 = add nsw i64 %2286, 1
  store i64 %2287, ptr %189, align 8, !tbaa !15
  br label %2248, !llvm.loop !154

2288:                                             ; preds = %2267, %2263, %2261
  %2289 = landingpad { ptr, i32 }
          cleanup
  %2290 = extractvalue { ptr, i32 } %2289, 0
  store ptr %2290, ptr %15, align 8
  %2291 = extractvalue { ptr, i32 } %2289, 1
  store i32 %2291, ptr %16, align 4
  br label %2316

2292:                                             ; preds = %2274, %2270, %2268
  %2293 = landingpad { ptr, i32 }
          cleanup
  %2294 = extractvalue { ptr, i32 } %2293, 0
  store ptr %2294, ptr %15, align 8
  %2295 = extractvalue { ptr, i32 } %2293, 1
  store i32 %2295, ptr %16, align 4
  br label %2315

2296:                                             ; preds = %2275
  %2297 = landingpad { ptr, i32 }
          cleanup
  %2298 = extractvalue { ptr, i32 } %2297, 0
  store ptr %2298, ptr %15, align 8
  %2299 = extractvalue { ptr, i32 } %2297, 1
  store i32 %2299, ptr %16, align 4
  br label %2314

2300:                                             ; preds = %2276
  %2301 = landingpad { ptr, i32 }
          cleanup
  %2302 = extractvalue { ptr, i32 } %2301, 0
  store ptr %2302, ptr %15, align 8
  %2303 = extractvalue { ptr, i32 } %2301, 1
  store i32 %2303, ptr %16, align 4
  br label %2313

2304:                                             ; preds = %2279
  %2305 = landingpad { ptr, i32 }
          cleanup
  %2306 = extractvalue { ptr, i32 } %2305, 0
  store ptr %2306, ptr %15, align 8
  %2307 = extractvalue { ptr, i32 } %2305, 1
  store i32 %2307, ptr %16, align 4
  br label %2312

2308:                                             ; preds = %2280
  %2309 = landingpad { ptr, i32 }
          cleanup
  %2310 = extractvalue { ptr, i32 } %2309, 0
  store ptr %2310, ptr %15, align 8
  %2311 = extractvalue { ptr, i32 } %2309, 1
  store i32 %2311, ptr %16, align 4
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #7
  br label %2312

2312:                                             ; preds = %2308, %2304
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #7
  br label %2313

2313:                                             ; preds = %2312, %2300
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #7
  br label %2314

2314:                                             ; preds = %2313, %2296
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #7
  br label %2315

2315:                                             ; preds = %2314, %2292
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #7
  br label %2316

2316:                                             ; preds = %2315, %2288
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #7
  br label %2317

2317:                                             ; preds = %2316, %2257
  call void @llvm.lifetime.end.p0(i64 8, ptr %189) #7
  br label %2322

2318:                                             ; preds = %2256
  br label %2319

2319:                                             ; preds = %2318
  %2320 = load i64, ptr %188, align 8, !tbaa !15
  %2321 = add nsw i64 %2320, 1
  store i64 %2321, ptr %188, align 8, !tbaa !15
  br label %2209, !llvm.loop !155

2322:                                             ; preds = %2317, %2241
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #7
  br label %2452

2323:                                             ; preds = %2218
  call void @llvm.lifetime.start.p0(i64 8, ptr %195) #7
  store i64 2, ptr %195, align 8, !tbaa !15
  br label %2324

2324:                                             ; preds = %2442, %2323
  %2325 = load i64, ptr %195, align 8, !tbaa !15
  %2326 = icmp sle i64 %2325, 3
  br i1 %2326, label %2327, label %2331

2327:                                             ; preds = %2324
  %2328 = load i64, ptr %195, align 8, !tbaa !15
  %2329 = load i64, ptr %184, align 8, !tbaa !15
  %2330 = icmp slt i64 %2328, %2329
  br label %2331

2331:                                             ; preds = %2327, %2324
  %2332 = phi i1 [ false, %2324 ], [ %2330, %2327 ]
  br i1 %2332, label %2334, label %2333

2333:                                             ; preds = %2331
  store i32 154, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #7
  br label %2447

2334:                                             ; preds = %2331
  call void @llvm.lifetime.start.p0(i64 32, ptr %196) #7
  %2335 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %2336 unwind label %2352

2336:                                             ; preds = %2334
  %2337 = load i64, ptr %183, align 8, !tbaa !15
  %2338 = load i64, ptr %195, align 8, !tbaa !15
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16GetTransitionBagEll(ptr dead_on_unwind writable sret(%"class.vl::Ptr.542") align 8 %196, ptr noundef nonnull align 8 dereferenceable(656) %2335, i64 noundef %2337, i64 noundef %2338)
          to label %2339 unwind label %2352

2339:                                             ; preds = %2336
  %2340 = invoke noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %196)
          to label %2341 unwind label %2356

2341:                                             ; preds = %2339
  br i1 %2340, label %2342, label %2441

2342:                                             ; preds = %2341
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #7
  store i64 0, ptr %197, align 8, !tbaa !15
  br label %2343

2343:                                             ; preds = %2436, %2342
  %2344 = load i64, ptr %197, align 8, !tbaa !15
  %2345 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %196)
          to label %2346 unwind label %2360

2346:                                             ; preds = %2343
  %2347 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %2345, i32 0, i32 0
  %2348 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %2347)
          to label %2349 unwind label %2360

2349:                                             ; preds = %2346
  %2350 = icmp slt i64 %2344, %2348
  br i1 %2350, label %2364, label %2351

2351:                                             ; preds = %2349
  store i32 157, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #7
  br label %2440

2352:                                             ; preds = %2336, %2334
  %2353 = landingpad { ptr, i32 }
          cleanup
  %2354 = extractvalue { ptr, i32 } %2353, 0
  store ptr %2354, ptr %15, align 8
  %2355 = extractvalue { ptr, i32 } %2353, 1
  store i32 %2355, ptr %16, align 4
  br label %2446

2356:                                             ; preds = %2339
  %2357 = landingpad { ptr, i32 }
          cleanup
  %2358 = extractvalue { ptr, i32 } %2357, 0
  store ptr %2358, ptr %15, align 8
  %2359 = extractvalue { ptr, i32 } %2357, 1
  store i32 %2359, ptr %16, align 4
  br label %2445

2360:                                             ; preds = %2346, %2343
  %2361 = landingpad { ptr, i32 }
          cleanup
  %2362 = extractvalue { ptr, i32 } %2361, 0
  store ptr %2362, ptr %15, align 8
  %2363 = extractvalue { ptr, i32 } %2361, 1
  store i32 %2363, ptr %16, align 4
  br label %2439

2364:                                             ; preds = %2349
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #7
  store i64 0, ptr %198, align 8, !tbaa !15
  br label %2365

2365:                                             ; preds = %2402, %2364
  %2366 = load i64, ptr %198, align 8, !tbaa !15
  %2367 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %2368 unwind label %2374

2368:                                             ; preds = %2365
  %2369 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %2367, i32 0, i32 0
  %2370 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %2369)
          to label %2371 unwind label %2374

2371:                                             ; preds = %2368
  %2372 = icmp slt i64 %2366, %2370
  br i1 %2372, label %2378, label %2373

2373:                                             ; preds = %2371
  store i32 160, ptr %23, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #7
  br label %2435

2374:                                             ; preds = %2368, %2365
  %2375 = landingpad { ptr, i32 }
          cleanup
  %2376 = extractvalue { ptr, i32 } %2375, 0
  store ptr %2376, ptr %15, align 8
  %2377 = extractvalue { ptr, i32 } %2375, 1
  store i32 %2377, ptr %16, align 4
  br label %2434

2378:                                             ; preds = %2371
  call void @llvm.lifetime.start.p0(i64 32, ptr %199) #7
  %2379 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %196)
          to label %2380 unwind label %2405

2380:                                             ; preds = %2378
  %2381 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %2379, i32 0, i32 0
  %2382 = load i64, ptr %197, align 8, !tbaa !15
  %2383 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS6_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %2381, i64 noundef %2382)
          to label %2384 unwind label %2405

2384:                                             ; preds = %2380
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %199, ptr noundef nonnull align 8 dereferenceable(32) %2383)
          to label %2385 unwind label %2405

2385:                                             ; preds = %2384
  call void @llvm.lifetime.start.p0(i64 32, ptr %200) #7
  %2386 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %185)
          to label %2387 unwind label %2409

2387:                                             ; preds = %2385
  %2388 = getelementptr inbounds %"class.vl::parsing::tabling::ParsingTable::TransitionBag", ptr %2386, i32 0, i32 0
  %2389 = load i64, ptr %198, align 8, !tbaa !15
  %2390 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS6_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %2388, i64 noundef %2389)
          to label %2391 unwind label %2409

2391:                                             ; preds = %2387
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %200, ptr noundef nonnull align 8 dereferenceable(32) %2390)
          to label %2392 unwind label %2409

2392:                                             ; preds = %2391
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %201, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %2393 unwind label %2413

2393:                                             ; preds = %2392
  %2394 = load i64, ptr %183, align 8, !tbaa !15
  %2395 = load i64, ptr %184, align 8, !tbaa !15
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %202, ptr noundef nonnull align 8 dereferenceable(32) %199)
          to label %2396 unwind label %2417

2396:                                             ; preds = %2393
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %203, ptr noundef nonnull align 8 dereferenceable(32) %200)
          to label %2397 unwind label %2421

2397:                                             ; preds = %2396
  %2398 = load i8, ptr %11, align 1, !tbaa !9, !range !11, !noundef !12
  %2399 = trunc i8 %2398 to i1
  %2400 = load ptr, ptr %12, align 8, !tbaa !5
  invoke void @_ZN2vl7parsing9analyzing17GenerateLookAheadENS_3PtrINS0_7tabling12ParsingTableEEERNS_11collections4ListIPNS1_5StateES9_EEllNS2_INS4_14TransitionItemEEESD_bRNS7_INS2_INS0_12ParsingErrorEEEPSE_EE(ptr noundef %201, ptr noundef nonnull align 8 dereferenceable(33) %83, i64 noundef %2394, i64 noundef %2395, ptr noundef %202, ptr noundef %203, i1 noundef zeroext %2399, ptr noundef nonnull align 8 dereferenceable(33) %2400)
          to label %2401 unwind label %2425

2401:                                             ; preds = %2397
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %202) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %201) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %199) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %199) #7
  br label %2402

2402:                                             ; preds = %2401
  %2403 = load i64, ptr %198, align 8, !tbaa !15
  %2404 = add nsw i64 %2403, 1
  store i64 %2404, ptr %198, align 8, !tbaa !15
  br label %2365, !llvm.loop !156

2405:                                             ; preds = %2384, %2380, %2378
  %2406 = landingpad { ptr, i32 }
          cleanup
  %2407 = extractvalue { ptr, i32 } %2406, 0
  store ptr %2407, ptr %15, align 8
  %2408 = extractvalue { ptr, i32 } %2406, 1
  store i32 %2408, ptr %16, align 4
  br label %2433

2409:                                             ; preds = %2391, %2387, %2385
  %2410 = landingpad { ptr, i32 }
          cleanup
  %2411 = extractvalue { ptr, i32 } %2410, 0
  store ptr %2411, ptr %15, align 8
  %2412 = extractvalue { ptr, i32 } %2410, 1
  store i32 %2412, ptr %16, align 4
  br label %2432

2413:                                             ; preds = %2392
  %2414 = landingpad { ptr, i32 }
          cleanup
  %2415 = extractvalue { ptr, i32 } %2414, 0
  store ptr %2415, ptr %15, align 8
  %2416 = extractvalue { ptr, i32 } %2414, 1
  store i32 %2416, ptr %16, align 4
  br label %2431

2417:                                             ; preds = %2393
  %2418 = landingpad { ptr, i32 }
          cleanup
  %2419 = extractvalue { ptr, i32 } %2418, 0
  store ptr %2419, ptr %15, align 8
  %2420 = extractvalue { ptr, i32 } %2418, 1
  store i32 %2420, ptr %16, align 4
  br label %2430

2421:                                             ; preds = %2396
  %2422 = landingpad { ptr, i32 }
          cleanup
  %2423 = extractvalue { ptr, i32 } %2422, 0
  store ptr %2423, ptr %15, align 8
  %2424 = extractvalue { ptr, i32 } %2422, 1
  store i32 %2424, ptr %16, align 4
  br label %2429

2425:                                             ; preds = %2397
  %2426 = landingpad { ptr, i32 }
          cleanup
  %2427 = extractvalue { ptr, i32 } %2426, 0
  store ptr %2427, ptr %15, align 8
  %2428 = extractvalue { ptr, i32 } %2426, 1
  store i32 %2428, ptr %16, align 4
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %203) #7
  br label %2429

2429:                                             ; preds = %2425, %2421
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %202) #7
  br label %2430

2430:                                             ; preds = %2429, %2417
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %201) #7
  br label %2431

2431:                                             ; preds = %2430, %2413
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #7
  br label %2432

2432:                                             ; preds = %2431, %2409
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %199) #7
  br label %2433

2433:                                             ; preds = %2432, %2405
  call void @llvm.lifetime.end.p0(i64 32, ptr %199) #7
  br label %2434

2434:                                             ; preds = %2433, %2374
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #7
  br label %2439

2435:                                             ; preds = %2373
  br label %2436

2436:                                             ; preds = %2435
  %2437 = load i64, ptr %197, align 8, !tbaa !15
  %2438 = add nsw i64 %2437, 1
  store i64 %2438, ptr %197, align 8, !tbaa !15
  br label %2343, !llvm.loop !157

2439:                                             ; preds = %2434, %2360
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #7
  br label %2445

2440:                                             ; preds = %2351
  br label %2441

2441:                                             ; preds = %2440, %2341
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %196) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %196) #7
  br label %2442

2442:                                             ; preds = %2441
  %2443 = load i64, ptr %195, align 8, !tbaa !15
  %2444 = add nsw i64 %2443, 1
  store i64 %2444, ptr %195, align 8, !tbaa !15
  br label %2324, !llvm.loop !158

2445:                                             ; preds = %2439, %2356
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %196) #7
  br label %2446

2446:                                             ; preds = %2445, %2352
  call void @llvm.lifetime.end.p0(i64 32, ptr %196) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #7
  br label %2452

2447:                                             ; preds = %2333
  br label %2448

2448:                                             ; preds = %2447, %2194
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #7
  br label %2449

2449:                                             ; preds = %2448
  %2450 = load i64, ptr %184, align 8, !tbaa !15
  %2451 = add nsw i64 %2450, 1
  store i64 %2451, ptr %184, align 8, !tbaa !15
  br label %2175, !llvm.loop !159

2452:                                             ; preds = %2446, %2322, %2240, %2223
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #7
  br label %2453

2453:                                             ; preds = %2452, %2219
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #7
  br label %2454

2454:                                             ; preds = %2453, %2183
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #7
  br label %2459

2455:                                             ; preds = %2182
  br label %2456

2456:                                             ; preds = %2455
  %2457 = load i64, ptr %183, align 8, !tbaa !15
  %2458 = add nsw i64 %2457, 1
  store i64 %2458, ptr %183, align 8, !tbaa !15
  br label %2162, !llvm.loop !160

2459:                                             ; preds = %2454, %2170
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #7
  br label %2480

2460:                                             ; preds = %2169
  %2461 = load ptr, ptr %12, align 8, !tbaa !5
  %2462 = invoke noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing12ParsingErrorEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %2461)
          to label %2463 unwind label %2469

2463:                                             ; preds = %2460
  %2464 = icmp sgt i64 %2462, 0
  br i1 %2464, label %2465, label %2473

2465:                                             ; preds = %2463
  %2466 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %2467 unwind label %2469

2467:                                             ; preds = %2465
  invoke void @_ZN2vl7parsing7tabling12ParsingTable12SetAmbiguityEb(ptr noundef nonnull align 8 dereferenceable(656) %2466, i1 noundef zeroext true)
          to label %2468 unwind label %2469

2468:                                             ; preds = %2467
  br label %2473

2469:                                             ; preds = %2475, %2473, %2467, %2465, %2460
  %2470 = landingpad { ptr, i32 }
          cleanup
  %2471 = extractvalue { ptr, i32 } %2470, 0
  store ptr %2471, ptr %15, align 8
  %2472 = extractvalue { ptr, i32 } %2470, 1
  store i32 %2472, ptr %16, align 4
  br label %2480

2473:                                             ; preds = %2468, %2463
  %2474 = invoke noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %2475 unwind label %2469

2475:                                             ; preds = %2473
  invoke void @_ZN2vl7parsing7tabling12ParsingTable10InitializeEv(ptr noundef nonnull align 8 dereferenceable(656) %2474)
          to label %2476 unwind label %2469

2476:                                             ; preds = %2475
  store i1 true, ptr %103, align 1
  store i32 1, ptr %23, align 4
  %2477 = load i1, ptr %103, align 1
  br i1 %2477, label %2479, label %2478

2478:                                             ; preds = %2476
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  br label %2479

2479:                                             ; preds = %2478, %2476
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %83) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %83) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %66) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %66) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %65) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %65) #7
  call void @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %64) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %64) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %63) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %19) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %19) #7
  call void @_ZN2vl11collections10DictionaryINS0_4PairINS_12ObjectStringIwEES4_EElS5_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %18) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %18) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %17) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr %17) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %14) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %14) #7
  call void @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %13) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %13) #7
  ret void

2480:                                             ; preds = %2469, %2459, %2159, %1810, %1729, %1539, %1432, %1348, %1272, %1199
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  br label %2481

2481:                                             ; preds = %2480, %1145, %1141
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #7
  br label %2482

2482:                                             ; preds = %2481, %1106, %1059
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %83) #7
  br label %2483

2483:                                             ; preds = %2482, %921
  call void @llvm.lifetime.end.p0(i64 48, ptr %83) #7
  br label %2484

2484:                                             ; preds = %2483, %899, %810
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %66) #7
  br label %2485

2485:                                             ; preds = %2484, %694
  call void @llvm.lifetime.end.p0(i64 112, ptr %66) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %65) #7
  br label %2486

2486:                                             ; preds = %2485, %690
  call void @llvm.lifetime.end.p0(i64 112, ptr %65) #7
  call void @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %64) #7
  br label %2487

2487:                                             ; preds = %2486, %686
  call void @llvm.lifetime.end.p0(i64 48, ptr %64) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %63) #7
  br label %2488

2488:                                             ; preds = %2487, %682
  call void @llvm.lifetime.end.p0(i64 112, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #7
  br label %2489

2489:                                             ; preds = %2488, %661, %389, %240
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %19) #7
  br label %2490

2490:                                             ; preds = %2489, %236
  call void @llvm.lifetime.end.p0(i64 112, ptr %19) #7
  call void @_ZN2vl11collections10DictionaryINS0_4PairINS_12ObjectStringIwEES4_EElS5_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %18) #7
  br label %2491

2491:                                             ; preds = %2490, %232
  call void @llvm.lifetime.end.p0(i64 112, ptr %18) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %17) #7
  br label %2492

2492:                                             ; preds = %2491, %228
  call void @llvm.lifetime.end.p0(i64 112, ptr %17) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %14) #7
  br label %2493

2493:                                             ; preds = %2492, %224
  call void @llvm.lifetime.end.p0(i64 48, ptr %14) #7
  call void @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %13) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %13) #7
  br label %2494

2494:                                             ; preds = %2493
  %2495 = load ptr, ptr %15, align 8
  %2496 = load i32, ptr %16, align 4
  %2497 = insertvalue { ptr, i32 } poison, ptr %2495, 0
  %2498 = insertvalue { ptr, i32 } %2497, i32 %2496, 1
  resume { ptr, i32 } %2498
}

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_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 noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104)) #2 align 2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(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 i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing8RuleInfoEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.518") 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_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104)) #2 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32)) #2 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 noundef i64 @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE5CountEv(ptr noundef nonnull align 8 dereferenceable(104)) #3 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing7tabling12ParsingTable12SetTokenInfoElRKNS2_9TokenInfoE(ptr noundef nonnull align 8 dereferenceable(656), i64 noundef, ptr noundef nonnull align 8 dereferenceable(112)) #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing7tabling12ParsingTable19SetDiscardTokenInfoElRKNS2_9TokenInfoE(ptr noundef nonnull align 8 dereferenceable(656), i64 noundef, ptr noundef nonnull align 8 dereferenceable(112)) #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104)) #2 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 #2 align 2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing7tabling12ParsingTable11SetRuleInfoElRKNS2_8RuleInfoE(ptr noundef nonnull align 8 dereferenceable(656), i64 noundef, ptr noundef nonnull align 8 dereferenceable(160)) #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing7tabling12ParsingTable12SetStateInfoElRKNS2_9StateInfoE(ptr noundef nonnull align 8 dereferenceable(656), i64 noundef, ptr noundef nonnull align 8 dereferenceable(192)) #3 align 2

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

; 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
declare dso_local void @_ZN2vl7parsing7tabling12ParsingTable16GetTransitionBagEll(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.542") align 8, ptr noundef nonnull align 8 dereferenceable(656), i64 noundef, i64 noundef) #3 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE7OrderByIPFlS7_S7_EEES8_T_(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::LazyList.554") align 8, ptr noundef nonnull align 8 dereferenceable(48), ptr noundef) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN2vl7parsing7tabling12ParsingTable14TransitionItem7CompareENS_3PtrIS3_EES5_(ptr noundef, ptr noundef) #3 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl7parsing7tabling12ParsingTable12SetAmbiguityEb(ptr noundef nonnull align 8 dereferenceable(656), i1 noundef zeroext) #2 align 2

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

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

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

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

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

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

declare void @_ZN2vl7parsing7tabling12ParsingTableC1Elllllll(ptr, i64, i64, i64, i64, i64, i64, i64)

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{i8 0, i8 2}
!12 = !{}
!13 = !{!14, !14, i64 0}
!14 = !{!"vtable pointer", !8, i64 0}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}
!19 = distinct !{!19, !18}
!20 = distinct !{!20, !18}
!21 = distinct !{!21, !18}
!22 = distinct !{!22, !18}
!23 = distinct !{!23, !18}
!24 = distinct !{!24, !18}
!25 = distinct !{!25, !18}
!26 = distinct !{!26, !18}
!27 = distinct !{!27, !18}
!28 = distinct !{!28, !18}
!29 = distinct !{!29, !18}
!30 = !{!31, !10, i64 264}
!31 = !{!"_ZTSN2vl7parsing11definitions32ParsingDefinitionTokenDefinitionE", !32, i64 0, !46, i64 168, !46, i64 216, !10, i64 264}
!32 = !{!"_ZTSN2vl7parsing11definitions21ParsingDefinitionBaseE", !33, i64 0, !42, i64 120}
!33 = !{!"_ZTSN2vl7parsing21ParsingTreeCustomBaseE", !34, i64 0, !35, i64 8, !36, i64 16, !38, i64 72}
!34 = !{!"_ZTSN2vl6ObjectE"}
!35 = !{!"_ZTSN2vl10reflection11DescriptionINS_7parsing21ParsingTreeCustomBaseEEE"}
!36 = !{!"_ZTSN2vl7parsing16ParsingTextRangeE", !37, i64 0, !37, i64 24, !16, i64 48}
!37 = !{!"_ZTSN2vl7parsing14ParsingTextPosE", !16, i64 0, !16, i64 8, !16, i64 16}
!38 = !{!"_ZTSN2vl11collections4ListINS_12ObjectStringIwEES3_EE", !39, i64 0}
!39 = !{!"_ZTSN2vl11collections8ListBaseINS_12ObjectStringIwEES3_EE", !40, i64 0, !16, i64 24, !10, i64 32}
!40 = !{!"_ZTSN2vl11collections9ArrayBaseINS_12ObjectStringIwEEEE", !41, i64 0, !6, i64 8, !16, i64 16}
!41 = !{!"_ZTSN2vl11collections9ListStoreINS_12ObjectStringIwEELb0EEE", !34, i64 0}
!42 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEPS5_EE", !43, i64 0}
!43 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEPS5_EE", !44, i64 0, !16, i64 24, !10, i64 32}
!44 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEEE", !45, i64 0, !6, i64 8, !16, i64 16}
!45 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEELb0EEE", !34, i64 0}
!46 = !{!"_ZTSN2vl12ObjectStringIwEE", !34, i64 0, !6, i64 8, !6, i64 16, !16, i64 24, !16, i64 32, !16, i64 40}
!47 = !{!48, !6, i64 8}
!48 = !{!"_ZTSN2vl7parsing9analyzing9AutomatonE", !34, i64 0, !6, i64 8, !49, i64 16, !53, i64 64, !57, i64 112}
!49 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing10TransitionEEEPS5_EE", !50, i64 0}
!50 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing10TransitionEEEPS5_EE", !51, i64 0, !16, i64 24, !10, i64 32}
!51 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing10TransitionEEEEE", !52, i64 0, !6, i64 8, !16, i64 16}
!52 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing10TransitionEEELb0EEE", !34, i64 0}
!53 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing5StateEEEPS5_EE", !54, i64 0}
!54 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing5StateEEEPS5_EE", !55, i64 0, !16, i64 24, !10, i64 32}
!55 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing5StateEEEEE", !56, i64 0, !6, i64 8, !16, i64 16}
!56 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing5StateEEELb0EEE", !34, i64 0}
!57 = !{!"_ZTSN2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EE", !34, i64 0, !58, i64 8, !62, i64 56}
!58 = !{!"_ZTSN2vl11collections10SortedListIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES5_EE", !59, i64 0}
!59 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES5_EE", !60, i64 0, !16, i64 24, !10, i64 32}
!60 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEE", !61, i64 0, !6, i64 8, !16, i64 16}
!61 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionELb1EEE", !34, i64 0}
!62 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing8RuleInfoEEEPS5_EE", !63, i64 0}
!63 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing8RuleInfoEEEPS5_EE", !64, i64 0, !16, i64 24, !10, i64 32}
!64 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing8RuleInfoEEEEE", !65, i64 0, !6, i64 8, !16, i64 16}
!65 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing8RuleInfoEEELb0EEE", !34, i64 0}
!66 = distinct !{!66, !18}
!67 = distinct !{!67, !18}
!68 = distinct !{!68, !18}
!69 = distinct !{!69, !18}
!70 = distinct !{!70, !18}
!71 = distinct !{!71, !18}
!72 = distinct !{!72, !18}
!73 = distinct !{!73, !18}
!74 = distinct !{!74, !18}
!75 = distinct !{!75, !18}
!76 = distinct !{!76, !18}
!77 = distinct !{!77, !18}
!78 = distinct !{!78, !18}
!79 = distinct !{!79, !18}
!80 = !{!81, !16, i64 48}
!81 = !{!"_ZTSN2vl11collections4PairINS_12ObjectStringIwEElEE", !46, i64 0, !16, i64 48}
!82 = distinct !{!82, !18}
!83 = distinct !{!83, !18}
!84 = distinct !{!84, !18}
!85 = !{!86, !16, i64 96}
!86 = !{!"_ZTSN2vl11collections4PairINS1_INS_12ObjectStringIwEES3_EElEE", !87, i64 0, !16, i64 96}
!87 = !{!"_ZTSN2vl11collections4PairINS_12ObjectStringIwEES3_EE", !46, i64 0, !46, i64 48}
!88 = distinct !{!88, !18}
!89 = distinct !{!89, !18}
!90 = distinct !{!90, !18}
!91 = !{!92, !16, i64 104}
!92 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable9TokenInfoE", !46, i64 0, !46, i64 48, !16, i64 96, !16, i64 104}
!93 = distinct !{!93, !18}
!94 = distinct !{!94, !18}
!95 = distinct !{!95, !18}
!96 = distinct !{!96, !18}
!97 = distinct !{!97, !18}
!98 = !{!99, !16, i64 144}
!99 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable8RuleInfoE", !46, i64 0, !46, i64 48, !46, i64 96, !16, i64 144, !16, i64 152}
!100 = !{!99, !16, i64 152}
!101 = distinct !{!101, !18}
!102 = distinct !{!102, !18}
!103 = distinct !{!103, !18}
!104 = !{!105, !6, i64 120}
!105 = !{!"_ZTSN2vl7parsing9analyzing5StateE", !34, i64 0, !106, i64 8, !106, i64 56, !10, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !110, i64 144, !46, i64 152, !46, i64 200}
!106 = !{!"_ZTSN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EE", !107, i64 0}
!107 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing9analyzing10TransitionES5_EE", !108, i64 0, !16, i64 24, !10, i64 32}
!108 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEEE", !109, i64 0, !6, i64 8, !16, i64 16}
!109 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing9analyzing10TransitionELb1EEE", !34, i64 0}
!110 = !{!"_ZTSN2vl7parsing9analyzing5State13StatePositionE", !7, i64 0}
!111 = distinct !{!111, !18}
!112 = distinct !{!112, !18}
!113 = distinct !{!113, !18}
!114 = !{!115, !120, i64 72}
!115 = !{!"_ZTSN2vl7parsing9analyzing10TransitionE", !34, i64 0, !6, i64 8, !6, i64 16, !116, i64 24, !120, i64 72, !121, i64 76, !6, i64 80}
!116 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !117, i64 0}
!117 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !118, i64 0, !16, i64 24, !10, i64 32}
!118 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing6ActionEEEEE", !119, i64 0, !6, i64 8, !16, i64 16}
!119 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing6ActionEEELb0EEE", !34, i64 0}
!120 = !{!"_ZTSN2vl7parsing9analyzing10Transition14TransitionTypeE", !7, i64 0}
!121 = !{!"_ZTSN2vl7parsing9analyzing10Transition18StackOperationTypeE", !7, i64 0}
!122 = !{!123, !16, i64 0}
!123 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable14TransitionItemE", !16, i64 0, !16, i64 8, !124, i64 16, !128, i64 64, !132, i64 112}
!124 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable13LookAheadInfoEEEPS6_EE", !125, i64 0}
!125 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing7tabling12ParsingTable13LookAheadInfoEEEPS6_EE", !126, i64 0, !16, i64 24, !10, i64 32}
!126 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable13LookAheadInfoEEEEE", !127, i64 0, !6, i64 8, !16, i64 16}
!127 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing7tabling12ParsingTable13LookAheadInfoEEELb0EEE", !34, i64 0}
!128 = !{!"_ZTSN2vl11collections4ListIllEE", !129, i64 0}
!129 = !{!"_ZTSN2vl11collections8ListBaseIllEE", !130, i64 0, !16, i64 24, !10, i64 32}
!130 = !{!"_ZTSN2vl11collections9ArrayBaseIlEE", !131, i64 0, !6, i64 8, !16, i64 16}
!131 = !{!"_ZTSN2vl11collections9ListStoreIlLb1EEE", !34, i64 0}
!132 = !{!"_ZTSN2vl11collections4ListINS_7parsing7tabling12ParsingTable11InstructionES5_EE", !133, i64 0}
!133 = !{!"_ZTSN2vl11collections8ListBaseINS_7parsing7tabling12ParsingTable11InstructionES5_EE", !134, i64 0, !16, i64 24, !10, i64 32}
!134 = !{!"_ZTSN2vl11collections9ArrayBaseINS_7parsing7tabling12ParsingTable11InstructionEEE", !135, i64 0, !6, i64 8, !16, i64 16}
!135 = !{!"_ZTSN2vl11collections9ListStoreINS_7parsing7tabling12ParsingTable11InstructionELb0EEE", !34, i64 0}
!136 = !{!123, !16, i64 8}
!137 = !{!138, !139, i64 8}
!138 = !{!"_ZTSN2vl7parsing9analyzing6ActionE", !34, i64 0, !139, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48}
!139 = !{!"_ZTSN2vl7parsing9analyzing6Action10ActionTypeE", !7, i64 0}
!140 = !{!141, !142, i64 0}
!141 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable11InstructionE", !142, i64 0, !16, i64 8, !46, i64 16, !46, i64 64, !46, i64 112}
!142 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable11Instruction15InstructionTypeE", !7, i64 0}
!143 = !{!138, !6, i64 24}
!144 = !{!138, !6, i64 16}
!145 = !{!141, !16, i64 8}
!146 = !{!138, !6, i64 32}
!147 = distinct !{!147, !18}
!148 = distinct !{!148, !18}
!149 = distinct !{!149, !18}
!150 = distinct !{!150, !18}
!151 = distinct !{!151, !18}
!152 = distinct !{!152, !18}
!153 = distinct !{!153, !18}
!154 = distinct !{!154, !18}
!155 = distinct !{!155, !18}
!156 = distinct !{!156, !18}
!157 = distinct !{!157, !18}
!158 = distinct !{!158, !18}
!159 = distinct !{!159, !18}
!160 = distinct !{!160, !18}


; 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" = type { %"class.vl::collections::ForEachIterator", %"class.vl::Ptr" }
%"class.vl::collections::ForEachIterator" = type { %"class.vl::Object" }
%"class.vl::Object" = type { ptr }
%"class.vl::Ptr" = type { ptr, ptr, ptr, ptr }
%"class.vl::ObjectString" = type { %"class.vl::Object", ptr, ptr, i64, i64, i64 }
%"class.vl::collections::EnumerableForEachIterator.317" = type { %"class.vl::collections::ForEachIterator.318", %"class.vl::Ptr.319" }
%"class.vl::collections::ForEachIterator.318" = type { %"class.vl::Object" }
%"class.vl::Ptr.319" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.322" = type { %"class.vl::collections::ForEachIterator.323", %"class.vl::Ptr.324" }
%"class.vl::collections::ForEachIterator.323" = type { %"class.vl::Object" }
%"class.vl::Ptr.324" = type { ptr, ptr, ptr, ptr }
%"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::Ptr.451" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.477" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.61" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::List.491" = type { %"class.vl::collections::ListBase.base.493", %"class.vl::collections::IEnumerable.76" }
%"class.vl::collections::ListBase.base.493" = type <{ %"class.vl::collections::ArrayBase.base.77", i64, i8 }>
%"class.vl::collections::ArrayBase.base.77" = type { %"class.vl::collections::ListStore.75", ptr, i64 }
%"class.vl::collections::ListStore.75" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.76" = type { %"class.vl::Interface" }
%"class.vl::Interface" = type { ptr }
%"class.vl::collections::List.212" = type { %"class.vl::collections::ListBase.base.218", %"class.vl::collections::IEnumerable.216" }
%"class.vl::collections::ListBase.base.218" = type <{ %"class.vl::collections::ArrayBase.base.217", i64, i8 }>
%"class.vl::collections::ArrayBase.base.217" = type { %"class.vl::collections::ListStore.215", ptr, i64 }
%"class.vl::collections::ListStore.215" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.216" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary" = type { %"class.vl::Object", %"class.vl::collections::SortedList", %"class.vl::collections::List.116", %"class.vl::collections::IEnumerable.124" }
%"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::collections::List.116" = type { %"class.vl::collections::ListBase.base.122", %"class.vl::collections::IEnumerable.120" }
%"class.vl::collections::ListBase.base.122" = type <{ %"class.vl::collections::ArrayBase.base.121", i64, i8 }>
%"class.vl::collections::ArrayBase.base.121" = type { %"class.vl::collections::ListStore.119", ptr, i64 }
%"class.vl::collections::ListStore.119" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.120" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.124" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.125" = type { %"class.vl::Object", %"class.vl::collections::SortedList.126", %"class.vl::collections::List.116", %"class.vl::collections::IEnumerable.134" }
%"class.vl::collections::SortedList.126" = type { %"class.vl::collections::ListBase.base.132", %"class.vl::collections::IEnumerable.130" }
%"class.vl::collections::ListBase.base.132" = type <{ %"class.vl::collections::ArrayBase.base.131", i64, i8 }>
%"class.vl::collections::ArrayBase.base.131" = type { %"class.vl::collections::ListStore.129", ptr, i64 }
%"class.vl::collections::ListStore.129" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.130" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.134" = type { %"class.vl::Interface" }
%"class.vl::collections::Dictionary.495" = type { %"class.vl::Object", %"class.vl::collections::SortedList.255", %"class.vl::collections::List.496", %"class.vl::collections::IEnumerable.504" }
%"class.vl::collections::SortedList.255" = type { %"class.vl::collections::ListBase.base.218", %"class.vl::collections::IEnumerable.216" }
%"class.vl::collections::List.496" = type { %"class.vl::collections::ListBase.base.502", %"class.vl::collections::IEnumerable.500" }
%"class.vl::collections::ListBase.base.502" = type <{ %"class.vl::collections::ArrayBase.base.501", i64, i8 }>
%"class.vl::collections::ArrayBase.base.501" = type { %"class.vl::collections::ListStore.499", ptr, i64 }
%"class.vl::collections::ListStore.499" = type { %"class.vl::Object" }
%"class.vl::collections::IEnumerable.500" = type { %"class.vl::Interface" }
%"class.vl::collections::IEnumerable.504" = type { %"class.vl::Interface" }
%"class.vl::collections::EnumerableForEachIterator.506" = type { %"class.vl::collections::ForEachIterator.507", %"class.vl::Ptr.508" }
%"class.vl::collections::ForEachIterator.507" = type { %"class.vl::Object" }
%"class.vl::Ptr.508" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.509" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.510" = type { %"class.vl::collections::ForEachIterator.511", %"class.vl::Ptr.512" }
%"class.vl::collections::ForEachIterator.511" = type { %"class.vl::Object" }
%"class.vl::Ptr.512" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.513" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::Pair.514" = type { %"class.vl::ObjectString", %"class.vl::ObjectString" }
%"class.vl::collections::Dictionary.515" = type { %"class.vl::Object", %"class.vl::collections::SortedList.255", %"class.vl::collections::List.116", %"class.vl::collections::IEnumerable.516" }
%"class.vl::collections::IEnumerable.516" = type { %"class.vl::Interface" }
%"class.vl::collections::List" = type { %"class.vl::collections::ListBase.base", %"class.vl::collections::IEnumerable.2" }
%"class.vl::Ptr.320" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.325" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::List.403" = 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::EnumerableForEachIterator.518" = type { %"class.vl::collections::ForEachIterator.519", %"class.vl::Ptr.520" }
%"class.vl::collections::ForEachIterator.519" = type { %"class.vl::Object" }
%"class.vl::Ptr.520" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.447" = 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::Ptr.446" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.524" = type { %"class.vl::collections::ForEachIterator.525", %"class.vl::Ptr.526" }
%"class.vl::collections::ForEachIterator.525" = type { %"class.vl::Object" }
%"class.vl::Ptr.526" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.527" = type { %"class.vl::collections::ForEachIterator.528", %"class.vl::Ptr.529" }
%"class.vl::collections::ForEachIterator.528" = type { %"class.vl::Object" }
%"class.vl::Ptr.529" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::Pair.530" = type { %"class.vl::ObjectString", i64 }
%"class.vl::parsing::tabling::ParsingTable::TreeTypeInfo" = type { %"class.vl::ObjectString", i64 }
%"class.vl::collections::EnumerableForEachIterator.531" = type { %"class.vl::collections::ForEachIterator.532", %"class.vl::Ptr.533" }
%"class.vl::collections::ForEachIterator.532" = type { %"class.vl::Object" }
%"class.vl::Ptr.533" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::Pair.534" = type { %"class.vl::collections::Pair.514", i64 }
%"class.vl::parsing::tabling::ParsingTable::TreeFieldInfo" = type { %"class.vl::ObjectString", %"class.vl::ObjectString", i64 }
%"class.vl::parsing::tabling::ParsingTable::TokenInfo" = type { %"class.vl::ObjectString", %"class.vl::ObjectString", i64, i64 }
%"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::parsing::tabling::ParsingTable::RuleInfo" = type { %"class.vl::ObjectString", %"class.vl::ObjectString", %"class.vl::ObjectString", i64, i64 }
%"class.vl::Ptr.538" = 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::parsing::tabling::ParsingTable::StateInfo" = type { %"class.vl::ObjectString", %"class.vl::ObjectString", %"class.vl::ObjectString", %"class.vl::ObjectString" }
%"class.vl::Ptr.542" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.473" = type { ptr, ptr, ptr, ptr }
%"class.vl::collections::EnumerableForEachIterator.551" = type { %"class.vl::collections::ForEachIterator.552", %"class.vl::Ptr.553" }
%"class.vl::collections::ForEachIterator.552" = type { %"class.vl::Object" }
%"class.vl::Ptr.553" = type { ptr, ptr, ptr, ptr }
%"class.vl::Ptr.394" = type { ptr, ptr, ptr, ptr }
%"class.vl::parsing::tabling::ParsingTable::Instruction" = type { i32, i64, %"class.vl::ObjectString", %"class.vl::ObjectString", %"class.vl::ObjectString" }
%"class.vl::collections::LazyList.554" = type { %"class.vl::Object", %"class.vl::collections::IEnumerable.547", %"class.vl::Ptr.555" }
%"class.vl::collections::IEnumerable.547" = type { %"class.vl::Interface" }
%"class.vl::Ptr.555" = 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: mustprogress nounwind uwtable
declare dso_local void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #2 align 2

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing7tabling12ParsingTable10InitializeEv(ptr noundef nonnull align 8 dereferenceable(656)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN2vl11collections4ListIllE3AddERKl(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 @_ZN2vl7parsing7tabling12ParsingTable13GetTokenCountEv(ptr noundef nonnull align 8 dereferenceable(656)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIllEixEl(ptr noundef nonnull align 8 dereferenceable(33), i64 noundef) local_unnamed_addr #3 align 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 ptr @_ZN2vl7parsing9analyzing13ParsingSymbol15GetParentSymbolEv(ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #2 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 #2 align 2

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorStringEv(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef nonnull align 8 dereferenceable(304)) local_unnamed_addr #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK2vl11collections10SortedListIPNS_7parsing9analyzing13ParsingSymbolES5_E7IndexOfERKS5_(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 ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager12CacheGetTypeEPNS0_11definitions21ParsingDefinitionTypeEPNS1_13ParsingSymbolE(ptr noundef nonnull align 8 dereferenceable(632), ptr noundef, ptr noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing15GetTypeFullNameEPNS1_13ParsingSymbolE(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef) local_unnamed_addr #3

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing11definitions12TypeToStringEPNS1_21ParsingDefinitionTypeE(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef) local_unnamed_addr #3

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing31GetTypeNameForCreateInstructionEPNS1_13ParsingSymbolE(ptr dead_on_unwind noalias writable sret(%"class.vl::ObjectString") align 8, ptr noundef) local_unnamed_addr #3

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl7parsing9analyzing19CreateAttributeInfoERNS_11collections4ListINS_3PtrINS0_11definitions26ParsingDefinitionAttributeEEEPS6_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.477") align 8, ptr noundef nonnull align 8 dereferenceable(33)) local_unnamed_addr #3

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN2vl7parsing9analyzing20GenerateTableFromPDAENS_3PtrINS0_11definitions17ParsingDefinitionEEEPNS1_20ParsingSymbolManagerENS2_INS1_9AutomatonEEEbRNS_11collections4ListINS2_INS0_12ParsingErrorEEEPSC_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.61") align 8 %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i1 noundef zeroext %4, ptr noundef nonnull align 8 dereferenceable(33) %5) local_unnamed_addr #3 personality ptr @__gxx_personality_v0 {
  %7 = alloca %"class.vl::collections::List.491", align 8
  %8 = alloca %"class.vl::collections::List.212", align 8
  %9 = alloca %"class.vl::collections::Dictionary", align 8
  %10 = alloca %"class.vl::collections::Dictionary.125", align 8
  %11 = alloca %"class.vl::collections::Dictionary.495", align 8
  %12 = alloca %"class.vl::collections::EnumerableForEachIterator.506", align 8
  %13 = alloca ptr, align 8
  %14 = alloca %"class.vl::Ptr.477", align 8
  %15 = alloca ptr, align 8
  %16 = alloca %"class.vl::Ptr.477", align 8
  %17 = alloca %"class.vl::Ptr.509", align 8
  %18 = alloca %"class.vl::ObjectString", align 8
  %19 = alloca i64, align 8
  %20 = alloca %"class.vl::ObjectString", align 8
  %21 = alloca i64, align 8
  %22 = alloca %"class.vl::collections::List.116", align 8
  %23 = alloca %"class.vl::collections::EnumerableForEachIterator.510", align 8
  %24 = alloca %"class.vl::Ptr.513", align 8
  %25 = alloca i64, align 8
  %26 = alloca %"class.vl::Ptr.477", align 8
  %27 = alloca i64, align 8
  %28 = alloca %"class.vl::collections::EnumerableForEachIterator.506", align 8
  %29 = alloca ptr, align 8
  %30 = alloca %"class.vl::ObjectString", align 8
  %31 = alloca %"class.vl::collections::EnumerableForEachIterator.510", align 8
  %32 = alloca %"class.vl::Ptr.513", align 8
  %33 = alloca %"class.vl::collections::Pair.514", align 8
  %34 = alloca %"class.vl::collections::Dictionary.515", align 8
  %35 = alloca %"class.vl::collections::List", align 8
  %36 = alloca %"class.vl::collections::Dictionary", align 8
  %37 = alloca %"class.vl::collections::Dictionary", align 8
  %38 = alloca %"class.vl::collections::EnumerableForEachIterator.317", align 8
  %39 = alloca %"class.vl::Ptr.320", align 8
  %40 = alloca i64, align 8
  %41 = alloca %"class.vl::Ptr.477", align 8
  %42 = alloca i64, align 8
  %43 = alloca ptr, align 8
  %44 = alloca i64, align 8
  %45 = alloca %"class.vl::collections::EnumerableForEachIterator.322", align 8
  %46 = alloca %"class.vl::Ptr.325", align 8
  %47 = alloca i64, align 8
  %48 = alloca %"class.vl::Ptr.477", align 8
  %49 = alloca i64, align 8
  %50 = alloca %"class.vl::collections::List.403", align 8
  %51 = alloca %"class.vl::collections::List.403", align 8
  %52 = alloca %"class.vl::collections::EnumerableForEachIterator.518", align 8
  %53 = alloca %"class.vl::Ptr.447", align 8
  %54 = alloca ptr, align 8
  %55 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %56 = alloca ptr, align 8
  %57 = alloca %"class.vl::collections::EnumerableForEachIterator.521", align 8
  %58 = alloca %"class.vl::Ptr.446", align 8
  %59 = alloca ptr, align 8
  %60 = alloca ptr, align 8
  %61 = alloca %"class.vl::collections::EnumerableForEachIterator.524", align 8
  %62 = alloca %"class.vl::Ptr.477", align 8
  %63 = alloca %"class.vl::Ptr.477", align 8
  %64 = alloca %"class.vl::collections::EnumerableForEachIterator.527", align 8
  %65 = alloca %"class.vl::collections::Pair.530", align 8
  %66 = alloca %"class.vl::parsing::tabling::ParsingTable::TreeTypeInfo", align 8
  %67 = alloca %"class.vl::collections::EnumerableForEachIterator.531", align 8
  %68 = alloca %"class.vl::collections::Pair.534", align 8
  %69 = alloca %"class.vl::parsing::tabling::ParsingTable::TreeFieldInfo", align 8
  %70 = alloca %"class.vl::collections::EnumerableForEachIterator.506", align 8
  %71 = alloca ptr, align 8
  %72 = alloca %"class.vl::parsing::tabling::ParsingTable::TokenInfo", align 8
  %73 = alloca %"class.vl::ObjectString", align 8
  %74 = alloca %"class.vl::collections::EnumerableForEachIterator", align 8
  %75 = alloca %"class.vl::ObjectString", align 8
  %76 = alloca %"class.vl::parsing::tabling::ParsingTable::TokenInfo", align 8
  %77 = alloca %"class.vl::ObjectString", align 8
  %78 = alloca %"class.vl::collections::EnumerableForEachIterator.535", align 8
  %79 = alloca ptr, align 8
  %80 = alloca %"class.vl::Ptr.447", align 8
  %81 = alloca %"class.vl::parsing::tabling::ParsingTable::RuleInfo", align 8
  %82 = alloca %"class.vl::ObjectString", align 8
  %83 = alloca %"class.vl::Ptr.538", align 8
  %84 = alloca %"class.vl::ObjectString", align 8
  %85 = alloca %"class.vl::collections::EnumerableForEachIterator.539", align 8
  %86 = alloca ptr, align 8
  %87 = alloca %"class.vl::parsing::tabling::ParsingTable::StateInfo", align 8
  %88 = alloca %"class.vl::collections::EnumerableForEachIterator.539", align 8
  %89 = alloca ptr, align 8
  %90 = alloca %"class.vl::collections::EnumerableForEachIterator.449", align 8
  %91 = alloca ptr, align 8
  %92 = alloca %"class.vl::Ptr.542", align 8
  %93 = alloca %"class.vl::Ptr.542", align 8
  %94 = alloca %"class.vl::Ptr.473", align 8
  %95 = alloca %"class.vl::collections::EnumerableForEachIterator.551", align 8
  %96 = alloca %"class.vl::Ptr.394", align 8
  %97 = alloca %"class.vl::parsing::tabling::ParsingTable::Instruction", align 8
  %98 = alloca %"class.vl::ObjectString", align 8
  %99 = alloca %"class.vl::Ptr.542", align 8
  %100 = alloca %"class.vl::collections::LazyList.554", align 8
  %101 = alloca %"class.vl::collections::LazyList.554", align 8
  %102 = alloca %"class.vl::Ptr.473", align 8
  %103 = alloca %"class.vl::Ptr.473", align 8
  %104 = alloca %"class.vl::Ptr.61", align 8
  %105 = alloca %"class.vl::Ptr.473", align 8
  %106 = alloca %"class.vl::Ptr.473", align 8
  %107 = alloca %"class.vl::Ptr.542", align 8
  %108 = alloca %"class.vl::Ptr.473", align 8
  %109 = alloca %"class.vl::Ptr.473", align 8
  %110 = alloca %"class.vl::Ptr.61", align 8
  %111 = alloca %"class.vl::Ptr.473", align 8
  %112 = alloca %"class.vl::Ptr.473", align 8
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %7) #7
  call void @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %7)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %8)
          to label %113 unwind label %123

113:                                              ; preds = %6
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %9) #7
  invoke void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %9)
          to label %114 unwind label %125

114:                                              ; preds = %113
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %10) #7
  invoke void @_ZN2vl11collections10DictionaryINS0_4PairINS_12ObjectStringIwEES4_EElS5_lEC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %10)
          to label %115 unwind label %127

115:                                              ; preds = %114
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %11) #7
  invoke void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_EC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %11)
          to label %116 unwind label %129

116:                                              ; preds = %115
  %117 = call noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager9GetGlobalEv(ptr noundef nonnull align 8 dereferenceable(632) %2)
  invoke void @_ZN2vl7parsing9analyzing11CollectTypeEPNS1_13ParsingSymbolERNS_11collections4ListIS3_S3_EE(ptr noundef %117, ptr noundef nonnull align 8 dereferenceable(33) %8)
          to label %118 unwind label %131

118:                                              ; preds = %116
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %12) #7
  %119 = load ptr, ptr %8, align 8, !tbaa !5
  %120 = getelementptr i8, ptr %119, i64 -24
  %121 = load i64, ptr %120, align 8
  %122 = getelementptr inbounds i8, ptr %8, i64 %121
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.506") align 8 %12, ptr noundef nonnull align 8 dereferenceable(8) %122)
          to label %135 unwind label %133

123:                                              ; preds = %6
  %124 = landingpad { ptr, i32 }
          cleanup
  br label %1220

125:                                              ; preds = %113
  %126 = landingpad { ptr, i32 }
          cleanup
  br label %1219

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

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

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

133:                                              ; preds = %118
  %134 = landingpad { ptr, i32 }
          cleanup
  br label %1216

135:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  br label %136

136:                                              ; preds = %220, %135
  %137 = load ptr, ptr %12, align 8, !tbaa !5
  %138 = getelementptr inbounds i8, ptr %137, i64 16
  %139 = load ptr, ptr %138, align 8
  %140 = invoke noundef zeroext i1 %139(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %141 unwind label %144

141:                                              ; preds = %136
  br i1 %140, label %146, label %.critedge

.critedge:                                        ; preds = %141
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) #7
  %142 = call noundef i64 @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %11)
  %143 = icmp sgt i64 %142, 0
  br i1 %143, label %.lr.ph630, label %._crit_edge631

144:                                              ; preds = %136
  %145 = landingpad { ptr, i32 }
          cleanup
  br label %223

146:                                              ; preds = %141
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #7
  %147 = invoke noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #8
          to label %148 unwind label %168

148:                                              ; preds = %146
  invoke void @_ZN2vl7parsing7tabling12ParsingTable17AttributeInfoListC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %147)
          to label %149 unwind label %170

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

150:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  %151 = load ptr, ptr %13, align 8, !tbaa !8
  store ptr %151, ptr %15, align 8, !tbaa !8
  %.not454626 = icmp eq ptr %151, null
  br i1 %.not454626, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %150, %188
  %152 = phi ptr [ %.pr, %188 ], [ %151, %150 ]
  %153 = invoke noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager23CacheGetClassDefinitionEPNS1_13ParsingSymbolE(ptr noundef nonnull align 8 dereferenceable(632) %2, ptr noundef nonnull %152)
          to label %154 unwind label %172

154:                                              ; preds = %.lr.ph
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %14)
  %155 = getelementptr inbounds i8, ptr %153, i64 120
  invoke void @_ZN2vl7parsing9analyzing20CollectAttributeInfoENS_3PtrINS0_7tabling12ParsingTable17AttributeInfoListEEERNS_11collections4ListINS2_INS0_11definitions26ParsingDefinitionAttributeEEEPSA_EE(ptr noundef nonnull %16, ptr noundef nonnull align 8 dereferenceable(33) %155)
          to label %156 unwind label %174

156:                                              ; preds = %154
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  call void @_ZN2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17)
  %157 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %11)
  %158 = invoke noundef i64 @_ZNK2vl11collections10SortedListIPNS_7parsing9analyzing13ParsingSymbolES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %157, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %159 unwind label %176

159:                                              ; preds = %156
  %160 = icmp eq i64 %158, -1
  br i1 %160, label %161, label %180

161:                                              ; preds = %159
  %162 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #8
          to label %163 unwind label %176

163:                                              ; preds = %161
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %162)
          to label %164 unwind label %178

164:                                              ; preds = %163
  %165 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEEaSEPS7_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull %162)
          to label %166 unwind label %176

166:                                              ; preds = %164
  %167 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E3AddERKS5_RKS9_(ptr noundef nonnull align 8 dereferenceable(104) %11, ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %185 unwind label %176

168:                                              ; preds = %149, %146
  %169 = landingpad { ptr, i32 }
          cleanup
  br label %222

170:                                              ; preds = %148
  %171 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %147, i64 noundef 56) #9
  br label %222

172:                                              ; preds = %.lr.ph
  %173 = landingpad { ptr, i32 }
          cleanup
  br label %221

174:                                              ; preds = %154
  %175 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %221

176:                                              ; preds = %185, %183, %180, %166, %164, %161, %156
  %177 = landingpad { ptr, i32 }
          cleanup
  br label %191

178:                                              ; preds = %163
  %179 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %162, i64 noundef 48) #9
  br label %191

180:                                              ; preds = %159
  %181 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %11)
  %182 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections9ArrayBaseINS_3PtrINS0_4ListIPNS_7parsing9analyzing13ParsingSymbolES7_EEEEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %181, i64 noundef %158)
          to label %183 unwind label %176

183:                                              ; preds = %180
  %184 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEEaSERKS8_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %182)
          to label %185 unwind label %176

185:                                              ; preds = %183, %166
  %186 = call noundef ptr @_ZNK2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %17)
  %187 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %186, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %188 unwind label %176

188:                                              ; preds = %185
  %189 = load ptr, ptr %15, align 8, !tbaa !8
  %190 = call noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorSymbolEv(ptr noundef nonnull align 8 dereferenceable(304) %189)
  store ptr %190, ptr %15, align 8, !tbaa !8
  call void @_ZN2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  %.pr = load ptr, ptr %15, align 8, !tbaa !8
  %.not454 = icmp eq ptr %.pr, null
  br i1 %.not454, label %._crit_edge, label %.lr.ph, !llvm.loop !11

191:                                              ; preds = %178, %176
  %.pn459 = phi { ptr, i32 } [ %177, %176 ], [ %179, %178 ]
  call void @_ZN2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  br label %221

._crit_edge:                                      ; preds = %188, %150
  %192 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %14)
  %193 = getelementptr inbounds i8, ptr %192, i64 8
  %194 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable13AttributeInfoEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %193)
  %195 = icmp sgt i64 %194, 0
  br i1 %195, label %196, label %210

196:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %18) #7
  %197 = load ptr, ptr %13, align 8, !tbaa !8
  invoke void @_ZN2vl7parsing9analyzing15GetTypeFullNameEPNS1_13ParsingSymbolE(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %18, ptr noundef %197)
          to label %198 unwind label %205

198:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #7
  %199 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %7)
  store i64 %199, ptr %19, align 8, !tbaa !13
  %200 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(48) %18, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %201 unwind label %207

201:                                              ; preds = %198
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) #7
  %202 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %7, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %220 unwind label %203

203:                                              ; preds = %201
  %204 = landingpad { ptr, i32 }
          cleanup
  br label %221

205:                                              ; preds = %196
  %206 = landingpad { ptr, i32 }
          cleanup
  br label %209

207:                                              ; preds = %198
  %208 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %18) #7
  br label %209

209:                                              ; preds = %207, %205
  %.pn457 = phi { ptr, i32 } [ %208, %207 ], [ %206, %205 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %18) #7
  br label %221

210:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %20) #7
  %211 = load ptr, ptr %13, align 8, !tbaa !8
  invoke void @_ZN2vl7parsing9analyzing15GetTypeFullNameEPNS1_13ParsingSymbolE(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %20, ptr noundef %211)
          to label %212 unwind label %215

212:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  store i64 -1, ptr %21, align 8, !tbaa !13
  %213 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %9, ptr noundef nonnull align 8 dereferenceable(48) %20, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %214 unwind label %217

214:                                              ; preds = %212
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %20) #7
  br label %220

215:                                              ; preds = %210
  %216 = landingpad { ptr, i32 }
          cleanup
  br label %219

217:                                              ; preds = %212
  %218 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %20) #7
  br label %219

219:                                              ; preds = %217, %215
  %.pn455 = phi { ptr, i32 } [ %218, %217 ], [ %216, %215 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %20) #7
  br label %221

220:                                              ; preds = %201, %214
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  br label %136, !llvm.loop !15

221:                                              ; preds = %172, %174, %191, %219, %209, %203
  %.pn459.pn.pn = phi { ptr, i32 } [ %204, %203 ], [ %.pn457, %209 ], [ %.pn455, %219 ], [ %.pn459, %191 ], [ %175, %174 ], [ %173, %172 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %222

222:                                              ; preds = %221, %170, %168
  %.pn459.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn, %221 ], [ %169, %168 ], [ %171, %170 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  br label %223

223:                                              ; preds = %222, %144
  %.pn459.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn.pn, %222 ], [ %145, %144 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) #7
  br label %1216

._crit_edge631:                                   ; preds = %.critedge474, %.critedge
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %34) #7
  invoke void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lEC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %34)
          to label %342 unwind label %352

.lr.ph630:                                        ; preds = %.critedge, %.critedge474
  %.0292629 = phi i64 [ %298, %.critedge474 ], [ 0, %.critedge ]
  %224 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %11)
  %225 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing13ParsingSymbolEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %224, i64 noundef %.0292629)
          to label %226 unwind label %240

226:                                              ; preds = %.lr.ph630
  %227 = load ptr, ptr %225, align 8, !tbaa !8
  %228 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %11)
  %229 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections9ArrayBaseINS_3PtrINS0_4ListIPNS_7parsing9analyzing13ParsingSymbolES7_EEEEE3GetEl(ptr noundef nonnull align 8 dereferenceable(24) %228, i64 noundef %.0292629)
          to label %230 unwind label %242

230:                                              ; preds = %226
  %231 = call noundef ptr @_ZNK2vl3PtrINS_11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES6_EEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %229)
  %232 = invoke noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager23CacheGetClassDefinitionEPNS1_13ParsingSymbolE(ptr noundef nonnull align 8 dereferenceable(632) %2, ptr noundef %227)
          to label %233 unwind label %244

233:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %22) #7
  invoke void @_ZN2vl11collections4ListIllEC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %22)
          to label %234 unwind label %246

234:                                              ; preds = %233
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %23) #7
  %235 = getelementptr inbounds i8, ptr %232, i64 280
  %236 = load ptr, ptr %235, align 8, !tbaa !5
  %237 = getelementptr i8, ptr %236, i64 -24
  %238 = load i64, ptr %237, align 8
  %239 = getelementptr inbounds i8, ptr %235, i64 %238
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.510") align 8 %23, ptr noundef nonnull align 8 dereferenceable(8) %239)
          to label %.preheader521 unwind label %248

240:                                              ; preds = %.lr.ph630
  %241 = landingpad { ptr, i32 }
          cleanup
  br label %1216

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

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

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

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

.preheader521:                                    ; preds = %234
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #7
  call void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24)
  br label %250

250:                                              ; preds = %.backedge807, %.preheader521
  %251 = load ptr, ptr %23, align 8, !tbaa !5
  %252 = getelementptr inbounds i8, ptr %251, i64 16
  %253 = load ptr, ptr %252, align 8
  %254 = invoke noundef zeroext i1 %253(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %255 unwind label %260

255:                                              ; preds = %250
  br i1 %254, label %262, label %.critedge472

.critedge472:                                     ; preds = %255
  call void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %28) #7
  %256 = load ptr, ptr %231, align 8, !tbaa !5
  %257 = getelementptr i8, ptr %256, i64 -24
  %258 = load i64, ptr %257, align 8
  %259 = getelementptr inbounds i8, ptr %231, i64 %258
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.506") align 8 %28, ptr noundef nonnull align 8 dereferenceable(8) %259)
          to label %291 unwind label %289

260:                                              ; preds = %250
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %288

262:                                              ; preds = %255
  %263 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %24)
  %264 = getelementptr inbounds i8, ptr %263, i64 120
  %265 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %264)
  %266 = icmp sgt i64 %265, 0
  br i1 %266, label %267, label %283

267:                                              ; preds = %262
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #7
  %268 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %7)
  store i64 %268, ptr %25, align 8, !tbaa !13
  %269 = invoke noundef i64 @_ZN2vl11collections4ListIllE3AddERKl(ptr noundef nonnull align 8 dereferenceable(33) %22, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %270 unwind label %276

270:                                              ; preds = %267
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  %271 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %24)
  %272 = getelementptr inbounds i8, ptr %271, i64 120
  invoke void @_ZN2vl7parsing9analyzing19CreateAttributeInfoERNS_11collections4ListINS_3PtrINS0_11definitions26ParsingDefinitionAttributeEEEPS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.477") align 8 %26, ptr noundef nonnull align 8 dereferenceable(33) %272)
          to label %273 unwind label %278

273:                                              ; preds = %270
  %274 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %7, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %275 unwind label %280

275:                                              ; preds = %273
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %.backedge807

.backedge807:                                     ; preds = %275, %285
  br label %250, !llvm.loop !16

276:                                              ; preds = %267
  %277 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  br label %288

278:                                              ; preds = %270
  %279 = landingpad { ptr, i32 }
          cleanup
  br label %282

280:                                              ; preds = %273
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %282

282:                                              ; preds = %280, %278
  %.pn445 = phi { ptr, i32 } [ %281, %280 ], [ %279, %278 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %288

283:                                              ; preds = %262
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #7
  store i64 -1, ptr %27, align 8, !tbaa !13
  %284 = invoke noundef i64 @_ZN2vl11collections4ListIllE3AddERKl(ptr noundef nonnull align 8 dereferenceable(33) %22, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %285 unwind label %286

285:                                              ; preds = %283
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  br label %.backedge807

286:                                              ; preds = %283
  %287 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #7
  br label %288

288:                                              ; preds = %286, %282, %276, %260
  %.pn445.pn = phi { ptr, i32 } [ %.pn445, %282 ], [ %277, %276 ], [ %287, %286 ], [ %261, %260 ]
  call void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %23) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %23) #7
  br label %340

289:                                              ; preds = %.critedge472
  %290 = landingpad { ptr, i32 }
          cleanup
  br label %340

291:                                              ; preds = %.critedge472
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  br label %292

292:                                              ; preds = %.critedge476, %291
  %293 = load ptr, ptr %28, align 8, !tbaa !5
  %294 = getelementptr inbounds i8, ptr %293, i64 16
  %295 = load ptr, ptr %294, align 8
  %296 = invoke noundef zeroext i1 %295(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %29)
          to label %297 unwind label %301

297:                                              ; preds = %292
  br i1 %296, label %303, label %.critedge474

.critedge474:                                     ; preds = %297
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %28) #7
  call void @_ZN2vl11collections4ListIllED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %22) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #7
  %298 = add nuw nsw i64 %.0292629, 1
  %299 = call noundef i64 @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_E5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %11)
  %300 = icmp slt i64 %298, %299
  br i1 %300, label %.lr.ph630, label %._crit_edge631, !llvm.loop !17

301:                                              ; preds = %292
  %302 = landingpad { ptr, i32 }
          cleanup
  br label %339

303:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %30) #7
  %304 = load ptr, ptr %29, align 8, !tbaa !8
  invoke void @_ZN2vl7parsing9analyzing15GetTypeFullNameEPNS1_13ParsingSymbolE(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %30, ptr noundef %304)
          to label %305 unwind label %310

305:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %31) #7
  %306 = load ptr, ptr %235, align 8, !tbaa !5
  %307 = getelementptr i8, ptr %306, i64 -24
  %308 = load i64, ptr %307, align 8
  %309 = getelementptr inbounds i8, ptr %235, i64 %308
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.510") align 8 %31, ptr noundef nonnull align 8 dereferenceable(8) %309)
          to label %.preheader520 unwind label %312

310:                                              ; preds = %303
  %311 = landingpad { ptr, i32 }
          cleanup
  br label %338

312:                                              ; preds = %305
  %313 = landingpad { ptr, i32 }
          cleanup
  br label %337

.preheader520:                                    ; preds = %305
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #7
  call void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32)
  br label %314

314:                                              ; preds = %329, %.preheader520
  %.1309 = phi i64 [ 0, %.preheader520 ], [ %330, %329 ]
  %315 = load ptr, ptr %31, align 8, !tbaa !5
  %316 = getelementptr inbounds i8, ptr %315, i64 16
  %317 = load ptr, ptr %316, align 8
  %318 = invoke noundef zeroext i1 %317(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %319 unwind label %320

319:                                              ; preds = %314
  br i1 %318, label %322, label %.critedge476

.critedge476:                                     ; preds = %319
  call void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %31) #7
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %30) #7
  br label %292, !llvm.loop !18

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

322:                                              ; preds = %319
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %33) #7
  %323 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %32)
  %324 = getelementptr inbounds i8, ptr %323, i64 168
  invoke void @_ZN2vl11collections4PairINS_12ObjectStringIwEES3_EC2ERKS3_S6_(ptr noundef nonnull align 8 dereferenceable(96) %33, ptr noundef nonnull align 8 dereferenceable(48) %30, ptr noundef nonnull align 8 dereferenceable(48) %324)
          to label %325 unwind label %331

325:                                              ; preds = %322
  %326 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIllEixEl(ptr noundef nonnull align 8 dereferenceable(33) %22, i64 noundef %.1309)
          to label %327 unwind label %333

327:                                              ; preds = %325
  %328 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS0_4PairINS_12ObjectStringIwEES4_EElS5_lE3AddERKS5_RKl(ptr noundef nonnull align 8 dereferenceable(104) %10, ptr noundef nonnull align 8 dereferenceable(96) %33, ptr noundef nonnull align 8 dereferenceable(8) %326)
          to label %329 unwind label %333

329:                                              ; preds = %327
  call void @_ZN2vl11collections4PairINS_12ObjectStringIwEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(96) %33) #7
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %33) #7
  %330 = add nuw nsw i64 %.1309, 1
  br label %314, !llvm.loop !19

331:                                              ; preds = %322
  %332 = landingpad { ptr, i32 }
          cleanup
  br label %335

333:                                              ; preds = %327, %325
  %334 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl11collections4PairINS_12ObjectStringIwEES3_ED2Ev(ptr noundef nonnull align 8 dereferenceable(96) %33) #7
  br label %335

335:                                              ; preds = %333, %331
  %.pn438 = phi { ptr, i32 } [ %334, %333 ], [ %332, %331 ]
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %33) #7
  br label %336

336:                                              ; preds = %335, %320
  %.pn438.pn = phi { ptr, i32 } [ %.pn438, %335 ], [ %321, %320 ]
  call void @_ZN2vl3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions38ParsingDefinitionClassMemberDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %31) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %31) #7
  br label %337

337:                                              ; preds = %336, %312
  %.pn438.pn.pn = phi { ptr, i32 } [ %.pn438.pn, %336 ], [ %313, %312 ]
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %30) #7
  br label %338

338:                                              ; preds = %337, %310
  %.pn438.pn.pn.pn = phi { ptr, i32 } [ %.pn438.pn.pn, %337 ], [ %311, %310 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %30) #7
  br label %339

339:                                              ; preds = %338, %301
  %.pn438.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn438.pn.pn.pn, %338 ], [ %302, %301 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %28) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %28) #7
  br label %340

340:                                              ; preds = %289, %339, %248, %288
  %.pn445.pn.pn.pn = phi { ptr, i32 } [ %.pn445.pn, %288 ], [ %249, %248 ], [ %.pn438.pn.pn.pn.pn, %339 ], [ %290, %289 ]
  call void @_ZN2vl11collections4ListIllED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %22) #7
  br label %341

341:                                              ; preds = %340, %246
  %.pn445.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn445.pn.pn.pn, %340 ], [ %247, %246 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %22) #7
  br label %1216

342:                                              ; preds = %._crit_edge631
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %35) #7
  invoke void @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %35)
          to label %343 unwind label %354

343:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %36) #7
  invoke void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %36)
          to label %344 unwind label %356

344:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %37) #7
  invoke void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEC1Ev(ptr noundef nonnull align 8 dereferenceable(104) %37)
          to label %345 unwind label %358

345:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %38) #7
  %346 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions17ParsingDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %347 = getelementptr inbounds i8, ptr %346, i64 168
  %348 = load ptr, ptr %347, align 8, !tbaa !5
  %349 = getelementptr i8, ptr %348, i64 -24
  %350 = load i64, ptr %349, align 8
  %351 = getelementptr inbounds i8, ptr %347, i64 %350
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.317") align 8 %38, ptr noundef nonnull align 8 dereferenceable(8) %351)
          to label %.preheader519 unwind label %360

352:                                              ; preds = %._crit_edge631
  %353 = landingpad { ptr, i32 }
          cleanup
  br label %1215

354:                                              ; preds = %342
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %1214

356:                                              ; preds = %343
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %1213

358:                                              ; preds = %344
  %359 = landingpad { ptr, i32 }
          cleanup
  br label %1212

360:                                              ; preds = %345
  %361 = landingpad { ptr, i32 }
          cleanup
  br label %1211

.preheader519:                                    ; preds = %345
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #7
  call void @_ZN2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39)
  br label %.outer

.outer:                                           ; preds = %412, %.preheader519
  %.1319.ph = phi i64 [ %413, %412 ], [ 0, %.preheader519 ]
  %.1311.ph = phi i64 [ %.1311, %412 ], [ 0, %.preheader519 ]
  br label %362

362:                                              ; preds = %.outer, %426
  %.1311 = phi i64 [ %427, %426 ], [ %.1311.ph, %.outer ]
  %363 = load ptr, ptr %38, align 8, !tbaa !5
  %364 = getelementptr inbounds i8, ptr %363, i64 16
  %365 = load ptr, ptr %364, align 8
  %366 = invoke noundef zeroext i1 %365(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %367 unwind label %.loopexit790

367:                                              ; preds = %362
  br i1 %366, label %375, label %368

368:                                              ; preds = %367
  call void @_ZN2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %45) #7
  %369 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions17ParsingDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %370 = getelementptr inbounds i8, ptr %369, i64 216
  %371 = load ptr, ptr %370, align 8, !tbaa !5
  %372 = getelementptr i8, ptr %371, i64 -24
  %373 = load i64, ptr %372, align 8
  %374 = getelementptr inbounds i8, ptr %370, i64 %373
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.322") align 8 %45, ptr noundef nonnull align 8 dereferenceable(8) %374)
          to label %436 unwind label %434

.loopexit790:                                     ; preds = %362
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %433

.loopexit.split-lp:                               ; preds = %408
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %433

375:                                              ; preds = %367
  %376 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %39)
  %377 = getelementptr inbounds i8, ptr %376, i64 120
  %378 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %377)
  %379 = icmp sgt i64 %378, 0
  %380 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %39)
  %381 = getelementptr inbounds i8, ptr %380, i64 168
  br i1 %379, label %382, label %398

382:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #7
  %383 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %7)
  store i64 %383, ptr %40, align 8, !tbaa !13
  %384 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %36, ptr noundef nonnull align 8 dereferenceable(48) %381, ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %385 unwind label %391

385:                                              ; preds = %382
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #7
  %386 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %39)
  %387 = getelementptr inbounds i8, ptr %386, i64 120
  invoke void @_ZN2vl7parsing9analyzing19CreateAttributeInfoERNS_11collections4ListINS_3PtrINS0_11definitions26ParsingDefinitionAttributeEEEPS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.477") align 8 %41, ptr noundef nonnull align 8 dereferenceable(33) %387)
          to label %388 unwind label %393

388:                                              ; preds = %385
  %389 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %7, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %390 unwind label %395

390:                                              ; preds = %388
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  br label %403

391:                                              ; preds = %382
  %392 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  br label %433

393:                                              ; preds = %385
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %397

395:                                              ; preds = %388
  %396 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %397

397:                                              ; preds = %395, %393
  %.pn426 = phi { ptr, i32 } [ %396, %395 ], [ %394, %393 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  br label %433

398:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  store i64 -1, ptr %42, align 8, !tbaa !13
  %399 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %36, ptr noundef nonnull align 8 dereferenceable(48) %381, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %400 unwind label %401

400:                                              ; preds = %398
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  br label %403

401:                                              ; preds = %398
  %402 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  br label %433

403:                                              ; preds = %400, %390
  %404 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %39)
  %405 = getelementptr inbounds i8, ptr %404, i64 264
  %406 = load i8, ptr %405, align 8, !tbaa !20, !range !38, !noundef !39
  %407 = trunc nuw i8 %406 to i1
  br i1 %407, label %408, label %414

408:                                              ; preds = %403
  %409 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %39)
  %410 = getelementptr inbounds i8, ptr %409, i64 168
  %411 = invoke noundef i64 @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_E3AddERKS3_(ptr noundef nonnull align 8 dereferenceable(33) %35, ptr noundef nonnull align 8 dereferenceable(48) %410)
          to label %412 unwind label %.loopexit.split-lp

412:                                              ; preds = %408
  %413 = add nuw nsw i64 %.1319.ph, 1
  br label %.outer, !llvm.loop !40

414:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #7
  %415 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
  %416 = getelementptr inbounds i8, ptr %415, i64 8
  %417 = load ptr, ptr %416, align 8, !tbaa !41
  %418 = call noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager9GetGlobalEv(ptr noundef nonnull align 8 dereferenceable(632) %417)
  %419 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %39)
  %420 = getelementptr inbounds i8, ptr %419, i64 168
  %421 = invoke noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol18GetSubSymbolByNameERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(304) %418, ptr noundef nonnull align 8 dereferenceable(48) %420)
          to label %422 unwind label %428

422:                                              ; preds = %414
  store ptr %421, ptr %43, align 8, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #7
  %423 = call noundef i64 @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lE5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %34)
  %424 = add nsw i64 %423, 4
  store i64 %424, ptr %44, align 8, !tbaa !13
  %425 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lE3AddERKS5_RKl(ptr noundef nonnull align 8 dereferenceable(104) %34, ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %426 unwind label %430

426:                                              ; preds = %422
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  %427 = add nsw i64 %.1311, 1
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  br label %362, !llvm.loop !40

428:                                              ; preds = %414
  %429 = landingpad { ptr, i32 }
          cleanup
  br label %432

430:                                              ; preds = %422
  %431 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  br label %432

432:                                              ; preds = %430, %428
  %.pn428 = phi { ptr, i32 } [ %431, %430 ], [ %429, %428 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  br label %433

433:                                              ; preds = %.loopexit790, %.loopexit.split-lp, %432, %401, %397, %391
  %.pn430 = phi { ptr, i32 } [ %.pn428, %432 ], [ %.pn426, %397 ], [ %392, %391 ], [ %402, %401 ], [ %lpad.loopexit, %.loopexit790 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZN2vl3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions32ParsingDefinitionTokenDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %38) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %38) #7
  br label %1211

434:                                              ; preds = %368
  %435 = landingpad { ptr, i32 }
          cleanup
  br label %1211

436:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #7
  call void @_ZN2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46)
  br label %437

437:                                              ; preds = %.backedge789, %436
  %438 = load ptr, ptr %45, align 8, !tbaa !5
  %439 = getelementptr inbounds i8, ptr %438, i64 16
  %440 = load ptr, ptr %439, align 8
  %441 = invoke noundef zeroext i1 %440(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %442 unwind label %443

442:                                              ; preds = %437
  br i1 %441, label %445, label %.critedge478

.critedge478:                                     ; preds = %442
  call void @_ZN2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %50) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %50)
          to label %474 unwind label %483

443:                                              ; preds = %437
  %444 = landingpad { ptr, i32 }
          cleanup
  br label %473

445:                                              ; preds = %442
  %446 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %46)
  %447 = getelementptr inbounds i8, ptr %446, i64 120
  %448 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %447)
  %449 = icmp sgt i64 %448, 0
  %450 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %46)
  %451 = getelementptr inbounds i8, ptr %450, i64 168
  br i1 %449, label %452, label %468

452:                                              ; preds = %445
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #7
  %453 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %7)
  store i64 %453, ptr %47, align 8, !tbaa !13
  %454 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %37, ptr noundef nonnull align 8 dereferenceable(48) %451, ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %455 unwind label %461

455:                                              ; preds = %452
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #7
  %456 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %46)
  %457 = getelementptr inbounds i8, ptr %456, i64 120
  invoke void @_ZN2vl7parsing9analyzing19CreateAttributeInfoERNS_11collections4ListINS_3PtrINS0_11definitions26ParsingDefinitionAttributeEEEPS6_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.477") align 8 %48, ptr noundef nonnull align 8 dereferenceable(33) %457)
          to label %458 unwind label %463

458:                                              ; preds = %455
  %459 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %7, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %460 unwind label %465

460:                                              ; preds = %458
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  br label %.backedge789

461:                                              ; preds = %452
  %462 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  br label %473

463:                                              ; preds = %455
  %464 = landingpad { ptr, i32 }
          cleanup
  br label %467

465:                                              ; preds = %458
  %466 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  br label %467

467:                                              ; preds = %465, %463
  %.pn422 = phi { ptr, i32 } [ %466, %465 ], [ %464, %463 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  br label %473

468:                                              ; preds = %445
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #7
  store i64 -1, ptr %49, align 8, !tbaa !13
  %469 = invoke noundef zeroext i1 @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE3AddERKS3_RKl(ptr noundef nonnull align 8 dereferenceable(104) %37, ptr noundef nonnull align 8 dereferenceable(48) %451, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %470 unwind label %471

470:                                              ; preds = %468
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #7
  br label %.backedge789

.backedge789:                                     ; preds = %470, %460
  br label %437, !llvm.loop !60

471:                                              ; preds = %468
  %472 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #7
  br label %473

473:                                              ; preds = %471, %467, %461, %443
  %.pn422.pn = phi { ptr, i32 } [ %.pn422, %467 ], [ %462, %461 ], [ %472, %471 ], [ %444, %443 ]
  call void @_ZN2vl3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %45) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %45) #7
  br label %1211

474:                                              ; preds = %.critedge478
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %51) #7
  invoke void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EC1Ev(ptr noundef nonnull align 8 dereferenceable(33) %51)
          to label %475 unwind label %485

475:                                              ; preds = %474
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %52) #7
  %476 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
  %477 = getelementptr inbounds i8, ptr %476, i64 112
  %478 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104) %477)
  %479 = load ptr, ptr %478, align 8, !tbaa !5
  %480 = getelementptr i8, ptr %479, i64 -24
  %481 = load i64, ptr %480, align 8
  %482 = getelementptr inbounds i8, ptr %478, i64 %481
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing8RuleInfoEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.518") align 8 %52, ptr noundef nonnull align 8 dereferenceable(8) %482)
          to label %.preheader518 unwind label %487

483:                                              ; preds = %.critedge478
  %484 = landingpad { ptr, i32 }
          cleanup
  br label %1210

485:                                              ; preds = %474
  %486 = landingpad { ptr, i32 }
          cleanup
  br label %556

487:                                              ; preds = %475
  %488 = landingpad { ptr, i32 }
          cleanup
  br label %555

.preheader518:                                    ; preds = %475
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53)
  br label %489

.loopexit517:                                     ; preds = %.critedge480, %514
  %.2335.lcssa = phi i64 [ %.1334, %514 ], [ %517, %.critedge480 ]
  br label %489, !llvm.loop !61

489:                                              ; preds = %.loopexit517, %.preheader518
  %.1334 = phi i64 [ 0, %.preheader518 ], [ %.2335.lcssa, %.loopexit517 ]
  %490 = load ptr, ptr %52, align 8, !tbaa !5
  %491 = getelementptr inbounds i8, ptr %490, i64 16
  %492 = load ptr, ptr %491, align 8
  %493 = invoke noundef zeroext i1 %492(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %494 unwind label %503

494:                                              ; preds = %489
  br i1 %493, label %505, label %495

495:                                              ; preds = %494
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing8RuleInfoEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #7
  %496 = call noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %51)
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %51) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %57) #7
  %497 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
  %498 = getelementptr inbounds i8, ptr %497, i64 64
  %499 = load ptr, ptr %498, align 8, !tbaa !5
  %500 = getelementptr i8, ptr %499, i64 -24
  %501 = load i64, ptr %500, align 8
  %502 = getelementptr inbounds i8, ptr %498, i64 %501
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.521") align 8 %57, ptr noundef nonnull align 8 dereferenceable(8) %502)
          to label %559 unwind label %557

503:                                              ; preds = %510, %505, %489
  %504 = landingpad { ptr, i32 }
          cleanup
  br label %554

505:                                              ; preds = %494
  %506 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
  %507 = getelementptr inbounds i8, ptr %506, i64 8
  %508 = invoke noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %51, ptr noundef nonnull align 8 dereferenceable(8) %507)
          to label %509 unwind label %503

509:                                              ; preds = %505
  br i1 %508, label %514, label %510

510:                                              ; preds = %509
  %511 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
  %512 = getelementptr inbounds i8, ptr %511, i64 8
  %513 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %51, ptr noundef nonnull align 8 dereferenceable(8) %512)
          to label %514 unwind label %503

514:                                              ; preds = %510, %509
  %515 = call noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %51)
  %516 = icmp slt i64 %.1334, %515
  br i1 %516, label %.lr.ph636, label %.loopexit517

.lr.ph636:                                        ; preds = %514, %.critedge480
  %.2335634 = phi i64 [ %517, %.critedge480 ], [ %.1334, %514 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #7
  %517 = add nsw i64 %.2335634, 1
  %518 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %51, i64 noundef %.2335634)
          to label %519 unwind label %529

519:                                              ; preds = %.lr.ph636
  %520 = load ptr, ptr %518, align 8, !tbaa !8
  store ptr %520, ptr %54, align 8, !tbaa !8
  %521 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %50, ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %522 unwind label %529

522:                                              ; preds = %519
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %55) #7
  %523 = load ptr, ptr %54, align 8, !tbaa !8
  %524 = getelementptr inbounds i8, ptr %523, i64 8
  %525 = load ptr, ptr %524, align 8, !tbaa !5
  %526 = getelementptr i8, ptr %525, i64 -24
  %527 = load i64, ptr %526, align 8
  %528 = getelementptr inbounds i8, ptr %524, i64 %527
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %55, ptr noundef nonnull align 8 dereferenceable(8) %528)
          to label %533 unwind label %531

529:                                              ; preds = %519, %.lr.ph636
  %530 = landingpad { ptr, i32 }
          cleanup
  br label %553

531:                                              ; preds = %522
  %532 = landingpad { ptr, i32 }
          cleanup
  br label %553

533:                                              ; preds = %522
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #7
  br label %534

534:                                              ; preds = %.backedge784, %533
  %535 = load ptr, ptr %55, align 8, !tbaa !5
  %536 = getelementptr inbounds i8, ptr %535, i64 16
  %537 = load ptr, ptr %536, align 8
  %538 = invoke noundef zeroext i1 %537(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull align 8 dereferenceable(8) %56)
          to label %539 unwind label %542

539:                                              ; preds = %534
  br i1 %538, label %544, label %.critedge480

.critedge480:                                     ; preds = %539
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #7
  %540 = call noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %51)
  %541 = icmp slt i64 %517, %540
  br i1 %541, label %.lr.ph636, label %.loopexit517, !llvm.loop !62

542:                                              ; preds = %549, %544, %534
  %543 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %55) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %55) #7
  br label %553

544:                                              ; preds = %539
  %545 = load ptr, ptr %56, align 8, !tbaa !8
  %546 = getelementptr inbounds i8, ptr %545, i64 16
  %547 = invoke noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %51, ptr noundef nonnull align 8 dereferenceable(8) %546)
          to label %548 unwind label %542

548:                                              ; preds = %544
  br i1 %547, label %.backedge784, label %549

549:                                              ; preds = %548
  %550 = load ptr, ptr %56, align 8, !tbaa !8
  %551 = getelementptr inbounds i8, ptr %550, i64 16
  %552 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %51, ptr noundef nonnull align 8 dereferenceable(8) %551)
          to label %.backedge784 unwind label %542

.backedge784:                                     ; preds = %549, %548
  br label %534, !llvm.loop !63

553:                                              ; preds = %531, %542, %529
  %.pn414.pn = phi { ptr, i32 } [ %530, %529 ], [ %543, %542 ], [ %532, %531 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #7
  br label %554

554:                                              ; preds = %553, %503
  %.pn414.pn.pn = phi { ptr, i32 } [ %.pn414.pn, %553 ], [ %504, %503 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing8RuleInfoEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #7
  br label %555

555:                                              ; preds = %554, %487
  %.pn414.pn.pn.pn = phi { ptr, i32 } [ %.pn414.pn.pn, %554 ], [ %488, %487 ]
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %51) #7
  br label %556

556:                                              ; preds = %555, %485
  %.pn414.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn414.pn.pn.pn, %555 ], [ %486, %485 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %51) #7
  br label %1209

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

559:                                              ; preds = %495
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58)
  br label %560

560:                                              ; preds = %.backedge, %559
  %561 = load ptr, ptr %57, align 8, !tbaa !5
  %562 = getelementptr inbounds i8, ptr %561, i64 16
  %563 = load ptr, ptr %562, align 8
  %564 = invoke noundef zeroext i1 %563(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %565 unwind label %568

565:                                              ; preds = %560
  br i1 %564, label %570, label %.critedge482

.critedge482:                                     ; preds = %565
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %57) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %57) #7
  %566 = call noundef i64 @_ZNK2vl11collections9ArrayBaseIPNS_7parsing9analyzing5StateEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %50)
  %567 = invoke noalias noundef nonnull dereferenceable(656) ptr @_Znwm(i64 noundef 656) #8
          to label %583 unwind label %597

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

570:                                              ; preds = %565
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #7
  %571 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %58)
  store ptr %571, ptr %59, align 8, !tbaa !8
  %572 = invoke noundef zeroext i1 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E8ContainsERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %50, ptr noundef nonnull align 8 dereferenceable(8) %59)
          to label %573 unwind label %578

573:                                              ; preds = %570
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  br i1 %572, label %.backedge, label %574

574:                                              ; preds = %573
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #7
  %575 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %58)
  store ptr %575, ptr %60, align 8, !tbaa !8
  %576 = invoke noundef i64 @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %50, ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %577 unwind label %580

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

.backedge:                                        ; preds = %577, %573
  br label %560, !llvm.loop !64

578:                                              ; preds = %570
  %579 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  br label %582

580:                                              ; preds = %574
  %581 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #7
  br label %582

582:                                              ; preds = %580, %578, %568
  %.pn411 = phi { ptr, i32 } [ %581, %580 ], [ %579, %578 ], [ %569, %568 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing5StateEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %57) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %57) #7
  br label %1209

583:                                              ; preds = %.critedge482
  %584 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %7)
  %585 = invoke noundef i64 @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %9)
          to label %586 unwind label %599

586:                                              ; preds = %583
  %587 = call noundef i64 @_ZNK2vl11collections10DictionaryINS0_4PairINS_12ObjectStringIwEES4_EElS5_lE5CountEv(ptr noundef nonnull align 8 dereferenceable(104) %10)
  %588 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions17ParsingDefinitionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
  %589 = getelementptr inbounds i8, ptr %588, i64 216
  %590 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %589)
  invoke void @_ZN2vl7parsing7tabling12ParsingTableC1Elllllll(ptr noundef nonnull align 8 dereferenceable(656) %567, i64 noundef %584, i64 noundef %585, i64 noundef %587, i64 noundef %.1311, i64 noundef %.1319.ph, i64 noundef %566, i64 noundef %590)
          to label %591 unwind label %599

591:                                              ; preds = %586
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEEC2EPS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull %567)
          to label %592 unwind label %597

592:                                              ; preds = %591
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %61) #7
  %593 = load ptr, ptr %7, align 8, !tbaa !5
  %594 = getelementptr i8, ptr %593, i64 -24
  %595 = load i64, ptr %594, align 8
  %596 = getelementptr inbounds i8, ptr %7, i64 %595
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.524") align 8 %61, ptr noundef nonnull align 8 dereferenceable(8) %596)
          to label %.preheader516 unwind label %601

597:                                              ; preds = %591, %.critedge482
  %598 = landingpad { ptr, i32 }
          cleanup
  br label %1209

599:                                              ; preds = %586, %583
  %600 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %567, i64 noundef 656) #9
  br label %1209

601:                                              ; preds = %592
  %602 = landingpad { ptr, i32 }
          cleanup
  br label %1208

.preheader516:                                    ; preds = %592
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62)
  br label %603

603:                                              ; preds = %617, %.preheader516
  %.1329 = phi i64 [ 0, %.preheader516 ], [ %618, %617 ]
  %604 = load ptr, ptr %61, align 8, !tbaa !5
  %605 = getelementptr inbounds i8, ptr %604, i64 16
  %606 = load ptr, ptr %605, align 8
  %607 = invoke noundef zeroext i1 %606(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %608 unwind label %613

608:                                              ; preds = %603
  br i1 %607, label %615, label %.critedge484

.critedge484:                                     ; preds = %608
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %61) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %61) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %64) #7
  %609 = load ptr, ptr %9, align 8, !tbaa !5
  %610 = getelementptr i8, ptr %609, i64 -24
  %611 = load i64, ptr %610, align 8
  %612 = getelementptr inbounds i8, ptr %9, i64 %611
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS0_4PairINS_12ObjectStringIwEElEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.527") align 8 %64, ptr noundef nonnull align 8 dereferenceable(8) %612)
          to label %.preheader515 unwind label %623

613:                                              ; preds = %603
  %614 = landingpad { ptr, i32 }
          cleanup
  br label %621

615:                                              ; preds = %608
  %616 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %62)
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16SetAttributeInfoElNS_3PtrINS2_17AttributeInfoListEEE(ptr noundef nonnull align 8 dereferenceable(656) %616, i64 noundef %.1329, ptr noundef nonnull %63)
          to label %617 unwind label %619

617:                                              ; preds = %615
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  %618 = add nuw nsw i64 %.1329, 1
  br label %603, !llvm.loop !65

619:                                              ; preds = %615
  %620 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  br label %621

621:                                              ; preds = %619, %613
  %.pn406 = phi { ptr, i32 } [ %620, %619 ], [ %614, %613 ]
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %61) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %61) #7
  br label %1208

.preheader515:                                    ; preds = %.critedge484
  %622 = getelementptr inbounds i8, ptr %65, i64 48
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %65) #7
  invoke void @_ZN2vl11collections4PairINS_12ObjectStringIwEElEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %65)
          to label %.preheader514 unwind label %634

623:                                              ; preds = %.critedge484
  %624 = landingpad { ptr, i32 }
          cleanup
  br label %1208

.preheader514:                                    ; preds = %.preheader515, %642
  %.1324 = phi i64 [ %643, %642 ], [ 0, %.preheader515 ]
  %625 = load ptr, ptr %64, align 8, !tbaa !5
  %626 = getelementptr inbounds i8, ptr %625, i64 16
  %627 = load ptr, ptr %626, align 8
  %628 = invoke noundef zeroext i1 %627(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 8 dereferenceable(56) %65)
          to label %629 unwind label %636

629:                                              ; preds = %.preheader514
  br i1 %628, label %638, label %.critedge486

.critedge486:                                     ; preds = %629
  call void @_ZN2vl11collections4PairINS_12ObjectStringIwEElED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %65) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %65) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS0_4PairINS_12ObjectStringIwEElEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %64) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %64) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %67) #7
  %630 = load ptr, ptr %10, align 8, !tbaa !5
  %631 = getelementptr i8, ptr %630, i64 -24
  %632 = load i64, ptr %631, align 8
  %633 = getelementptr inbounds i8, ptr %10, i64 %632
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS0_4PairINS2_INS_12ObjectStringIwEES4_EElEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.531") align 8 %67, ptr noundef nonnull align 8 dereferenceable(8) %633)
          to label %.preheader513 unwind label %653

634:                                              ; preds = %.preheader515
  %635 = landingpad { ptr, i32 }
          cleanup
  br label %650

636:                                              ; preds = %.preheader514
  %637 = landingpad { ptr, i32 }
          cleanup
  br label %649

638:                                              ; preds = %629
  %639 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %66) #7
  %640 = load i64, ptr %622, align 8, !tbaa !66
  invoke void @_ZN2vl7parsing7tabling12ParsingTable12TreeTypeInfoC2ERKNS_12ObjectStringIwEEl(ptr noundef nonnull align 8 dereferenceable(56) %66, ptr noundef nonnull align 8 dereferenceable(48) %65, i64 noundef %640)
          to label %641 unwind label %644

641:                                              ; preds = %638
  invoke void @_ZN2vl7parsing7tabling12ParsingTable15SetTreeTypeInfoElRKNS2_12TreeTypeInfoE(ptr noundef nonnull align 8 dereferenceable(656) %639, i64 noundef %.1324, ptr noundef nonnull align 8 dereferenceable(56) %66)
          to label %642 unwind label %646

642:                                              ; preds = %641
  call void @_ZN2vl7parsing7tabling12ParsingTable12TreeTypeInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %66) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %66) #7
  %643 = add nuw nsw i64 %.1324, 1
  br label %.preheader514, !llvm.loop !68

644:                                              ; preds = %638
  %645 = landingpad { ptr, i32 }
          cleanup
  br label %648

646:                                              ; preds = %641
  %647 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl7parsing7tabling12ParsingTable12TreeTypeInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(56) %66) #7
  br label %648

648:                                              ; preds = %646, %644
  %.pn401 = phi { ptr, i32 } [ %647, %646 ], [ %645, %644 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %66) #7
  br label %649

649:                                              ; preds = %648, %636
  %.pn401.pn = phi { ptr, i32 } [ %.pn401, %648 ], [ %637, %636 ]
  call void @_ZN2vl11collections4PairINS_12ObjectStringIwEElED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %65) #7
  br label %650

650:                                              ; preds = %649, %634
  %.pn401.pn.pn = phi { ptr, i32 } [ %.pn401.pn, %649 ], [ %635, %634 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %65) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS0_4PairINS_12ObjectStringIwEElEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %64) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %64) #7
  br label %1208

.preheader513:                                    ; preds = %.critedge486
  %651 = getelementptr inbounds i8, ptr %68, i64 48
  %652 = getelementptr inbounds i8, ptr %68, i64 96
  call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %68) #7
  invoke void @_ZN2vl11collections4PairINS1_INS_12ObjectStringIwEES3_EElEC2Ev(ptr noundef nonnull align 8 dereferenceable(104) %68)
          to label %.preheader512 unwind label %665

653:                                              ; preds = %.critedge486
  %654 = landingpad { ptr, i32 }
          cleanup
  br label %1208

.preheader512:                                    ; preds = %.preheader513, %673
  %.1316 = phi i64 [ %674, %673 ], [ 0, %.preheader513 ]
  %655 = load ptr, ptr %67, align 8, !tbaa !5
  %656 = getelementptr inbounds i8, ptr %655, i64 16
  %657 = load ptr, ptr %656, align 8
  %658 = invoke noundef zeroext i1 %657(ptr noundef nonnull align 8 dereferenceable(8) %67, ptr noundef nonnull align 8 dereferenceable(104) %68)
          to label %659 unwind label %667

659:                                              ; preds = %.preheader512
  br i1 %658, label %669, label %.critedge488

.critedge488:                                     ; preds = %659
  call void @_ZN2vl11collections4PairINS1_INS_12ObjectStringIwEES3_EElED2Ev(ptr noundef nonnull align 8 dereferenceable(104) %68) #7
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %68) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS0_4PairINS2_INS_12ObjectStringIwEES4_EElEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %67) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %67) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %70) #7
  %660 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lE4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %34)
  %661 = load ptr, ptr %660, align 8, !tbaa !5
  %662 = getelementptr i8, ptr %661, i64 -24
  %663 = load i64, ptr %662, align 8
  %664 = getelementptr inbounds i8, ptr %660, i64 %663
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.506") align 8 %70, ptr noundef nonnull align 8 dereferenceable(8) %664)
          to label %684 unwind label %682

665:                                              ; preds = %.preheader513
  %666 = landingpad { ptr, i32 }
          cleanup
  br label %681

667:                                              ; preds = %.preheader512
  %668 = landingpad { ptr, i32 }
          cleanup
  br label %680

669:                                              ; preds = %659
  %670 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %69) #7
  %671 = load i64, ptr %652, align 8, !tbaa !69
  invoke void @_ZN2vl7parsing7tabling12ParsingTable13TreeFieldInfoC2ERKNS_12ObjectStringIwEES7_l(ptr noundef nonnull align 8 dereferenceable(104) %69, ptr noundef nonnull align 8 dereferenceable(48) %68, ptr noundef nonnull align 8 dereferenceable(48) %651, i64 noundef %671)
          to label %672 unwind label %675

672:                                              ; preds = %669
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16SetTreeFieldInfoElRKNS2_13TreeFieldInfoE(ptr noundef nonnull align 8 dereferenceable(656) %670, i64 noundef %.1316, ptr noundef nonnull align 8 dereferenceable(104) %69)
          to label %673 unwind label %677

673:                                              ; preds = %672
  call void @_ZN2vl7parsing7tabling12ParsingTable13TreeFieldInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %69) #7
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %69) #7
  %674 = add nuw nsw i64 %.1316, 1
  br label %.preheader512, !llvm.loop !72

675:                                              ; preds = %669
  %676 = landingpad { ptr, i32 }
          cleanup
  br label %679

677:                                              ; preds = %672
  %678 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl7parsing7tabling12ParsingTable13TreeFieldInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(104) %69) #7
  br label %679

679:                                              ; preds = %677, %675
  %.pn396 = phi { ptr, i32 } [ %678, %677 ], [ %676, %675 ]
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %69) #7
  br label %680

680:                                              ; preds = %679, %667
  %.pn396.pn = phi { ptr, i32 } [ %.pn396, %679 ], [ %668, %667 ]
  call void @_ZN2vl11collections4PairINS1_INS_12ObjectStringIwEES3_EElED2Ev(ptr noundef nonnull align 8 dereferenceable(104) %68) #7
  br label %681

681:                                              ; preds = %680, %665
  %.pn396.pn.pn = phi { ptr, i32 } [ %.pn396.pn, %680 ], [ %666, %665 ]
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %68) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS0_4PairINS2_INS_12ObjectStringIwEES4_EElEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %67) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %67) #7
  br label %1208

682:                                              ; preds = %.critedge488
  %683 = landingpad { ptr, i32 }
          cleanup
  br label %1208

684:                                              ; preds = %.critedge488
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #7
  %685 = getelementptr inbounds i8, ptr %72, i64 48
  %686 = getelementptr inbounds i8, ptr %72, i64 104
  br label %687

687:                                              ; preds = %717, %684
  %688 = load ptr, ptr %70, align 8, !tbaa !5
  %689 = getelementptr inbounds i8, ptr %688, i64 16
  %690 = load ptr, ptr %689, align 8
  %691 = invoke noundef zeroext i1 %690(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %692 unwind label %699

692:                                              ; preds = %687
  br i1 %691, label %701, label %.critedge490

.critedge490:                                     ; preds = %692
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %70) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %70) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %74) #7
  %693 = load ptr, ptr %35, align 8, !tbaa !5
  %694 = getelementptr i8, ptr %693, i64 -24
  %695 = load i64, ptr %694, align 8
  %696 = getelementptr inbounds i8, ptr %35, i64 %695
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_12ObjectStringIwEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS5_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator") align 8 %74, ptr noundef nonnull align 8 dereferenceable(8) %696)
          to label %.preheader511 unwind label %729

.preheader511:                                    ; preds = %.critedge490
  %697 = getelementptr inbounds i8, ptr %76, i64 48
  %698 = getelementptr inbounds i8, ptr %76, i64 104
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %75) #7
  call void @_ZN2vl12ObjectStringIwEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75)
  br label %731

699:                                              ; preds = %687
  %700 = landingpad { ptr, i32 }
          cleanup
  br label %728

701:                                              ; preds = %692
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %72) #7
  invoke void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %72)
          to label %702 unwind label %718

702:                                              ; preds = %701
  %703 = load ptr, ptr %71, align 8, !tbaa !8
  %704 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %703)
  %705 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %72, ptr noundef nonnull align 8 dereferenceable(48) %704)
          to label %706 unwind label %720

706:                                              ; preds = %702
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %73) #7
  %707 = load ptr, ptr %71, align 8, !tbaa !8
  invoke void @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorStringEv(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %73, ptr noundef nonnull align 8 dereferenceable(304) %707)
          to label %708 unwind label %722

708:                                              ; preds = %706
  %709 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(48) %685, ptr noundef nonnull align 8 dereferenceable(48) %73)
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %73) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %73) #7
  %710 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEixERKS3_(ptr noundef nonnull align 8 dereferenceable(104) %36, ptr noundef nonnull align 8 dereferenceable(48) %72)
          to label %711 unwind label %720

711:                                              ; preds = %708
  %712 = load i64, ptr %710, align 8, !tbaa !13
  store i64 %712, ptr %686, align 8, !tbaa !73
  %713 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lEixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %34, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %714 unwind label %724

714:                                              ; preds = %711
  %715 = load i64, ptr %713, align 8, !tbaa !13
  %716 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZN2vl7parsing7tabling12ParsingTable12SetTokenInfoElRKNS2_9TokenInfoE(ptr noundef nonnull align 8 dereferenceable(656) %716, i64 noundef %715, ptr noundef nonnull align 8 dereferenceable(112) %72)
          to label %717 unwind label %724

717:                                              ; preds = %714
  call void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(112) %72) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %72) #7
  br label %687, !llvm.loop !75

718:                                              ; preds = %701
  %719 = landingpad { ptr, i32 }
          cleanup
  br label %727

720:                                              ; preds = %708, %702
  %721 = landingpad { ptr, i32 }
          cleanup
  br label %726

722:                                              ; preds = %706
  %723 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %73) #7
  br label %726

724:                                              ; preds = %714, %711
  %725 = landingpad { ptr, i32 }
          cleanup
  br label %726

726:                                              ; preds = %724, %722, %720
  %.pn391 = phi { ptr, i32 } [ %725, %724 ], [ %721, %720 ], [ %723, %722 ]
  call void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(112) %72) #7
  br label %727

727:                                              ; preds = %726, %718
  %.pn391.pn = phi { ptr, i32 } [ %.pn391, %726 ], [ %719, %718 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %72) #7
  br label %728

728:                                              ; preds = %727, %699
  %.pn391.pn.pn = phi { ptr, i32 } [ %.pn391.pn, %727 ], [ %700, %699 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing13ParsingSymbolEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %70) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %70) #7
  br label %1208

729:                                              ; preds = %.critedge490
  %730 = landingpad { ptr, i32 }
          cleanup
  br label %1208

731:                                              ; preds = %763, %.preheader511
  %.1304 = phi i64 [ 0, %.preheader511 ], [ %764, %763 ]
  %732 = load ptr, ptr %74, align 8, !tbaa !5
  %733 = getelementptr inbounds i8, ptr %732, i64 16
  %734 = load ptr, ptr %733, align 8
  %735 = invoke noundef zeroext i1 %734(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull align 8 dereferenceable(48) %75)
          to label %736 unwind label %744

736:                                              ; preds = %731
  br i1 %735, label %746, label %.critedge492

.critedge492:                                     ; preds = %736
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %75) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_12ObjectStringIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %74) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %74) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %78) #7
  %737 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
  %738 = getelementptr inbounds i8, ptr %737, i64 112
  %739 = call noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104) %738)
  %740 = load ptr, ptr %739, align 8, !tbaa !5
  %741 = getelementptr i8, ptr %740, i64 -24
  %742 = load i64, ptr %741, align 8
  %743 = getelementptr inbounds i8, ptr %739, i64 %742
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.535") align 8 %78, ptr noundef nonnull align 8 dereferenceable(8) %743)
          to label %.preheader510 unwind label %780

744:                                              ; preds = %731
  %745 = landingpad { ptr, i32 }
          cleanup
  br label %775

746:                                              ; preds = %736
  %747 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
  %748 = getelementptr inbounds i8, ptr %747, i64 8
  %749 = load ptr, ptr %748, align 8, !tbaa !41
  %750 = call noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager9GetGlobalEv(ptr noundef nonnull align 8 dereferenceable(632) %749)
  %751 = invoke noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol18GetSubSymbolByNameERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(304) %750, ptr noundef nonnull align 8 dereferenceable(48) %75)
          to label %752 unwind label %765

752:                                              ; preds = %746
  call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %76) #7
  invoke void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %76)
          to label %753 unwind label %767

753:                                              ; preds = %752
  %754 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %751)
  %755 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %76, ptr noundef nonnull align 8 dereferenceable(48) %754)
          to label %756 unwind label %769

756:                                              ; preds = %753
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %77) #7
  invoke void @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorStringEv(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %77, ptr noundef nonnull align 8 dereferenceable(304) %751)
          to label %757 unwind label %771

757:                                              ; preds = %756
  %758 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(48) %697, ptr noundef nonnull align 8 dereferenceable(48) %77)
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %77) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %77) #7
  %759 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEixERKS3_(ptr noundef nonnull align 8 dereferenceable(104) %36, ptr noundef nonnull align 8 dereferenceable(48) %76)
          to label %760 unwind label %769

760:                                              ; preds = %757
  %761 = load i64, ptr %759, align 8, !tbaa !13
  store i64 %761, ptr %698, align 8, !tbaa !73
  %762 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZN2vl7parsing7tabling12ParsingTable19SetDiscardTokenInfoElRKNS2_9TokenInfoE(ptr noundef nonnull align 8 dereferenceable(656) %762, i64 noundef %.1304, ptr noundef nonnull align 8 dereferenceable(112) %76)
          to label %763 unwind label %769

763:                                              ; preds = %760
  call void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(112) %76) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %76) #7
  %764 = add nuw nsw i64 %.1304, 1
  br label %731, !llvm.loop !76

765:                                              ; preds = %746
  %766 = landingpad { ptr, i32 }
          cleanup
  br label %775

767:                                              ; preds = %752
  %768 = landingpad { ptr, i32 }
          cleanup
  br label %774

769:                                              ; preds = %760, %757, %753
  %770 = landingpad { ptr, i32 }
          cleanup
  br label %773

771:                                              ; preds = %756
  %772 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %77) #7
  br label %773

773:                                              ; preds = %771, %769
  %.pn385 = phi { ptr, i32 } [ %770, %769 ], [ %772, %771 ]
  call void @_ZN2vl7parsing7tabling12ParsingTable9TokenInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(112) %76) #7
  br label %774

774:                                              ; preds = %773, %767
  %.pn385.pn = phi { ptr, i32 } [ %.pn385, %773 ], [ %768, %767 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %76) #7
  br label %775

775:                                              ; preds = %765, %774, %744
  %.pn385.pn.pn.pn = phi { ptr, i32 } [ %745, %744 ], [ %.pn385.pn, %774 ], [ %766, %765 ]
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %75) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %75) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_12ObjectStringIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %74) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %74) #7
  br label %1208

.preheader510:                                    ; preds = %.critedge492
  %776 = getelementptr inbounds i8, ptr %81, i64 48
  %777 = getelementptr inbounds i8, ptr %81, i64 144
  %778 = getelementptr inbounds i8, ptr %81, i64 152
  %779 = getelementptr inbounds i8, ptr %81, i64 96
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #7
  br label %782

780:                                              ; preds = %.critedge492
  %781 = landingpad { ptr, i32 }
          cleanup
  br label %1208

782:                                              ; preds = %859, %.preheader510
  %.1298 = phi i64 [ 0, %.preheader510 ], [ %860, %859 ]
  %783 = load ptr, ptr %78, align 8, !tbaa !5
  %784 = getelementptr inbounds i8, ptr %783, i64 16
  %785 = load ptr, ptr %784, align 8
  %786 = invoke noundef zeroext i1 %785(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %787 unwind label %792

787:                                              ; preds = %782
  br i1 %786, label %794, label %.critedge494

.critedge494:                                     ; preds = %787
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %78) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %78) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %85) #7
  %788 = load ptr, ptr %50, align 8, !tbaa !5
  %789 = getelementptr i8, ptr %788, i64 -24
  %790 = load i64, ptr %789, align 8
  %791 = getelementptr inbounds i8, ptr %50, i64 %790
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing5StateEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.539") align 8 %85, ptr noundef nonnull align 8 dereferenceable(8) %791)
          to label %.preheader509 unwind label %868

792:                                              ; preds = %782
  %793 = landingpad { ptr, i32 }
          cleanup
  br label %865

794:                                              ; preds = %787
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #7
  %795 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing9AutomatonEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %3)
  %796 = getelementptr inbounds i8, ptr %795, i64 112
  %797 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %796, ptr noundef nonnull align 8 dereferenceable(8) %79)
          to label %798 unwind label %838

798:                                              ; preds = %794
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(32) %797)
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %81) #7
  invoke void @_ZN2vl7parsing7tabling12ParsingTable8RuleInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(160) %81)
          to label %799 unwind label %840

799:                                              ; preds = %798
  %800 = load ptr, ptr %79, align 8, !tbaa !8
  %801 = getelementptr inbounds i8, ptr %800, i64 168
  %802 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %81, ptr noundef nonnull align 8 dereferenceable(48) %801)
          to label %803 unwind label %842

803:                                              ; preds = %799
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %82) #7
  %804 = load ptr, ptr %79, align 8, !tbaa !8
  %805 = getelementptr inbounds i8, ptr %804, i64 216
  %806 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions21ParsingDefinitionTypeEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %805)
  invoke void @_ZN2vl7parsing11definitions12TypeToStringEPNS1_21ParsingDefinitionTypeE(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %82, ptr noundef %806)
          to label %807 unwind label %844

807:                                              ; preds = %803
  %808 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(48) %776, ptr noundef nonnull align 8 dereferenceable(48) %82)
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %82) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %82) #7
  %809 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing8RuleInfoEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %80)
  %810 = getelementptr inbounds i8, ptr %809, i64 8
  %811 = call noundef i64 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %50, ptr noundef nonnull align 8 dereferenceable(8) %810)
  store i64 %811, ptr %777, align 8, !tbaa !77
  %812 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEixERKS3_(ptr noundef nonnull align 8 dereferenceable(104) %37, ptr noundef nonnull align 8 dereferenceable(48) %81)
          to label %813 unwind label %842

813:                                              ; preds = %807
  %814 = load i64, ptr %812, align 8, !tbaa !13
  store i64 %814, ptr %778, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #7
  %815 = load ptr, ptr %79, align 8, !tbaa !8
  %816 = getelementptr inbounds i8, ptr %815, i64 216
  invoke void @_ZNK2vl3PtrINS_7parsing11definitions21ParsingDefinitionTypeEE4CastINS2_30ParsingDefinitionPrimitiveTypeEEENS0_IT_EEv(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.538") align 8 %83, ptr noundef nonnull align 8 dereferenceable(32) %816)
          to label %817 unwind label %846

817:                                              ; preds = %813
  %818 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing11definitions30ParsingDefinitionPrimitiveTypeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %83)
  br i1 %818, label %819, label %857

819:                                              ; preds = %817
  %820 = call noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager9GetGlobalEv(ptr noundef nonnull align 8 dereferenceable(632) %2)
  %821 = load ptr, ptr %79, align 8, !tbaa !8
  %822 = getelementptr inbounds i8, ptr %821, i64 168
  %823 = invoke noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol18GetSubSymbolByNameERKNS_12ObjectStringIwEE(ptr noundef nonnull align 8 dereferenceable(304) %820, ptr noundef nonnull align 8 dereferenceable(48) %822)
          to label %824 unwind label %848

824:                                              ; preds = %819
  %825 = call noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorSymbolEv(ptr noundef nonnull align 8 dereferenceable(304) %823)
  %826 = invoke noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager23CacheGetClassDefinitionEPNS1_13ParsingSymbolE(ptr noundef nonnull align 8 dereferenceable(632) %2, ptr noundef %825)
          to label %827 unwind label %850

827:                                              ; preds = %824
  %.not373 = icmp eq ptr %826, null
  br i1 %.not373, label %857, label %828

828:                                              ; preds = %827
  %829 = getelementptr inbounds i8, ptr %826, i64 216
  %830 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing11definitions21ParsingDefinitionTypeEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %829)
  br i1 %830, label %831, label %857

831:                                              ; preds = %828
  %832 = call noundef ptr @_ZNK2vl3PtrINS_7parsing11definitions21ParsingDefinitionTypeEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32) %829)
  %833 = call noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol15GetParentSymbolEv(ptr noundef nonnull align 8 dereferenceable(304) %825)
  %834 = invoke noundef ptr @_ZN2vl7parsing9analyzing20ParsingSymbolManager12CacheGetTypeEPNS0_11definitions21ParsingDefinitionTypeEPNS1_13ParsingSymbolE(ptr noundef nonnull align 8 dereferenceable(632) %2, ptr noundef %832, ptr noundef %833)
          to label %835 unwind label %852

835:                                              ; preds = %831
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %84) #7
  invoke void @_ZN2vl7parsing9analyzing15GetTypeFullNameEPNS1_13ParsingSymbolE(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %84, ptr noundef %834)
          to label %836 unwind label %854

836:                                              ; preds = %835
  %837 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(48) %779, ptr noundef nonnull align 8 dereferenceable(48) %84)
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %84) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %84) #7
  br label %857

838:                                              ; preds = %794
  %839 = landingpad { ptr, i32 }
          cleanup
  br label %864

840:                                              ; preds = %798
  %841 = landingpad { ptr, i32 }
          cleanup
  br label %863

842:                                              ; preds = %857, %807, %799
  %843 = landingpad { ptr, i32 }
          cleanup
  br label %862

844:                                              ; preds = %803
  %845 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %82) #7
  br label %862

846:                                              ; preds = %813
  %847 = landingpad { ptr, i32 }
          cleanup
  br label %861

848:                                              ; preds = %819
  %849 = landingpad { ptr, i32 }
          cleanup
  br label %856

850:                                              ; preds = %824
  %851 = landingpad { ptr, i32 }
          cleanup
  br label %856

852:                                              ; preds = %831
  %853 = landingpad { ptr, i32 }
          cleanup
  br label %856

854:                                              ; preds = %835
  %855 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %84) #7
  br label %856

856:                                              ; preds = %850, %854, %852, %848
  %.pn374.pn.pn = phi { ptr, i32 } [ %849, %848 ], [ %851, %850 ], [ %855, %854 ], [ %853, %852 ]
  call void @_ZN2vl3PtrINS_7parsing11definitions30ParsingDefinitionPrimitiveTypeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  br label %861

857:                                              ; preds = %827, %828, %836, %817
  call void @_ZN2vl3PtrINS_7parsing11definitions30ParsingDefinitionPrimitiveTypeEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #7
  %858 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZN2vl7parsing7tabling12ParsingTable11SetRuleInfoElRKNS2_8RuleInfoE(ptr noundef nonnull align 8 dereferenceable(656) %858, i64 noundef %.1298, ptr noundef nonnull align 8 dereferenceable(160) %81)
          to label %859 unwind label %842

859:                                              ; preds = %857
  call void @_ZN2vl7parsing7tabling12ParsingTable8RuleInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(160) %81) #7
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %81) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #7
  %860 = add nuw nsw i64 %.1298, 1
  br label %782, !llvm.loop !80

861:                                              ; preds = %856, %846
  %.pn374.pn.pn.pn = phi { ptr, i32 } [ %.pn374.pn.pn, %856 ], [ %847, %846 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #7
  br label %862

862:                                              ; preds = %861, %844, %842
  %.pn379 = phi { ptr, i32 } [ %843, %842 ], [ %.pn374.pn.pn.pn, %861 ], [ %845, %844 ]
  call void @_ZN2vl7parsing7tabling12ParsingTable8RuleInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(160) %81) #7
  br label %863

863:                                              ; preds = %862, %840
  %.pn379.pn = phi { ptr, i32 } [ %.pn379, %862 ], [ %841, %840 ]
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %81) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing8RuleInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #7
  br label %864

864:                                              ; preds = %863, %838
  %.pn379.pn.pn = phi { ptr, i32 } [ %.pn379.pn, %863 ], [ %839, %838 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #7
  br label %865

865:                                              ; preds = %864, %792
  %.pn379.pn.pn.pn = phi { ptr, i32 } [ %.pn379.pn.pn, %864 ], [ %793, %792 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %78) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %78) #7
  br label %1208

.preheader509:                                    ; preds = %.critedge494
  %866 = getelementptr inbounds i8, ptr %87, i64 48
  %867 = getelementptr inbounds i8, ptr %87, i64 96
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %86) #7
  br label %870

868:                                              ; preds = %.critedge494
  %869 = landingpad { ptr, i32 }
          cleanup
  br label %1208

870:                                              ; preds = %899, %.preheader509
  %.1289 = phi i64 [ 0, %.preheader509 ], [ %900, %899 ]
  %871 = load ptr, ptr %85, align 8, !tbaa !5
  %872 = getelementptr inbounds i8, ptr %871, i64 16
  %873 = load ptr, ptr %872, align 8
  %874 = invoke noundef zeroext i1 %873(ptr noundef nonnull align 8 dereferenceable(8) %85, ptr noundef nonnull align 8 dereferenceable(8) %86)
          to label %875 unwind label %880

875:                                              ; preds = %870
  br i1 %874, label %882, label %.critedge496

.critedge496:                                     ; preds = %875
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %85) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %85) #7
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %88) #7
  %876 = load ptr, ptr %50, align 8, !tbaa !5
  %877 = getelementptr i8, ptr %876, i64 -24
  %878 = load i64, ptr %877, align 8
  %879 = getelementptr inbounds i8, ptr %50, i64 %878
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing5StateEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.539") align 8 %88, ptr noundef nonnull align 8 dereferenceable(8) %879)
          to label %.preheader508 unwind label %911

880:                                              ; preds = %870
  %881 = landingpad { ptr, i32 }
          cleanup
  br label %906

882:                                              ; preds = %875
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %87) #7
  invoke void @_ZN2vl7parsing7tabling12ParsingTable9StateInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(192) %87)
          to label %883 unwind label %901

883:                                              ; preds = %882
  %884 = load ptr, ptr %86, align 8, !tbaa !8
  %885 = getelementptr inbounds i8, ptr %884, i64 120
  %886 = load ptr, ptr %885, align 8, !tbaa !81
  %887 = getelementptr inbounds i8, ptr %886, i64 168
  %888 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %87, ptr noundef nonnull align 8 dereferenceable(48) %887)
          to label %889 unwind label %903

889:                                              ; preds = %883
  %890 = load ptr, ptr %86, align 8, !tbaa !8
  %891 = getelementptr inbounds i8, ptr %890, i64 152
  %892 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %866, ptr noundef nonnull align 8 dereferenceable(48) %891)
          to label %893 unwind label %903

893:                                              ; preds = %889
  %894 = load ptr, ptr %86, align 8, !tbaa !8
  %895 = getelementptr inbounds i8, ptr %894, i64 200
  %896 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %867, ptr noundef nonnull align 8 dereferenceable(48) %895)
          to label %897 unwind label %903

897:                                              ; preds = %893
  %898 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZN2vl7parsing7tabling12ParsingTable12SetStateInfoElRKNS2_9StateInfoE(ptr noundef nonnull align 8 dereferenceable(656) %898, i64 noundef %.1289, ptr noundef nonnull align 8 dereferenceable(192) %87)
          to label %899 unwind label %903

899:                                              ; preds = %897
  call void @_ZN2vl7parsing7tabling12ParsingTable9StateInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(192) %87) #7
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %87) #7
  %900 = add nuw nsw i64 %.1289, 1
  br label %870, !llvm.loop !88

901:                                              ; preds = %882
  %902 = landingpad { ptr, i32 }
          cleanup
  br label %905

903:                                              ; preds = %897, %893, %889, %883
  %904 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl7parsing7tabling12ParsingTable9StateInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(192) %87) #7
  br label %905

905:                                              ; preds = %903, %901
  %.pn369 = phi { ptr, i32 } [ %904, %903 ], [ %902, %901 ]
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %87) #7
  br label %906

906:                                              ; preds = %905, %880
  %.pn369.pn = phi { ptr, i32 } [ %.pn369, %905 ], [ %881, %880 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %86) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %85) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %85) #7
  br label %1208

.preheader508:                                    ; preds = %.critedge496
  %907 = getelementptr inbounds i8, ptr %97, i64 8
  %908 = getelementptr inbounds i8, ptr %97, i64 16
  %909 = getelementptr inbounds i8, ptr %97, i64 64
  %910 = getelementptr inbounds i8, ptr %97, i64 112
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %89) #7
  br label %913

911:                                              ; preds = %.critedge496
  %912 = landingpad { ptr, i32 }
          cleanup
  br label %1208

913:                                              ; preds = %.critedge500, %.preheader508
  %.1284 = phi i64 [ 0, %.preheader508 ], [ %937, %.critedge500 ]
  %914 = load ptr, ptr %88, align 8, !tbaa !5
  %915 = getelementptr inbounds i8, ptr %914, i64 16
  %916 = load ptr, ptr %915, align 8
  %917 = invoke noundef zeroext i1 %916(ptr noundef nonnull align 8 dereferenceable(8) %88, ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %918 unwind label %919

918:                                              ; preds = %913
  %.not = icmp slt i64 %.1284, %496
  %or.cond = select i1 %917, i1 %.not, i1 false
  br i1 %or.cond, label %921, label %.critedge498

919:                                              ; preds = %913
  %920 = landingpad { ptr, i32 }
          cleanup
  br label %1086

921:                                              ; preds = %918
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %90) #7
  %922 = load ptr, ptr %89, align 8, !tbaa !8
  %923 = getelementptr inbounds i8, ptr %922, i64 8
  %924 = load ptr, ptr %923, align 8, !tbaa !5
  %925 = getelementptr i8, ptr %924, i64 -24
  %926 = load i64, ptr %925, align 8
  %927 = getelementptr inbounds i8, ptr %923, i64 %926
  invoke void @_ZN2vl11collections21CreateForEachIteratorIPNS_7parsing9analyzing10TransitionEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS7_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.449") align 8 %90, ptr noundef nonnull align 8 dereferenceable(8) %927)
          to label %930 unwind label %928

928:                                              ; preds = %921
  %929 = landingpad { ptr, i32 }
          cleanup
  br label %1086

930:                                              ; preds = %921
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #7
  br label %931

931:                                              ; preds = %.critedge502, %930
  %932 = load ptr, ptr %90, align 8, !tbaa !5
  %933 = getelementptr inbounds i8, ptr %932, i64 16
  %934 = load ptr, ptr %933, align 8
  %935 = invoke noundef zeroext i1 %934(ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef nonnull align 8 dereferenceable(8) %91)
          to label %936 unwind label %938

936:                                              ; preds = %931
  br i1 %935, label %940, label %.critedge500

.critedge500:                                     ; preds = %936
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %90) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %90) #7
  %937 = add nuw nsw i64 %.1284, 1
  br label %913, !llvm.loop !89

938:                                              ; preds = %931
  %939 = landingpad { ptr, i32 }
          cleanup
  br label %1082

940:                                              ; preds = %936
  %941 = load ptr, ptr %91, align 8, !tbaa !8
  %942 = getelementptr inbounds i8, ptr %941, i64 72
  %943 = load i32, ptr %942, align 8, !tbaa !90
  switch i32 %943, label %955 [
    i32 0, label %944
    i32 1, label %945
    i32 2, label %946
    i32 3, label %947
    i32 5, label %948
  ]

944:                                              ; preds = %940
  br label %955

945:                                              ; preds = %940
  br label %955

946:                                              ; preds = %940
  br label %955

947:                                              ; preds = %940
  br label %955

948:                                              ; preds = %940
  %949 = getelementptr inbounds i8, ptr %941, i64 80
  %950 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lEixERKS5_(ptr noundef nonnull align 8 dereferenceable(104) %34, ptr noundef nonnull align 8 dereferenceable(8) %949)
          to label %951 unwind label %953

951:                                              ; preds = %948
  %952 = load i64, ptr %950, align 8, !tbaa !13
  br label %955

953:                                              ; preds = %948
  %954 = landingpad { ptr, i32 }
          cleanup
  br label %1082

955:                                              ; preds = %940, %951, %947, %946, %945, %944
  %.0176 = phi i64 [ -1, %940 ], [ %952, %951 ], [ 3, %947 ], [ 2, %946 ], [ 1, %945 ], [ 0, %944 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %92) #7
  %956 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16GetTransitionBagEll(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.542") align 8 %92, ptr noundef nonnull align 8 dereferenceable(656) %956, i64 noundef %.1284, i64 noundef %.0176)
          to label %957 unwind label %967

957:                                              ; preds = %955
  %958 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %92)
  br i1 %958, label %975, label %959

959:                                              ; preds = %957
  %960 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #8
          to label %961 unwind label %969

961:                                              ; preds = %959
  invoke void @_ZN2vl7parsing7tabling12ParsingTable13TransitionBagC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %960)
          to label %962 unwind label %971

962:                                              ; preds = %961
  %963 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEaSEPS4_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef nonnull %960)
          to label %964 unwind label %969

964:                                              ; preds = %962
  %965 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %92)
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16SetTransitionBagEllNS_3PtrINS2_13TransitionBagEEE(ptr noundef nonnull align 8 dereferenceable(656) %965, i64 noundef %.1284, i64 noundef %.0176, ptr noundef nonnull %93)
          to label %966 unwind label %973

966:                                              ; preds = %964
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %975

967:                                              ; preds = %955
  %968 = landingpad { ptr, i32 }
          cleanup
  br label %1081

969:                                              ; preds = %962, %959
  %970 = landingpad { ptr, i32 }
          cleanup
  br label %1080

971:                                              ; preds = %961
  %972 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %960, i64 noundef 48) #9
  br label %1080

973:                                              ; preds = %964
  %974 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %1080

975:                                              ; preds = %966, %957
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #7
  %976 = invoke noalias noundef nonnull dereferenceable(160) ptr @_Znwm(i64 noundef 160) #8
          to label %977 unwind label %995

977:                                              ; preds = %975
  invoke void @_ZN2vl7parsing7tabling12ParsingTable14TransitionItemC2Ev(ptr noundef nonnull align 8 dereferenceable(160) %976)
          to label %978 unwind label %997

978:                                              ; preds = %977
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2EPS4_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull %976)
          to label %979 unwind label %995

979:                                              ; preds = %978
  %980 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %94)
  store i64 %.0176, ptr %980, align 8, !tbaa !98
  %981 = load ptr, ptr %91, align 8, !tbaa !8
  %982 = getelementptr inbounds i8, ptr %981, i64 16
  %983 = call noundef i64 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %50, ptr noundef nonnull align 8 dereferenceable(8) %982)
  %984 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %94)
  %985 = getelementptr inbounds i8, ptr %984, i64 8
  store i64 %983, ptr %985, align 8, !tbaa !112
  %986 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %92)
  %987 = invoke noundef i64 @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS6_E3AddERKS7_(ptr noundef nonnull align 8 dereferenceable(33) %986, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %988 unwind label %999

988:                                              ; preds = %979
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %95) #7
  %989 = load ptr, ptr %91, align 8, !tbaa !8
  %990 = getelementptr inbounds i8, ptr %989, i64 24
  %991 = load ptr, ptr %990, align 8, !tbaa !5
  %992 = getelementptr i8, ptr %991, i64 -24
  %993 = load i64, ptr %992, align 8
  %994 = getelementptr inbounds i8, ptr %990, i64 %993
  invoke void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::EnumerableForEachIterator.551") align 8 %95, ptr noundef nonnull align 8 dereferenceable(8) %994)
          to label %1003 unwind label %1001

995:                                              ; preds = %978, %975
  %996 = landingpad { ptr, i32 }
          cleanup
  br label %1079

997:                                              ; preds = %977
  %998 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %976, i64 noundef 160) #9
  br label %1079

999:                                              ; preds = %979
  %1000 = landingpad { ptr, i32 }
          cleanup
  br label %1078

1001:                                             ; preds = %988
  %1002 = landingpad { ptr, i32 }
          cleanup
  br label %1078

1003:                                             ; preds = %988
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #7
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96)
  br label %1004

1004:                                             ; preds = %1074, %1003
  %1005 = load ptr, ptr %95, align 8, !tbaa !5
  %1006 = getelementptr inbounds i8, ptr %1005, i64 16
  %1007 = load ptr, ptr %1006, align 8
  %1008 = invoke noundef zeroext i1 %1007(ptr noundef nonnull align 8 dereferenceable(8) %95, ptr noundef nonnull align 8 dereferenceable(32) %96)
          to label %1009 unwind label %1010

1009:                                             ; preds = %1004
  br i1 %1008, label %1012, label %.critedge502

.critedge502:                                     ; preds = %1009
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %95) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %95) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #7
  br label %931, !llvm.loop !113

1010:                                             ; preds = %1004
  %1011 = landingpad { ptr, i32 }
          cleanup
  br label %1077

1012:                                             ; preds = %1009
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %97) #7
  invoke void @_ZN2vl7parsing7tabling12ParsingTable11InstructionC2Ev(ptr noundef nonnull align 8 dereferenceable(160) %97)
          to label %1013 unwind label %1017

1013:                                             ; preds = %1012
  %1014 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %96)
  %1015 = getelementptr inbounds i8, ptr %1014, i64 8
  %1016 = load i32, ptr %1015, align 8, !tbaa !114
  switch i32 %1016, label %1064 [
    i32 0, label %1021
    i32 2, label %1029
    i32 1, label %1030
    i32 3, label %1037
    i32 4, label %1049
    i32 5, label %1053
    i32 6, label %1060
  ]

1017:                                             ; preds = %1012
  %1018 = landingpad { ptr, i32 }
          cleanup
  br label %1076

1019:                                             ; preds = %.invoke, %1070, %1064, %1053, %1037
  %1020 = landingpad { ptr, i32 }
          cleanup
  br label %1075

1021:                                             ; preds = %1013
  store i32 0, ptr %97, align 8, !tbaa !117
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %98) #7
  %1022 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %96)
  %1023 = getelementptr inbounds i8, ptr %1022, i64 24
  %1024 = load ptr, ptr %1023, align 8, !tbaa !120
  invoke void @_ZN2vl7parsing9analyzing31GetTypeNameForCreateInstructionEPNS1_13ParsingSymbolE(ptr dead_on_unwind nonnull writable sret(%"class.vl::ObjectString") align 8 %98, ptr noundef %1024)
          to label %1025 unwind label %1027

1025:                                             ; preds = %1021
  %1026 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSEOS1_(ptr noundef nonnull align 8 dereferenceable(48) %908, ptr noundef nonnull align 8 dereferenceable(48) %98)
  call void @_ZN2vl12ObjectStringIwED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %98) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %98) #7
  br label %1064

1027:                                             ; preds = %1021
  %1028 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %98) #7
  br label %1075

1029:                                             ; preds = %1013
  store i32 3, ptr %97, align 8, !tbaa !117
  br label %1064

1030:                                             ; preds = %1013
  %1031 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %96)
  %1032 = getelementptr inbounds i8, ptr %1031, i64 24
  %1033 = load ptr, ptr %1032, align 8, !tbaa !120
  %1034 = call noundef ptr @_ZN2vl7parsing9analyzing13ParsingSymbol19GetDescriptorSymbolEv(ptr noundef nonnull align 8 dereferenceable(304) %1033)
  %1035 = call noundef i32 @_ZN2vl7parsing9analyzing13ParsingSymbol7GetTypeEv(ptr noundef nonnull align 8 dereferenceable(304) %1034)
  %1036 = icmp eq i32 %1035, 3
  %. = select i1 %1036, i32 2, i32 1
  store i32 %., ptr %97, align 8, !tbaa !117
  br label %.invoke

1037:                                             ; preds = %1013
  store i32 4, ptr %97, align 8, !tbaa !117
  %1038 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %96)
  %1039 = getelementptr inbounds i8, ptr %1038, i64 24
  %1040 = load ptr, ptr %1039, align 8, !tbaa !120
  %1041 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %1040)
  %1042 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %908, ptr noundef nonnull align 8 dereferenceable(48) %1041)
          to label %.invoke unwind label %1019

.invoke:                                          ; preds = %1037, %1030
  %.sink738 = phi i64 [ 24, %1030 ], [ 16, %1037 ]
  %1043 = phi ptr [ %908, %1030 ], [ %909, %1037 ]
  %1044 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %96)
  %1045 = getelementptr inbounds i8, ptr %1044, i64 %.sink738
  %1046 = load ptr, ptr %1045, align 8, !tbaa !8
  %1047 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl7parsing9analyzing13ParsingSymbol7GetNameEv(ptr noundef nonnull align 8 dereferenceable(304) %1046)
  %1048 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %1043, ptr noundef nonnull align 8 dereferenceable(48) %1047)
          to label %1064 unwind label %1019

1049:                                             ; preds = %1013
  store i32 5, ptr %97, align 8, !tbaa !117
  %1050 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %96)
  %1051 = getelementptr inbounds i8, ptr %1050, i64 40
  %1052 = call noundef i64 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %50, ptr noundef nonnull align 8 dereferenceable(8) %1051)
  store i64 %1052, ptr %907, align 8, !tbaa !121
  br label %1064

1053:                                             ; preds = %1013
  store i32 6, ptr %97, align 8, !tbaa !117
  %1054 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %96)
  %1055 = getelementptr inbounds i8, ptr %1054, i64 40
  %1056 = call noundef i64 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %50, ptr noundef nonnull align 8 dereferenceable(8) %1055)
  store i64 %1056, ptr %907, align 8, !tbaa !121
  %1057 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %94)
  %1058 = getelementptr inbounds i8, ptr %1057, i64 64
  %1059 = invoke noundef i64 @_ZN2vl11collections4ListIllE3AddERKl(ptr noundef nonnull align 8 dereferenceable(33) %1058, ptr noundef nonnull align 8 dereferenceable(8) %907)
          to label %1064 unwind label %1019

1060:                                             ; preds = %1013
  store i32 7, ptr %97, align 8, !tbaa !117
  %1061 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %96)
  %1062 = getelementptr inbounds i8, ptr %1061, i64 40
  %1063 = call noundef i64 @_ZNK2vl11collections4ListIPNS_7parsing9analyzing5StateES5_E7IndexOfERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %50, ptr noundef nonnull align 8 dereferenceable(8) %1062)
  store i64 %1063, ptr %907, align 8, !tbaa !121
  br label %1064

1064:                                             ; preds = %.invoke, %1053, %1060, %1049, %1029, %1025, %1013
  %1065 = call noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing6ActionEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %96)
  %1066 = getelementptr inbounds i8, ptr %1065, i64 32
  %1067 = load ptr, ptr %1066, align 8, !tbaa !122
  %1068 = getelementptr inbounds i8, ptr %1067, i64 168
  %1069 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZN2vl12ObjectStringIwEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %910, ptr noundef nonnull align 8 dereferenceable(48) %1068)
          to label %1070 unwind label %1019

1070:                                             ; preds = %1064
  %1071 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %94)
  %1072 = getelementptr inbounds i8, ptr %1071, i64 112
  %1073 = invoke noundef i64 @_ZN2vl11collections4ListINS_7parsing7tabling12ParsingTable11InstructionES5_E3AddERKS5_(ptr noundef nonnull align 8 dereferenceable(33) %1072, ptr noundef nonnull align 8 dereferenceable(160) %97)
          to label %1074 unwind label %1019

1074:                                             ; preds = %1070
  call void @_ZN2vl7parsing7tabling12ParsingTable11InstructionD2Ev(ptr noundef nonnull align 8 dereferenceable(160) %97) #7
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %97) #7
  br label %1004, !llvm.loop !123

1075:                                             ; preds = %1027, %1019
  %.pn355 = phi { ptr, i32 } [ %1020, %1019 ], [ %1028, %1027 ]
  call void @_ZN2vl7parsing7tabling12ParsingTable11InstructionD2Ev(ptr noundef nonnull align 8 dereferenceable(160) %97) #7
  br label %1076

1076:                                             ; preds = %1075, %1017
  %.pn355.pn = phi { ptr, i32 } [ %.pn355, %1075 ], [ %1018, %1017 ]
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %97) #7
  br label %1077

1077:                                             ; preds = %1076, %1010
  %.pn355.pn.pn = phi { ptr, i32 } [ %.pn355.pn, %1076 ], [ %1011, %1010 ]
  call void @_ZN2vl3PtrINS_7parsing9analyzing6ActionEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorINS_3PtrINS_7parsing9analyzing6ActionEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %95) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %95) #7
  br label %1078

1078:                                             ; preds = %1001, %1077, %999
  %.pn355.pn.pn.pn.pn = phi { ptr, i32 } [ %1000, %999 ], [ %.pn355.pn.pn, %1077 ], [ %1002, %1001 ]
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #7
  br label %1079

1079:                                             ; preds = %1078, %997, %995
  %.pn355.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn355.pn.pn.pn.pn, %1078 ], [ %996, %995 ], [ %998, %997 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #7
  br label %1080

1080:                                             ; preds = %1079, %973, %971, %969
  %.pn355.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn355.pn.pn.pn.pn.pn, %1079 ], [ %974, %973 ], [ %970, %969 ], [ %972, %971 ]
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #7
  br label %1081

1081:                                             ; preds = %1080, %967
  %.pn355.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn355.pn.pn.pn.pn.pn.pn, %1080 ], [ %968, %967 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #7
  br label %1082

1082:                                             ; preds = %953, %1081, %938
  %.pn355.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %939, %938 ], [ %.pn355.pn.pn.pn.pn.pn.pn.pn, %1081 ], [ %954, %953 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing10TransitionEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %90) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %90) #7
  br label %1086

.critedge498:                                     ; preds = %918
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %88) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %88) #7
  %1083 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %1084 = call noundef i64 @_ZN2vl7parsing7tabling12ParsingTable13GetStateCountEv(ptr noundef nonnull align 8 dereferenceable(656) %1083)
  %1085 = icmp sgt i64 %1084, 0
  br i1 %1085, label %.preheader507, label %._crit_edge662

1086:                                             ; preds = %928, %1082, %919
  %.pn355.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %920, %919 ], [ %.pn355.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1082 ], [ %929, %928 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #7
  call void @_ZN2vl11collections25EnumerableForEachIteratorIPNS_7parsing9analyzing5StateEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %88) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %88) #7
  br label %1208

.preheader507:                                    ; preds = %.critedge498, %._crit_edge660
  %.0173661 = phi i64 [ %1092, %._crit_edge660 ], [ 0, %.critedge498 ]
  %1087 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %1088 = call noundef i64 @_ZN2vl7parsing7tabling12ParsingTable13GetTokenCountEv(ptr noundef nonnull align 8 dereferenceable(656) %1087)
  %1089 = icmp sgt i64 %1088, 0
  br i1 %1089, label %.lr.ph659, label %._crit_edge660

._crit_edge662:                                   ; preds = %._crit_edge660, %.critedge498
  %1090 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing12ParsingErrorEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %5)
  %1091 = icmp sgt i64 %1090, 0
  br i1 %1091, label %1201, label %1205

._crit_edge660:                                   ; preds = %.loopexit506, %.preheader507
  %1092 = add nuw nsw i64 %.0173661, 1
  %1093 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %1094 = call noundef i64 @_ZN2vl7parsing7tabling12ParsingTable13GetStateCountEv(ptr noundef nonnull align 8 dereferenceable(656) %1093)
  %1095 = icmp slt i64 %1092, %1094
  br i1 %1095, label %.preheader507, label %._crit_edge662, !llvm.loop !124

.lr.ph659:                                        ; preds = %.preheader507, %.loopexit506
  %.0172657 = phi i64 [ %1195, %.loopexit506 ], [ 0, %.preheader507 ]
  %1096 = icmp ugt i64 %.0172657, 3
  %umax = select i1 %1096, i64 4, i64 3
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %99) #7
  %1097 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16GetTransitionBagEll(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.542") align 8 %99, ptr noundef nonnull align 8 dereferenceable(656) %1097, i64 noundef %.0173661, i64 noundef %.0172657)
          to label %1098 unwind label %1118

1098:                                             ; preds = %.lr.ph659
  %1099 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  br i1 %1099, label %1100, label %.loopexit506

1100:                                             ; preds = %1098
  %1101 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %100) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %101) #7
  %1102 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  %1103 = load ptr, ptr %1102, align 8, !tbaa !5
  %1104 = getelementptr i8, ptr %1103, i64 -24
  %1105 = load i64, ptr %1104, align 8
  %1106 = getelementptr inbounds i8, ptr %1102, i64 %1105
  invoke void @_ZN2vl11collections4FromINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEEENS0_8LazyListIT_EERKNS0_11IEnumerableIS9_EE(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::LazyList.554") align 8 %101, ptr noundef nonnull align 8 dereferenceable(8) %1106)
          to label %1107 unwind label %1120

1107:                                             ; preds = %1100
  invoke void @_ZNK2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE7OrderByIPFlS7_S7_EEES8_T_(ptr dead_on_unwind nonnull writable sret(%"class.vl::collections::LazyList.554") align 8 %100, ptr noundef nonnull align 8 dereferenceable(48) %101, ptr noundef nonnull @_ZN2vl7parsing7tabling12ParsingTable14TransitionItem7CompareENS_3PtrIS3_EES5_)
          to label %1108 unwind label %1122

1108:                                             ; preds = %1107
  invoke void @_ZN2vl11collections8CopyFromINS0_4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS7_EENS0_8LazyListIS8_EEEEvRT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(33) %1101, ptr noundef nonnull align 8 dereferenceable(48) %100, i1 noundef zeroext false)
          to label %1109 unwind label %1124

1109:                                             ; preds = %1108
  call void @_ZN2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEED1Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #7
  call void @_ZN2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEED1Ev(ptr noundef nonnull align 8 dereferenceable(48) %101) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %101) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %100) #7
  %1110 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  %1111 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1110)
  %1112 = icmp sgt i64 %1111, 1
  br i1 %1112, label %.lr.ph650, label %.preheader505

.loopexit504:                                     ; preds = %1139, %.lr.ph650
  %1113 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  %1114 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1113)
  %1115 = add nsw i64 %1114, -1
  %1116 = icmp slt i64 %1128, %1115
  br i1 %1116, label %.lr.ph650, label %.preheader505, !llvm.loop !125

.preheader505:                                    ; preds = %.loopexit504, %1109
  %1117 = icmp ugt i64 %.0172657, 2
  br i1 %1117, label %.lr.ph656, label %.loopexit506

1118:                                             ; preds = %.lr.ph659
  %1119 = landingpad { ptr, i32 }
          cleanup
  br label %1200

1120:                                             ; preds = %1100
  %1121 = landingpad { ptr, i32 }
          cleanup
  br label %1127

1122:                                             ; preds = %1107
  %1123 = landingpad { ptr, i32 }
          cleanup
  br label %1126

1124:                                             ; preds = %1108
  %1125 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEED1Ev(ptr noundef nonnull align 8 dereferenceable(48) %100) #7
  br label %1126

1126:                                             ; preds = %1124, %1122
  %.pn = phi { ptr, i32 } [ %1125, %1124 ], [ %1123, %1122 ]
  call void @_ZN2vl11collections8LazyListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEED1Ev(ptr noundef nonnull align 8 dereferenceable(48) %101) #7
  br label %1127

1127:                                             ; preds = %1126, %1120
  %.pn.pn = phi { ptr, i32 } [ %.pn, %1126 ], [ %1121, %1120 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %101) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %100) #7
  br label %1199

.lr.ph650:                                        ; preds = %1109, %.loopexit504
  %.0171648 = phi i64 [ %1128, %.loopexit504 ], [ 0, %1109 ]
  %1128 = add nuw nsw i64 %.0171648, 1
  %1129 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  %1130 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1129)
  %1131 = icmp slt i64 %1128, %1130
  br i1 %1131, label %.lr.ph647, label %.loopexit504

.lr.ph647:                                        ; preds = %.lr.ph650, %1139
  %.0170645 = phi i64 [ %1140, %1139 ], [ %1128, %.lr.ph650 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %102) #7
  %1132 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  %1133 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS6_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %1132, i64 noundef %.0171648)
          to label %1134 unwind label %1144

1134:                                             ; preds = %.lr.ph647
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef nonnull align 8 dereferenceable(32) %1133)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #7
  %1135 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  %1136 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS6_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %1135, i64 noundef %.0170645)
          to label %1137 unwind label %1146

1137:                                             ; preds = %1134
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(32) %1136)
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1138 unwind label %1148

1138:                                             ; preds = %1137
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 8 dereferenceable(32) %102)
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %103)
  invoke void @_ZN2vl7parsing9analyzing17GenerateLookAheadENS_3PtrINS0_7tabling12ParsingTableEEERNS_11collections4ListIPNS1_5StateES9_EEllNS2_INS4_14TransitionItemEEESD_bRNS7_INS2_INS0_12ParsingErrorEEEPSE_EE(ptr noundef nonnull %104, ptr noundef nonnull align 8 dereferenceable(33) %50, i64 noundef %.0173661, i64 noundef %.0172657, ptr noundef nonnull %105, ptr noundef nonnull %106, i1 noundef zeroext %4, ptr noundef nonnull align 8 dereferenceable(33) %5)
          to label %1139 unwind label %1150

1139:                                             ; preds = %1138
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #7
  %1140 = add nuw nsw i64 %.0170645, 1
  %1141 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  %1142 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1141)
  %1143 = icmp slt i64 %1140, %1142
  br i1 %1143, label %.lr.ph647, label %.loopexit504, !llvm.loop !126

1144:                                             ; preds = %.lr.ph647
  %1145 = landingpad { ptr, i32 }
          cleanup
  br label %1154

1146:                                             ; preds = %1134
  %1147 = landingpad { ptr, i32 }
          cleanup
  br label %1153

1148:                                             ; preds = %1137
  %1149 = landingpad { ptr, i32 }
          cleanup
  br label %1152

1150:                                             ; preds = %1138
  %1151 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  br label %1152

1152:                                             ; preds = %1150, %1148
  %.pn349 = phi { ptr, i32 } [ %1151, %1150 ], [ %1149, %1148 ]
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #7
  br label %1153

1153:                                             ; preds = %1152, %1146
  %.pn349.pn = phi { ptr, i32 } [ %.pn349, %1152 ], [ %1147, %1146 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #7
  br label %1154

1154:                                             ; preds = %1153, %1144
  %.pn349.pn.pn = phi { ptr, i32 } [ %.pn349.pn, %1153 ], [ %1145, %1144 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #7
  br label %1199

.lr.ph656:                                        ; preds = %.preheader505, %.loopexit
  %.0169655 = phi i64 [ %1193, %.loopexit ], [ 2, %.preheader505 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %107) #7
  %1155 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZN2vl7parsing7tabling12ParsingTable16GetTransitionBagEll(ptr dead_on_unwind nonnull writable sret(%"class.vl::Ptr.542") align 8 %107, ptr noundef nonnull align 8 dereferenceable(656) %1155, i64 noundef %.0173661, i64 noundef %.0169655)
          to label %1156 unwind label %1164

1156:                                             ; preds = %.lr.ph656
  %1157 = call noundef zeroext i1 @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %107)
  br i1 %1157, label %.preheader503, label %.loopexit

.preheader503:                                    ; preds = %1156
  %1158 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %107)
  %1159 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1158)
  %1160 = icmp sgt i64 %1159, 0
  br i1 %1160, label %.preheader, label %.loopexit

.preheader:                                       ; preds = %.preheader503, %._crit_edge653
  %.0168654 = phi i64 [ %1166, %._crit_edge653 ], [ 0, %.preheader503 ]
  %1161 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  %1162 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1161)
  %1163 = icmp sgt i64 %1162, 0
  br i1 %1163, label %.lr.ph652, label %._crit_edge653

1164:                                             ; preds = %.lr.ph656
  %1165 = landingpad { ptr, i32 }
          cleanup
  br label %1194

._crit_edge653:                                   ; preds = %1177, %.preheader
  %1166 = add nuw nsw i64 %.0168654, 1
  %1167 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %107)
  %1168 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1167)
  %1169 = icmp slt i64 %1166, %1168
  br i1 %1169, label %.preheader, label %.loopexit, !llvm.loop !127

.lr.ph652:                                        ; preds = %.preheader, %1177
  %.0651 = phi i64 [ %1178, %1177 ], [ 0, %.preheader ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %108) #7
  %1170 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %107)
  %1171 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS6_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %1170, i64 noundef %.0168654)
          to label %1172 unwind label %1182

1172:                                             ; preds = %.lr.ph652
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(32) %1171)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %109) #7
  %1173 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  %1174 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEPS6_EixEl(ptr noundef nonnull align 8 dereferenceable(33) %1173, i64 noundef %.0651)
          to label %1175 unwind label %1184

1175:                                             ; preds = %1172
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %1174)
  invoke void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(32) %0)
          to label %1176 unwind label %1186

1176:                                             ; preds = %1175
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(32) %108)
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEC2ERKS5_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(32) %109)
  invoke void @_ZN2vl7parsing9analyzing17GenerateLookAheadENS_3PtrINS0_7tabling12ParsingTableEEERNS_11collections4ListIPNS1_5StateES9_EEllNS2_INS4_14TransitionItemEEESD_bRNS7_INS2_INS0_12ParsingErrorEEEPSE_EE(ptr noundef nonnull %110, ptr noundef nonnull align 8 dereferenceable(33) %50, i64 noundef %.0173661, i64 noundef %.0172657, ptr noundef nonnull %111, ptr noundef nonnull %112, i1 noundef zeroext %4, ptr noundef nonnull align 8 dereferenceable(33) %5)
          to label %1177 unwind label %1188

1177:                                             ; preds = %1176
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #7
  %1178 = add nuw nsw i64 %.0651, 1
  %1179 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %99)
  %1180 = call noundef i64 @_ZNK2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEEEE5CountEv(ptr noundef nonnull align 8 dereferenceable(24) %1179)
  %1181 = icmp slt i64 %1178, %1180
  br i1 %1181, label %.lr.ph652, label %._crit_edge653, !llvm.loop !128

1182:                                             ; preds = %.lr.ph652
  %1183 = landingpad { ptr, i32 }
          cleanup
  br label %1192

1184:                                             ; preds = %1172
  %1185 = landingpad { ptr, i32 }
          cleanup
  br label %1191

1186:                                             ; preds = %1175
  %1187 = landingpad { ptr, i32 }
          cleanup
  br label %1190

1188:                                             ; preds = %1176
  %1189 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %1190

1190:                                             ; preds = %1188, %1186
  %.pn344 = phi { ptr, i32 } [ %1189, %1188 ], [ %1187, %1186 ]
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %1191

1191:                                             ; preds = %1190, %1184
  %.pn344.pn = phi { ptr, i32 } [ %.pn344, %1190 ], [ %1185, %1184 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable14TransitionItemEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %1192

1192:                                             ; preds = %1191, %1182
  %.pn344.pn.pn = phi { ptr, i32 } [ %.pn344.pn, %1191 ], [ %1183, %1182 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #7
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #7
  br label %1194

.loopexit:                                        ; preds = %._crit_edge653, %.preheader503, %1156
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #7
  %1193 = add nuw nsw i64 %.0169655, 1
  %exitcond.not = icmp eq i64 %1193, %umax
  br i1 %exitcond.not, label %.loopexit506, label %.lr.ph656, !llvm.loop !129

1194:                                             ; preds = %1192, %1164
  %.pn344.pn.pn.pn = phi { ptr, i32 } [ %.pn344.pn.pn, %1192 ], [ %1165, %1164 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #7
  br label %1199

.loopexit506:                                     ; preds = %.loopexit, %.preheader505, %1098
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #7
  %1195 = add nuw nsw i64 %.0172657, 1
  %1196 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  %1197 = call noundef i64 @_ZN2vl7parsing7tabling12ParsingTable13GetTokenCountEv(ptr noundef nonnull align 8 dereferenceable(656) %1196)
  %1198 = icmp slt i64 %1195, %1197
  br i1 %1198, label %.lr.ph659, label %._crit_edge660, !llvm.loop !130

1199:                                             ; preds = %1194, %1154, %1127
  %.pn349.pn.pn.pn = phi { ptr, i32 } [ %.pn349.pn.pn, %1154 ], [ %.pn344.pn.pn.pn, %1194 ], [ %.pn.pn, %1127 ]
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTable13TransitionBagEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #7
  br label %1200

1200:                                             ; preds = %1199, %1118
  %.pn349.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn349.pn.pn.pn, %1199 ], [ %1119, %1118 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #7
  br label %1208

1201:                                             ; preds = %._crit_edge662
  %1202 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  call void @_ZN2vl7parsing7tabling12ParsingTable12SetAmbiguityEb(ptr noundef nonnull align 8 dereferenceable(656) %1202, i1 noundef zeroext true)
  br label %1205

1203:                                             ; preds = %1205
  %1204 = landingpad { ptr, i32 }
          cleanup
  br label %1208

1205:                                             ; preds = %1201, %._crit_edge662
  %1206 = call noundef ptr @_ZNK2vl3PtrINS_7parsing7tabling12ParsingTableEEptEv(ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZN2vl7parsing7tabling12ParsingTable10InitializeEv(ptr noundef nonnull align 8 dereferenceable(656) %1206)
          to label %1207 unwind label %1203

1207:                                             ; preds = %1205
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %50) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %50) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %37) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %37) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %36) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %36) #7
  call void @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %35) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %35) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %34) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %34) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %11) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %11) #7
  call void @_ZN2vl11collections10DictionaryINS0_4PairINS_12ObjectStringIwEES4_EElS5_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %10) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %10) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %9) #7
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %9) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %8) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) #7
  call void @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %7) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %7) #7
  ret void

1208:                                             ; preds = %911, %1086, %868, %906, %780, %865, %729, %775, %682, %728, %653, %681, %623, %650, %601, %621, %1203, %1200
  %.pn406.pn.pn = phi { ptr, i32 } [ %.pn349.pn.pn.pn.pn, %1200 ], [ %1204, %1203 ], [ %.pn406, %621 ], [ %602, %601 ], [ %.pn401.pn.pn, %650 ], [ %624, %623 ], [ %.pn396.pn.pn, %681 ], [ %654, %653 ], [ %.pn391.pn.pn, %728 ], [ %683, %682 ], [ %.pn385.pn.pn.pn, %775 ], [ %730, %729 ], [ %.pn379.pn.pn.pn, %865 ], [ %781, %780 ], [ %.pn369.pn, %906 ], [ %869, %868 ], [ %.pn355.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1086 ], [ %912, %911 ]
  call void @_ZN2vl3PtrINS_7parsing7tabling12ParsingTableEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  br label %1209

1209:                                             ; preds = %597, %599, %1208, %557, %582, %556
  %.pn414.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn414.pn.pn.pn.pn, %556 ], [ %.pn411, %582 ], [ %558, %557 ], [ %.pn406.pn.pn, %1208 ], [ %598, %597 ], [ %600, %599 ]
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing5StateES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %50) #7
  br label %1210

1210:                                             ; preds = %1209, %483
  %.pn414.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn414.pn.pn.pn.pn.pn, %1209 ], [ %484, %483 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %50) #7
  br label %1211

1211:                                             ; preds = %434, %473, %360, %433, %1210
  %.pn430.pn.pn = phi { ptr, i32 } [ %.pn414.pn.pn.pn.pn.pn.pn, %1210 ], [ %.pn430, %433 ], [ %361, %360 ], [ %.pn422.pn, %473 ], [ %435, %434 ]
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %37) #7
  br label %1212

1212:                                             ; preds = %1211, %358
  %.pn430.pn.pn.pn = phi { ptr, i32 } [ %.pn430.pn.pn, %1211 ], [ %359, %358 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %37) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %36) #7
  br label %1213

1213:                                             ; preds = %1212, %356
  %.pn430.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn430.pn.pn.pn, %1212 ], [ %357, %356 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %36) #7
  call void @_ZN2vl11collections4ListINS_12ObjectStringIwEES3_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %35) #7
  br label %1214

1214:                                             ; preds = %1213, %354
  %.pn430.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn430.pn.pn.pn.pn, %1213 ], [ %355, %354 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %35) #7
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %34) #7
  br label %1215

1215:                                             ; preds = %1214, %352
  %.pn430.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn430.pn.pn.pn.pn.pn, %1214 ], [ %353, %352 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %34) #7
  br label %1216

1216:                                             ; preds = %240, %244, %341, %242, %133, %223, %1215, %131
  %.pn459.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn430.pn.pn.pn.pn.pn.pn, %1215 ], [ %132, %131 ], [ %.pn459.pn.pn.pn.pn, %223 ], [ %134, %133 ], [ %241, %240 ], [ %243, %242 ], [ %.pn445.pn.pn.pn.pn, %341 ], [ %245, %244 ]
  call void @_ZN2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolENS_3PtrINS0_4ListIS5_S5_EEEES5_PS8_ED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %11) #7
  br label %1217

1217:                                             ; preds = %1216, %129
  %.pn459.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn.pn.pn.pn.pn, %1216 ], [ %130, %129 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %11) #7
  call void @_ZN2vl11collections10DictionaryINS0_4PairINS_12ObjectStringIwEES4_EElS5_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %10) #7
  br label %1218

1218:                                             ; preds = %1217, %127
  %.pn459.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn.pn.pn.pn.pn.pn, %1217 ], [ %128, %127 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %10) #7
  call void @_ZN2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lED1Ev(ptr noundef nonnull align 8 dereferenceable(104) %9) #7
  br label %1219

1219:                                             ; preds = %1218, %125
  %.pn459.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn.pn.pn.pn.pn.pn.pn, %1218 ], [ %126, %125 ]
  call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %9) #7
  call void @_ZN2vl11collections4ListIPNS_7parsing9analyzing13ParsingSymbolES5_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %8) #7
  br label %1220

1220:                                             ; preds = %1219, %123
  %.pn459.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1219 ], [ %124, %123 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) #7
  call void @_ZN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable17AttributeInfoListEEEPS6_ED1Ev(ptr noundef nonnull align 8 dereferenceable(33) %7) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %7) #7
  resume { ptr, i32 } %.pn459.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2vl11collections21CreateForEachIteratorINS_3PtrINS_7parsing9analyzing8RuleInfoEEEEENS0_25EnumerableForEachIteratorIT_EERKNS0_11IEnumerableIS8_EE(ptr dead_on_unwind noalias writable sret(%"class.vl::collections::EnumerableForEachIterator.518") 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_E6ValuesEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK2vl3PtrINS_7parsing9analyzing5StateEE3ObjEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 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 noundef i64 @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lE5CountEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #3 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN2vl11collections25EnumerableForEachIteratorINS0_4PairINS2_INS_12ObjectStringIwEES4_EElEEED2Ev(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_7parsing9analyzing13ParsingSymbolElS5_lE4KeysEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryINS_12ObjectStringIwEElS3_lEixERKS3_(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 noundef nonnull align 8 dereferenceable(8) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing9analyzing13ParsingSymbolElS5_lEixERKS5_(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 void @_ZN2vl7parsing7tabling12ParsingTable12SetTokenInfoElRKNS2_9TokenInfoE(ptr noundef nonnull align 8 dereferenceable(656), i64 noundef, ptr noundef nonnull align 8 dereferenceable(112)) local_unnamed_addr #3 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(33) ptr @_ZNK2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_E4KeysEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #2 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 #2 align 2

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

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

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

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

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

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

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

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

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

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

; 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
declare dso_local void @_ZN2vl7parsing7tabling12ParsingTable16GetTransitionBagEll(ptr dead_on_unwind noalias writable sret(%"class.vl::Ptr.542") align 8, ptr noundef nonnull align 8 dereferenceable(656), i64 noundef, i64 noundef) local_unnamed_addr #3 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZN2vl7parsing7tabling12ParsingTable14TransitionItem7CompareENS_3PtrIS3_EES5_(ptr noundef, ptr noundef) #3 align 2

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

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

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

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

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

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

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

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

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

declare void @_ZN2vl7parsing7tabling12ParsingTableC1Elllllll(ptr, i64, i64, i64, i64, i64, i64, i64) 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 = { 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 #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 = { nobuiltin allocsize(0) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }
attributes #8 = { builtin allocsize(0) }
attributes #9 = { builtin nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"any pointer", !10, i64 0}
!10 = !{!"omnipotent char", !7, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = !{!14, !14, i64 0}
!14 = !{!"long", !10, i64 0}
!15 = distinct !{!15, !12}
!16 = distinct !{!16, !12}
!17 = distinct !{!17, !12}
!18 = distinct !{!18, !12}
!19 = distinct !{!19, !12}
!20 = !{!21, !32, i64 264}
!21 = !{!"_ZTSN2vl7parsing11definitions32ParsingDefinitionTokenDefinitionE", !22, i64 0, !37, i64 168, !37, i64 216, !32, i64 264}
!22 = !{!"_ZTSN2vl7parsing11definitions21ParsingDefinitionBaseE", !23, i64 0, !33, i64 120}
!23 = !{!"_ZTSN2vl7parsing21ParsingTreeCustomBaseE", !24, i64 0, !25, i64 8, !26, i64 16, !28, i64 72}
!24 = !{!"_ZTSN2vl6ObjectE"}
!25 = !{!"_ZTSN2vl10reflection11DescriptionINS_7parsing21ParsingTreeCustomBaseEEE"}
!26 = !{!"_ZTSN2vl7parsing16ParsingTextRangeE", !27, i64 0, !27, i64 24, !14, i64 48}
!27 = !{!"_ZTSN2vl7parsing14ParsingTextPosE", !14, i64 0, !14, i64 8, !14, i64 16}
!28 = !{!"_ZTSN2vl11collections4ListINS_12ObjectStringIwEES3_EE", !29, i64 0}
!29 = !{!"_ZTSN2vl11collections8ListBaseINS_12ObjectStringIwEES3_EE", !30, i64 0, !14, i64 24, !32, i64 32}
!30 = !{!"_ZTSN2vl11collections9ArrayBaseINS_12ObjectStringIwEEEE", !31, i64 0, !9, i64 8, !14, i64 16}
!31 = !{!"_ZTSN2vl11collections9ListStoreINS_12ObjectStringIwEELb0EEE", !24, i64 0}
!32 = !{!"bool", !10, i64 0}
!33 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEPS5_EE", !34, i64 0}
!34 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEPS5_EE", !35, i64 0, !14, i64 24, !32, i64 32}
!35 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEEEE", !36, i64 0, !9, i64 8, !14, i64 16}
!36 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing11definitions26ParsingDefinitionAttributeEEELb0EEE", !24, i64 0}
!37 = !{!"_ZTSN2vl12ObjectStringIwEE", !24, i64 0, !9, i64 8, !9, i64 16, !14, i64 24, !14, i64 32, !14, i64 40}
!38 = !{i8 0, i8 2}
!39 = !{}
!40 = distinct !{!40, !12}
!41 = !{!42, !9, i64 8}
!42 = !{!"_ZTSN2vl7parsing9analyzing9AutomatonE", !24, i64 0, !9, i64 8, !43, i64 16, !47, i64 64, !51, i64 112}
!43 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing10TransitionEEEPS5_EE", !44, i64 0}
!44 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing10TransitionEEEPS5_EE", !45, i64 0, !14, i64 24, !32, i64 32}
!45 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing10TransitionEEEEE", !46, i64 0, !9, i64 8, !14, i64 16}
!46 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing10TransitionEEELb0EEE", !24, i64 0}
!47 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing5StateEEEPS5_EE", !48, i64 0}
!48 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing5StateEEEPS5_EE", !49, i64 0, !14, i64 24, !32, i64 32}
!49 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing5StateEEEEE", !50, i64 0, !9, i64 8, !14, i64 16}
!50 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing5StateEEELb0EEE", !24, i64 0}
!51 = !{!"_ZTSN2vl11collections10DictionaryIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionENS_3PtrINS2_9analyzing8RuleInfoEEES5_PS8_EE", !24, i64 0, !52, i64 8, !56, i64 56}
!52 = !{!"_ZTSN2vl11collections10SortedListIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES5_EE", !53, i64 0}
!53 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionES5_EE", !54, i64 0, !14, i64 24, !32, i64 32}
!54 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionEEE", !55, i64 0, !9, i64 8, !14, i64 16}
!55 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing11definitions31ParsingDefinitionRuleDefinitionELb1EEE", !24, i64 0}
!56 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing8RuleInfoEEEPS5_EE", !57, i64 0}
!57 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing8RuleInfoEEEPS5_EE", !58, i64 0, !14, i64 24, !32, i64 32}
!58 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing8RuleInfoEEEEE", !59, i64 0, !9, i64 8, !14, i64 16}
!59 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing8RuleInfoEEELb0EEE", !24, i64 0}
!60 = distinct !{!60, !12}
!61 = distinct !{!61, !12}
!62 = distinct !{!62, !12}
!63 = distinct !{!63, !12}
!64 = distinct !{!64, !12}
!65 = distinct !{!65, !12}
!66 = !{!67, !14, i64 48}
!67 = !{!"_ZTSN2vl11collections4PairINS_12ObjectStringIwEElEE", !37, i64 0, !14, i64 48}
!68 = distinct !{!68, !12}
!69 = !{!70, !14, i64 96}
!70 = !{!"_ZTSN2vl11collections4PairINS1_INS_12ObjectStringIwEES3_EElEE", !71, i64 0, !14, i64 96}
!71 = !{!"_ZTSN2vl11collections4PairINS_12ObjectStringIwEES3_EE", !37, i64 0, !37, i64 48}
!72 = distinct !{!72, !12}
!73 = !{!74, !14, i64 104}
!74 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable9TokenInfoE", !37, i64 0, !37, i64 48, !14, i64 96, !14, i64 104}
!75 = distinct !{!75, !12}
!76 = distinct !{!76, !12}
!77 = !{!78, !14, i64 144}
!78 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable8RuleInfoE", !37, i64 0, !37, i64 48, !37, i64 96, !14, i64 144, !14, i64 152}
!79 = !{!78, !14, i64 152}
!80 = distinct !{!80, !12}
!81 = !{!82, !9, i64 120}
!82 = !{!"_ZTSN2vl7parsing9analyzing5StateE", !24, i64 0, !83, i64 8, !83, i64 56, !32, i64 104, !9, i64 112, !9, i64 120, !9, i64 128, !9, i64 136, !87, i64 144, !37, i64 152, !37, i64 200}
!83 = !{!"_ZTSN2vl11collections4ListIPNS_7parsing9analyzing10TransitionES5_EE", !84, i64 0}
!84 = !{!"_ZTSN2vl11collections8ListBaseIPNS_7parsing9analyzing10TransitionES5_EE", !85, i64 0, !14, i64 24, !32, i64 32}
!85 = !{!"_ZTSN2vl11collections9ArrayBaseIPNS_7parsing9analyzing10TransitionEEE", !86, i64 0, !9, i64 8, !14, i64 16}
!86 = !{!"_ZTSN2vl11collections9ListStoreIPNS_7parsing9analyzing10TransitionELb1EEE", !24, i64 0}
!87 = !{!"_ZTSN2vl7parsing9analyzing5State13StatePositionE", !10, i64 0}
!88 = distinct !{!88, !12}
!89 = distinct !{!89, !12}
!90 = !{!91, !96, i64 72}
!91 = !{!"_ZTSN2vl7parsing9analyzing10TransitionE", !24, i64 0, !9, i64 8, !9, i64 16, !92, i64 24, !96, i64 72, !97, i64 76, !9, i64 80}
!92 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !93, i64 0}
!93 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing9analyzing6ActionEEEPS5_EE", !94, i64 0, !14, i64 24, !32, i64 32}
!94 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing9analyzing6ActionEEEEE", !95, i64 0, !9, i64 8, !14, i64 16}
!95 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing9analyzing6ActionEEELb0EEE", !24, i64 0}
!96 = !{!"_ZTSN2vl7parsing9analyzing10Transition14TransitionTypeE", !10, i64 0}
!97 = !{!"_ZTSN2vl7parsing9analyzing10Transition18StackOperationTypeE", !10, i64 0}
!98 = !{!99, !14, i64 0}
!99 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable14TransitionItemE", !14, i64 0, !14, i64 8, !100, i64 16, !104, i64 64, !108, i64 112}
!100 = !{!"_ZTSN2vl11collections4ListINS_3PtrINS_7parsing7tabling12ParsingTable13LookAheadInfoEEEPS6_EE", !101, i64 0}
!101 = !{!"_ZTSN2vl11collections8ListBaseINS_3PtrINS_7parsing7tabling12ParsingTable13LookAheadInfoEEEPS6_EE", !102, i64 0, !14, i64 24, !32, i64 32}
!102 = !{!"_ZTSN2vl11collections9ArrayBaseINS_3PtrINS_7parsing7tabling12ParsingTable13LookAheadInfoEEEEE", !103, i64 0, !9, i64 8, !14, i64 16}
!103 = !{!"_ZTSN2vl11collections9ListStoreINS_3PtrINS_7parsing7tabling12ParsingTable13LookAheadInfoEEELb0EEE", !24, i64 0}
!104 = !{!"_ZTSN2vl11collections4ListIllEE", !105, i64 0}
!105 = !{!"_ZTSN2vl11collections8ListBaseIllEE", !106, i64 0, !14, i64 24, !32, i64 32}
!106 = !{!"_ZTSN2vl11collections9ArrayBaseIlEE", !107, i64 0, !9, i64 8, !14, i64 16}
!107 = !{!"_ZTSN2vl11collections9ListStoreIlLb1EEE", !24, i64 0}
!108 = !{!"_ZTSN2vl11collections4ListINS_7parsing7tabling12ParsingTable11InstructionES5_EE", !109, i64 0}
!109 = !{!"_ZTSN2vl11collections8ListBaseINS_7parsing7tabling12ParsingTable11InstructionES5_EE", !110, i64 0, !14, i64 24, !32, i64 32}
!110 = !{!"_ZTSN2vl11collections9ArrayBaseINS_7parsing7tabling12ParsingTable11InstructionEEE", !111, i64 0, !9, i64 8, !14, i64 16}
!111 = !{!"_ZTSN2vl11collections9ListStoreINS_7parsing7tabling12ParsingTable11InstructionELb0EEE", !24, i64 0}
!112 = !{!99, !14, i64 8}
!113 = distinct !{!113, !12}
!114 = !{!115, !116, i64 8}
!115 = !{!"_ZTSN2vl7parsing9analyzing6ActionE", !24, i64 0, !116, i64 8, !9, i64 16, !9, i64 24, !9, i64 32, !9, i64 40, !9, i64 48}
!116 = !{!"_ZTSN2vl7parsing9analyzing6Action10ActionTypeE", !10, i64 0}
!117 = !{!118, !119, i64 0}
!118 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable11InstructionE", !119, i64 0, !14, i64 8, !37, i64 16, !37, i64 64, !37, i64 112}
!119 = !{!"_ZTSN2vl7parsing7tabling12ParsingTable11Instruction15InstructionTypeE", !10, i64 0}
!120 = !{!115, !9, i64 24}
!121 = !{!118, !14, i64 8}
!122 = !{!115, !9, i64 32}
!123 = distinct !{!123, !12}
!124 = distinct !{!124, !12}
!125 = distinct !{!125, !12}
!126 = distinct !{!126, !12}
!127 = distinct !{!127, !12}
!128 = distinct !{!128, !12}
!129 = distinct !{!129, !12}
!130 = distinct !{!130, !12}


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