; LLVM IR from facebook/redex :: service/method-inliner (Inliner)

; 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.AccumulatingTimer::AccumulatingTimerScope" = type { ptr, %"class.std::chrono::time_point" }
%"class.std::chrono::time_point" = type { %"class.std::chrono::duration.519" }
%"class.std::chrono::duration.519" = type { i64 }
%"class.std::vector.731" = type { %"struct.std::_Vector_base.732" }
%"struct.std::_Vector_base.732" = type { %"struct.std::_Vector_base<Inlinable, std::allocator<Inlinable>>::_Vector_impl" }
%"struct.std::_Vector_base<Inlinable, std::allocator<Inlinable>>::_Vector_impl" = type { %"struct.std::_Vector_base<Inlinable, std::allocator<Inlinable>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Inlinable, std::allocator<Inlinable>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.822" = type { ptr }
%"class.std::allocator.733" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.823" = type { ptr }
%class.anon.824 = type { ptr, ptr }
%"class.std::vector.825" = type { %"struct.std::_Vector_base.826" }
%"struct.std::_Vector_base.826" = type { %"struct.std::_Vector_base<DexMethod *, std::allocator<DexMethod *>>::_Vector_impl" }
%"struct.std::_Vector_base<DexMethod *, std::allocator<DexMethod *>>::_Vector_impl" = type { %"struct.std::_Vector_base<DexMethod *, std::allocator<DexMethod *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<DexMethod *, std::allocator<DexMethod *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.boost::optional.830" = type { %"class.boost::optional_detail::tc_optional_base" }
%"class.boost::optional_detail::tc_optional_base" = type { i8, i32 }
%"class.std::unique_ptr.831" = type { %"struct.std::__uniq_ptr_data.832" }
%"struct.std::__uniq_ptr_data.832" = type { %"class.std::__uniq_ptr_impl.833" }
%"class.std::__uniq_ptr_impl.833" = type { %"class.std::tuple.834" }
%"class.std::tuple.834" = type { %"struct.std::_Tuple_impl.835" }
%"struct.std::_Tuple_impl.835" = type { %"struct.std::_Head_base.838" }
%"struct.std::_Head_base.838" = type { ptr }
%class.anon.839 = type { ptr, ptr, ptr }
%struct.VisibilityChanges = type { %class.UnorderedSet.840, %class.UnorderedSet.862, %class.UnorderedSet.401 }
%class.UnorderedSet.840 = type { %"class.std::unordered_set.842" }
%"class.std::unordered_set.842" = type { %"class.std::_Hashtable.843" }
%"class.std::_Hashtable.843" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%class.UnorderedSet.862 = type { %"class.std::unordered_set.864" }
%"class.std::unordered_set.864" = type { %"class.std::_Hashtable.865" }
%"class.std::_Hashtable.865" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%class.UnorderedSet.401 = type { %"class.std::unordered_set.403" }
%"class.std::unordered_set.403" = type { %"class.std::_Hashtable.404" }
%"class.std::_Hashtable.404" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.cfg::InstructionIteratorImpl" = type { ptr, %"struct.std::_Rb_tree_const_iterator", %"class.ir_list::InstructionIteratorImpl" }
%"struct.std::_Rb_tree_const_iterator" = type { ptr }
%"class.ir_list::InstructionIteratorImpl" = type { %"class.boost::intrusive::list_iterator", %"class.boost::intrusive::list_iterator" }
%"class.boost::intrusive::list_iterator" = type { %"struct.boost::intrusive::iiterator_members" }
%"struct.boost::intrusive::iiterator_members" = type { ptr }
%"class.std::vector.780" = type { %"struct.std::_Vector_base.781" }
%"struct.std::_Vector_base.781" = type { %"struct.std::_Vector_base<IRInstruction *, std::allocator<IRInstruction *>>::_Vector_impl" }
%"struct.std::_Vector_base<IRInstruction *, std::allocator<IRInstruction *>>::_Vector_impl" = type { %"struct.std::_Vector_base<IRInstruction *, std::allocator<IRInstruction *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<IRInstruction *, std::allocator<IRInstruction *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::allocator.782" = type { i8 }
%"struct.std::pair.906" = type <{ i32, i8, [3 x i8] }>
%"struct.MultiMethodInliner::InlinableDecision" = type { i8 }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.std::pair.615" = type <{ %"class.UnorderedSet<DexMethod *>::FixedIterator", i8, [7 x i8] }>
%"class.UnorderedSet<DexMethod *>::FixedIterator" = type { %"struct.std::__detail::_Node_iterator.617" }
%"struct.std::__detail::_Node_iterator.617" = type { %"struct.std::__detail::_Node_iterator_base.618" }
%"struct.std::__detail::_Node_iterator_base.618" = type { ptr }
%"struct.std::pair.911" = type <{ ptr, i8, [7 x i8] }>
%"struct.std::pair.914" = type <{ ptr, i8, [7 x i8] }>
%"class.UnorderedSet<DexMethod *>::UnorderedIterable" = type { ptr }
%"class.std::lock_guard" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.917" = type { ptr }
%class.MultiMethodInliner = type { %"class.std::unique_ptr", %"class.std::function", %class.ConcurrentSet, %class.InsertOnlyConcurrentSet, %class.InsertOnlyConcurrentSet, %class.ConcurrentSet.16, %class.ConcurrentMap, %class.ConcurrentMap, %class.UnorderedMap, %class.UnorderedMap.31, %class.UnorderedSet, %class.UnorderedSet, %class.UnorderedSet, %"class.std::unique_ptr.67", %class.InsertOnlyConcurrentMap, %class.InsertOnlyConcurrentMap, %class.InsertOnlyConcurrentMap.82, %class.InsertOnlyConcurrentMap.90, %class.PriorityThreadPoolDAGScheduler, %class.ConcurrentSet, %"class.std::unique_ptr.160", %"class.std::mutex", %class.InsertOnlyConcurrentMap.168, %"class.std::unique_ptr.176", %"class.std::unique_ptr.184", %"class.std::unique_ptr.192", %"class.std::unique_ptr.200", %"class.std::unique_ptr.208", %"class.std::unique_ptr.216", %class.InsertOnlyConcurrentMap.168, %"class.std::unique_ptr.224", %"struct.MultiMethodInliner::InliningInfo", ptr, ptr, i32, ptr, i8, i8, %"class.shrinker::Shrinker", %class.AccumulatingTimer, %class.AccumulatingTimer, %class.AccumulatingTimer, %class.AccumulatingTimer, %class.AccumulatingTimer, %class.AccumulatingTimer, %class.AccumulatingTimer, ptr, i8, i8, %struct.InlinerCostConfig, ptr, %class.InsertOnlyConcurrentMap.461, ptr }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.2" }
%"struct.std::_Head_base.2" = type { ptr }
%"class.std::function" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%class.InsertOnlyConcurrentSet = type { %class.ConcurrentContainer.9 }
%class.ConcurrentContainer.9 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.10"] }
%"class.cc_impl::ConcurrentHashtable.10" = type { %"struct.std::atomic.11", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.13" }
%"struct.std::atomic.11" = type { %"struct.std::__atomic_base.12" }
%"struct.std::__atomic_base.12" = type { ptr }
%"struct.std::atomic.3" = type { %"struct.std::__atomic_base.4" }
%"struct.std::__atomic_base.4" = type { i64 }
%"struct.std::atomic.5" = type { %"struct.std::__atomic_base.6" }
%"struct.std::__atomic_base.6" = type { i8 }
%"struct.std::atomic.13" = type { %"struct.std::__atomic_base.14" }
%"struct.std::__atomic_base.14" = type { ptr }
%class.ConcurrentSet.16 = type { %class.ConcurrentContainer.9 }
%class.ConcurrentMap = type { %class.ConcurrentContainer.18, [83 x %"class.std::mutex"] }
%class.ConcurrentContainer.18 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.19"] }
%"class.cc_impl::ConcurrentHashtable.19" = type { %"struct.std::atomic.20", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.22" }
%"struct.std::atomic.20" = type { %"struct.std::__atomic_base.21" }
%"struct.std::__atomic_base.21" = type { ptr }
%"struct.std::atomic.22" = type { %"struct.std::__atomic_base.23" }
%"struct.std::__atomic_base.23" = type { ptr }
%class.UnorderedMap = type { %"class.std::unordered_map" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%class.UnorderedMap.31 = type { %"class.std::unordered_map.33" }
%"class.std::unordered_map.33" = type { %"class.std::_Hashtable.34" }
%"class.std::_Hashtable.34" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%class.UnorderedSet = type { %"class.std::unordered_set" }
%"class.std::unordered_set" = type { %"class.std::_Hashtable.54" }
%"class.std::_Hashtable.54" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::unique_ptr.67" = type { %"struct.std::__uniq_ptr_data.68" }
%"struct.std::__uniq_ptr_data.68" = type { %"class.std::__uniq_ptr_impl.69" }
%"class.std::__uniq_ptr_impl.69" = type { %"class.std::tuple.70" }
%"class.std::tuple.70" = type { %"struct.std::_Tuple_impl.71" }
%"struct.std::_Tuple_impl.71" = type { %"struct.std::_Head_base.74" }
%"struct.std::_Head_base.74" = type { ptr }
%class.InsertOnlyConcurrentMap = type { %class.ConcurrentContainer.75 }
%class.ConcurrentContainer.75 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.76"] }
%"class.cc_impl::ConcurrentHashtable.76" = type { %"struct.std::atomic.77", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.79" }
%"struct.std::atomic.77" = type { %"struct.std::__atomic_base.78" }
%"struct.std::__atomic_base.78" = type { ptr }
%"struct.std::atomic.79" = type { %"struct.std::__atomic_base.80" }
%"struct.std::__atomic_base.80" = type { ptr }
%class.InsertOnlyConcurrentMap.82 = type { %class.ConcurrentContainer.83 }
%class.ConcurrentContainer.83 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.84"] }
%"class.cc_impl::ConcurrentHashtable.84" = type { %"struct.std::atomic.85", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.87" }
%"struct.std::atomic.85" = type { %"struct.std::__atomic_base.86" }
%"struct.std::__atomic_base.86" = type { ptr }
%"struct.std::atomic.87" = type { %"struct.std::__atomic_base.88" }
%"struct.std::__atomic_base.88" = type { ptr }
%class.InsertOnlyConcurrentMap.90 = type { %class.ConcurrentContainer.91 }
%class.ConcurrentContainer.91 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.92"] }
%"class.cc_impl::ConcurrentHashtable.92" = type { %"struct.std::atomic.93", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.95" }
%"struct.std::atomic.93" = type { %"struct.std::__atomic_base.94" }
%"struct.std::__atomic_base.94" = type { ptr }
%"struct.std::atomic.95" = type { %"struct.std::__atomic_base.96" }
%"struct.std::__atomic_base.96" = type { ptr }
%class.PriorityThreadPoolDAGScheduler = type { %class.PriorityThreadPool, %"class.std::function.104", %class.UnorderedMap.106, %class.UnorderedMap.128, %"class.std::unique_ptr.144", i32, %"class.std::unique_ptr.152" }
%class.PriorityThreadPool = type <{ %"class.std::vector", i64, %"class.std::mutex", i64, %"class.std::condition_variable", %"class.std::condition_variable", %"class.std::condition_variable", %"class.std::map", %"struct.std::atomic.3", %"class.std::chrono::duration", i8, [7 x i8] }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<boost::thread, std::allocator<boost::thread>>::_Vector_impl" }
%"struct.std::_Vector_base<boost::thread, std::allocator<boost::thread>>::_Vector_impl" = type { %"struct.std::_Vector_base<boost::thread, std::allocator<boost::thread>>::_Vector_impl_data" }
%"struct.std::_Vector_base<boost::thread, std::allocator<boost::thread>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::condition_variable" = type { %"class.std::__condvar" }
%"class.std::__condvar" = type { %union.pthread_cond_t }
%union.pthread_cond_t = type { %struct.__pthread_cond_s }
%struct.__pthread_cond_s = type { %union.__atomic_wide_counter, %union.__atomic_wide_counter, [2 x i32], [2 x i32], i32, i32, [2 x i32] }
%union.__atomic_wide_counter = type { i64 }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<int, std::pair<const int, std::queue<std::function<void ()>>>, std::_Select1st<std::pair<const int, std::queue<std::function<void ()>>>>, std::less<int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, std::pair<const int, std::queue<std::function<void ()>>>, std::_Select1st<std::pair<const int, std::queue<std::function<void ()>>>>, std::less<int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::chrono::duration" = type { double }
%"class.std::function.104" = type { %"class.std::_Function_base", ptr }
%class.UnorderedMap.106 = type { %"class.std::unordered_map.108" }
%"class.std::unordered_map.108" = type { %"class.std::_Hashtable.109" }
%"class.std::_Hashtable.109" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%class.UnorderedMap.128 = type { %"class.std::unordered_map.130" }
%"class.std::unordered_map.130" = type { %"class.std::_Hashtable.131" }
%"class.std::_Hashtable.131" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::unique_ptr.144" = type { %"struct.std::__uniq_ptr_data.145" }
%"struct.std::__uniq_ptr_data.145" = type { %"class.std::__uniq_ptr_impl.146" }
%"class.std::__uniq_ptr_impl.146" = type { %"class.std::tuple.147" }
%"class.std::tuple.147" = type { %"struct.std::_Tuple_impl.148" }
%"struct.std::_Tuple_impl.148" = type { %"struct.std::_Head_base.151" }
%"struct.std::_Head_base.151" = type { ptr }
%"class.std::unique_ptr.152" = type { %"struct.std::__uniq_ptr_data.153" }
%"struct.std::__uniq_ptr_data.153" = type { %"class.std::__uniq_ptr_impl.154" }
%"class.std::__uniq_ptr_impl.154" = type { %"class.std::tuple.155" }
%"class.std::tuple.155" = type { %"struct.std::_Tuple_impl.156" }
%"struct.std::_Tuple_impl.156" = type { %"struct.std::_Head_base.159" }
%"struct.std::_Head_base.159" = type { ptr }
%class.ConcurrentSet = type { %class.ConcurrentContainer }
%class.ConcurrentContainer = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable"] }
%"class.cc_impl::ConcurrentHashtable" = type { %"struct.std::atomic", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.7" }
%"struct.std::atomic" = type { %"struct.std::__atomic_base" }
%"struct.std::__atomic_base" = type { ptr }
%"struct.std::atomic.7" = type { %"struct.std::__atomic_base.8" }
%"struct.std::__atomic_base.8" = type { ptr }
%"class.std::unique_ptr.160" = type { %"struct.std::__uniq_ptr_data.161" }
%"struct.std::__uniq_ptr_data.161" = type { %"class.std::__uniq_ptr_impl.162" }
%"class.std::__uniq_ptr_impl.162" = type { %"class.std::tuple.163" }
%"class.std::tuple.163" = type { %"struct.std::_Tuple_impl.164" }
%"struct.std::_Tuple_impl.164" = type { %"struct.std::_Head_base.167" }
%"struct.std::_Head_base.167" = type { ptr }
%"class.std::mutex" = type { %"class.std::__mutex_base" }
%"class.std::__mutex_base" = type { %union.pthread_mutex_t }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::unique_ptr.176" = type { %"struct.std::__uniq_ptr_data.177" }
%"struct.std::__uniq_ptr_data.177" = type { %"class.std::__uniq_ptr_impl.178" }
%"class.std::__uniq_ptr_impl.178" = type { %"class.std::tuple.179" }
%"class.std::tuple.179" = type { %"struct.std::_Tuple_impl.180" }
%"struct.std::_Tuple_impl.180" = type { %"struct.std::_Head_base.183" }
%"struct.std::_Head_base.183" = type { ptr }
%"class.std::unique_ptr.184" = type { %"struct.std::__uniq_ptr_data.185" }
%"struct.std::__uniq_ptr_data.185" = type { %"class.std::__uniq_ptr_impl.186" }
%"class.std::__uniq_ptr_impl.186" = type { %"class.std::tuple.187" }
%"class.std::tuple.187" = type { %"struct.std::_Tuple_impl.188" }
%"struct.std::_Tuple_impl.188" = type { %"struct.std::_Head_base.191" }
%"struct.std::_Head_base.191" = type { ptr }
%"class.std::unique_ptr.192" = type { %"struct.std::__uniq_ptr_data.193" }
%"struct.std::__uniq_ptr_data.193" = type { %"class.std::__uniq_ptr_impl.194" }
%"class.std::__uniq_ptr_impl.194" = type { %"class.std::tuple.195" }
%"class.std::tuple.195" = type { %"struct.std::_Tuple_impl.196" }
%"struct.std::_Tuple_impl.196" = type { %"struct.std::_Head_base.199" }
%"struct.std::_Head_base.199" = type { ptr }
%"class.std::unique_ptr.200" = type { %"struct.std::__uniq_ptr_data.201" }
%"struct.std::__uniq_ptr_data.201" = type { %"class.std::__uniq_ptr_impl.202" }
%"class.std::__uniq_ptr_impl.202" = type { %"class.std::tuple.203" }
%"class.std::tuple.203" = type { %"struct.std::_Tuple_impl.204" }
%"struct.std::_Tuple_impl.204" = type { %"struct.std::_Head_base.207" }
%"struct.std::_Head_base.207" = type { ptr }
%"class.std::unique_ptr.208" = type { %"struct.std::__uniq_ptr_data.209" }
%"struct.std::__uniq_ptr_data.209" = type { %"class.std::__uniq_ptr_impl.210" }
%"class.std::__uniq_ptr_impl.210" = type { %"class.std::tuple.211" }
%"class.std::tuple.211" = type { %"struct.std::_Tuple_impl.212" }
%"struct.std::_Tuple_impl.212" = type { %"struct.std::_Head_base.215" }
%"struct.std::_Head_base.215" = type { ptr }
%"class.std::unique_ptr.216" = type { %"struct.std::__uniq_ptr_data.217" }
%"struct.std::__uniq_ptr_data.217" = type { %"class.std::__uniq_ptr_impl.218" }
%"class.std::__uniq_ptr_impl.218" = type { %"class.std::tuple.219" }
%"class.std::tuple.219" = type { %"struct.std::_Tuple_impl.220" }
%"struct.std::_Tuple_impl.220" = type { %"struct.std::_Head_base.223" }
%"struct.std::_Head_base.223" = type { ptr }
%class.InsertOnlyConcurrentMap.168 = type { %class.ConcurrentContainer.169 }
%class.ConcurrentContainer.169 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.170"] }
%"class.cc_impl::ConcurrentHashtable.170" = type { %"struct.std::atomic.171", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.173" }
%"struct.std::atomic.171" = type { %"struct.std::__atomic_base.172" }
%"struct.std::__atomic_base.172" = type { ptr }
%"struct.std::atomic.173" = type { %"struct.std::__atomic_base.174" }
%"struct.std::__atomic_base.174" = type { ptr }
%"class.std::unique_ptr.224" = type { %"struct.std::__uniq_ptr_data.225" }
%"struct.std::__uniq_ptr_data.225" = type { %"class.std::__uniq_ptr_impl.226" }
%"class.std::__uniq_ptr_impl.226" = type { %"class.std::tuple.227" }
%"class.std::tuple.227" = type { %"struct.std::_Tuple_impl.228" }
%"struct.std::_Tuple_impl.228" = type { %"struct.std::_Head_base.231" }
%"struct.std::_Head_base.231" = type { ptr }
%"struct.MultiMethodInliner::InliningInfo" = type { i64, i64, i64, i32, %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.inliner::CallSiteSummaryStats", %class.AtomicMap }
%"struct.inliner::CallSiteSummaryStats" = type { %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3", %"struct.std::atomic.3" }
%class.AtomicMap = type { %class.ConcurrentContainer.232 }
%class.ConcurrentContainer.232 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.233"] }
%"class.cc_impl::ConcurrentHashtable.233" = type { %"struct.std::atomic.234", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.236" }
%"struct.std::atomic.234" = type { %"struct.std::__atomic_base.235" }
%"struct.std::__atomic_base.235" = type { ptr }
%"struct.std::atomic.236" = type { %"struct.std::__atomic_base.237" }
%"struct.std::__atomic_base.237" = type { ptr }
%"class.shrinker::Shrinker" = type { %"class.random_forest::Forest", %class.XStoreRefs, %"struct.shrinker::ShrinkerConfig", i32, i8, %"class.std::unique_ptr.279", ptr, %class.UnorderedSet.287, %class.UnorderedSet.309, %class.UnorderedSet.331, %"struct.constant_propagation::ImmutableAttributeAnalyzerState", %"struct.constant_propagation::StringAnalyzerState", %"struct.constant_propagation::PackageNameState", %"class.constant_propagation::State", %"class.std::mutex", %class.AccumulatingTimer, %"struct.constant_propagation::Transform::Stats", %class.AccumulatingTimer, %"struct.cse_impl::Stats", %class.AccumulatingTimer, %"struct.copy_propagation_impl::Stats", %class.AccumulatingTimer, %"struct.LocalDce::Stats", %class.AccumulatingTimer, i64, %class.AccumulatingTimer, %"struct.dedup_blocks_impl::Stats", %class.AccumulatingTimer, i64, i64 }
%"class.random_forest::Forest" = type { %"class.std::vector.239" }
%"class.std::vector.239" = type { %"struct.std::_Vector_base.240" }
%"struct.std::_Vector_base.240" = type { %"struct.std::_Vector_base<std::unique_ptr<random_forest::Forest<const shrinker::Shrinker::MethodContext &>::DecisionTreeNode>, std::allocator<std::unique_ptr<random_forest::Forest<const shrinker::Shrinker::MethodContext &>::DecisionTreeNode>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::unique_ptr<random_forest::Forest<const shrinker::Shrinker::MethodContext &>::DecisionTreeNode>, std::allocator<std::unique_ptr<random_forest::Forest<const shrinker::Shrinker::MethodContext &>::DecisionTreeNode>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::unique_ptr<random_forest::Forest<const shrinker::Shrinker::MethodContext &>::DecisionTreeNode>, std::allocator<std::unique_ptr<random_forest::Forest<const shrinker::Shrinker::MethodContext &>::DecisionTreeNode>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::unique_ptr<random_forest::Forest<const shrinker::Shrinker::MethodContext &>::DecisionTreeNode>, std::allocator<std::unique_ptr<random_forest::Forest<const shrinker::Shrinker::MethodContext &>::DecisionTreeNode>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.XStoreRefs = type { %class.InsertOnlyConcurrentMap.244, %"class.std::vector.252", i64, %class.UnorderedMap.257, %class.UnorderedMap.257, %"class.std::__cxx11::basic_string" }
%class.InsertOnlyConcurrentMap.244 = type { %class.ConcurrentContainer.245 }
%class.ConcurrentContainer.245 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.246"] }
%"class.cc_impl::ConcurrentHashtable.246" = type { %"struct.std::atomic.247", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.249" }
%"struct.std::atomic.247" = type { %"struct.std::__atomic_base.248" }
%"struct.std::__atomic_base.248" = type { ptr }
%"struct.std::atomic.249" = type { %"struct.std::__atomic_base.250" }
%"struct.std::__atomic_base.250" = type { ptr }
%"class.std::vector.252" = type { %"struct.std::_Vector_base.253" }
%"struct.std::_Vector_base.253" = type { %"struct.std::_Vector_base<const DexStore *, std::allocator<const DexStore *>>::_Vector_impl" }
%"struct.std::_Vector_base<const DexStore *, std::allocator<const DexStore *>>::_Vector_impl" = type { %"struct.std::_Vector_base<const DexStore *, std::allocator<const DexStore *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<const DexStore *, std::allocator<const DexStore *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.UnorderedMap.257 = type { %"class.std::unordered_map.259" }
%"class.std::unordered_map.259" = type { %"class.std::_Hashtable.260" }
%"class.std::_Hashtable.260" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.shrinker::ShrinkerConfig" = type <{ i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [6 x i8], %"class.std::__cxx11::basic_string", i8, [7 x i8] }>
%"class.std::unique_ptr.279" = type { %"struct.std::__uniq_ptr_data.280" }
%"struct.std::__uniq_ptr_data.280" = type { %"class.std::__uniq_ptr_impl.281" }
%"class.std::__uniq_ptr_impl.281" = type { %"class.std::tuple.282" }
%"class.std::tuple.282" = type { %"struct.std::_Tuple_impl.283" }
%"struct.std::_Tuple_impl.283" = type { %"struct.std::_Head_base.286" }
%"struct.std::_Head_base.286" = type { ptr }
%class.UnorderedSet.287 = type { %"class.std::unordered_set.289" }
%"class.std::unordered_set.289" = type { %"class.std::_Hashtable.290" }
%"class.std::_Hashtable.290" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%class.UnorderedSet.309 = type { %"class.std::unordered_set.311" }
%"class.std::unordered_set.311" = type { %"class.std::_Hashtable.312" }
%"class.std::_Hashtable.312" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%class.UnorderedSet.331 = type { %"class.std::unordered_set.333" }
%"class.std::unordered_set.333" = type { %"class.std::_Hashtable.334" }
%"class.std::_Hashtable.334" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.constant_propagation::ImmutableAttributeAnalyzerState" = type { %class.ConcurrentMap.353, %class.ConcurrentSet, %class.ConcurrentSet.361, %class.UnorderedMap.369, %class.ConcurrentSet.385, %class.InsertOnlyConcurrentMap.393 }
%class.ConcurrentMap.353 = type { %class.ConcurrentContainer.354, [83 x %"class.std::mutex"] }
%class.ConcurrentContainer.354 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.355"] }
%"class.cc_impl::ConcurrentHashtable.355" = type { %"struct.std::atomic.356", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.358" }
%"struct.std::atomic.356" = type { %"struct.std::__atomic_base.357" }
%"struct.std::__atomic_base.357" = type { ptr }
%"struct.std::atomic.358" = type { %"struct.std::__atomic_base.359" }
%"struct.std::__atomic_base.359" = type { ptr }
%class.ConcurrentSet.361 = type { %class.ConcurrentContainer.362 }
%class.ConcurrentContainer.362 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.363"] }
%"class.cc_impl::ConcurrentHashtable.363" = type { %"struct.std::atomic.364", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.366" }
%"struct.std::atomic.364" = type { %"struct.std::__atomic_base.365" }
%"struct.std::__atomic_base.365" = type { ptr }
%"struct.std::atomic.366" = type { %"struct.std::__atomic_base.367" }
%"struct.std::__atomic_base.367" = type { ptr }
%class.UnorderedMap.369 = type { %"class.std::unordered_map.371" }
%"class.std::unordered_map.371" = type { %"class.std::_Hashtable.372" }
%"class.std::_Hashtable.372" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%class.ConcurrentSet.385 = type { %class.ConcurrentContainer.386 }
%class.ConcurrentContainer.386 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.387"] }
%"class.cc_impl::ConcurrentHashtable.387" = type { %"struct.std::atomic.388", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.390" }
%"struct.std::atomic.388" = type { %"struct.std::__atomic_base.389" }
%"struct.std::__atomic_base.389" = type { ptr }
%"struct.std::atomic.390" = type { %"struct.std::__atomic_base.391" }
%"struct.std::__atomic_base.391" = type { ptr }
%class.InsertOnlyConcurrentMap.393 = type { %class.ConcurrentContainer.394 }
%class.ConcurrentContainer.394 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.395"] }
%"class.cc_impl::ConcurrentHashtable.395" = type { %"struct.std::atomic.396", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.398" }
%"struct.std::atomic.396" = type { %"struct.std::__atomic_base.397" }
%"struct.std::__atomic_base.397" = type { ptr }
%"struct.std::atomic.398" = type { %"struct.std::__atomic_base.399" }
%"struct.std::__atomic_base.399" = type { ptr }
%"struct.constant_propagation::StringAnalyzerState" = type { %class.UnorderedSet.401 }
%"struct.constant_propagation::PackageNameState" = type { %class.UnorderedSet.287, ptr }
%"class.constant_propagation::State" = type { %class.UnorderedSet.287, ptr }
%"struct.constant_propagation::Transform::Stats" = type { i64, i64, i64, i64, i64, i64, i64, i64, i64 }
%"struct.cse_impl::Stats" = type { i64, i64, i64, i64, i64, i64, %class.UnorderedMap.417, i64, i64 }
%class.UnorderedMap.417 = type { %"class.std::unordered_map.419" }
%"class.std::unordered_map.419" = type { %"class.std::_Hashtable.420" }
%"class.std::_Hashtable.420" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.copy_propagation_impl::Stats" = type { i64, i64, i64, i64, i64 }
%"struct.LocalDce::Stats" = type { i64, i64, i64, i64, i64, i64, %"struct.init_classes::Stats" }
%"struct.init_classes::Stats" = type { i64, i64, i64 }
%"struct.dedup_blocks_impl::Stats" = type { i32, i32, i32, i32, i32, %class.UnorderedMap.439 }
%class.UnorderedMap.439 = type { %"class.std::unordered_map.441" }
%"class.std::unordered_map.441" = type { %"class.std::_Hashtable.442" }
%"class.std::_Hashtable.442" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%class.AccumulatingTimer = type { %"class.std::shared_ptr" }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%struct.InlinerCostConfig = type { float, float, i64, float, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float }
%class.InsertOnlyConcurrentMap.461 = type { %class.ConcurrentContainer.462 }
%class.ConcurrentContainer.462 = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable.463"] }
%"class.cc_impl::ConcurrentHashtable.463" = type { %"struct.std::atomic.464", %"struct.std::atomic.3", %"struct.std::atomic.5", %"struct.std::atomic.466" }
%"struct.std::atomic.464" = type { %"struct.std::__atomic_base.465" }
%"struct.std::__atomic_base.465" = type { ptr }
%"struct.std::atomic.466" = type { %"struct.std::__atomic_base.467" }
%"struct.std::__atomic_base.467" = type { ptr }
%"struct.inliner::InlinerConfig" = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [4 x i8], %"struct.shrinker::ShrinkerConfig", i8, i8, i8, i8, i8, i8, i8, i64, i64, i64, %"class.std::__cxx11::basic_string", i32, %class.UnorderedSet.474, %class.UnorderedSet.474, %"class.std::vector.496", %"class.std::vector.496", %"class.std::vector.496", %"class.std::vector.496", i64, i8, %class.UnorderedSet.474, %class.UnorderedSet.474, %class.UnorderedSet.474 }
%"class.std::vector.496" = type { %"struct.std::_Vector_base.497" }
%"struct.std::_Vector_base.497" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.UnorderedSet.474 = type { %"class.std::unordered_set.476" }
%"class.std::unordered_set.476" = type { %"class.std::_Hashtable.477" }
%"class.std::_Hashtable.477" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%struct.Inlinable = type { ptr, ptr, i8, i8, %"class.std::shared_ptr.815", i64, ptr }
%"class.std::shared_ptr.815" = type { %"class.std::__shared_ptr.816" }
%"class.std::__shared_ptr.816" = type { ptr, %"class.std::__shared_count" }
%class.DexMethod = type { %class.DexMethodRef.base, i8, i32, %"class.std::unique_ptr.693", %"class.std::unique_ptr.701", %"class.std::unique_ptr.709", %"class.std::unique_ptr.717", ptr, %class.ReferencedState }
%class.DexMethodRef.base = type <{ %struct.DexMethodSpec, i8, i8 }>
%struct.DexMethodSpec = type { ptr, ptr, ptr }
%"class.std::unique_ptr.693" = type { %"struct.std::__uniq_ptr_data.694" }
%"struct.std::__uniq_ptr_data.694" = type { %"class.std::__uniq_ptr_impl.695" }
%"class.std::__uniq_ptr_impl.695" = type { %"class.std::tuple.696" }
%"class.std::tuple.696" = type { %"struct.std::_Tuple_impl.697" }
%"struct.std::_Tuple_impl.697" = type { %"struct.std::_Head_base.700" }
%"struct.std::_Head_base.700" = type { ptr }
%"class.std::unique_ptr.701" = type { %"struct.std::__uniq_ptr_data.702" }
%"struct.std::__uniq_ptr_data.702" = type { %"class.std::__uniq_ptr_impl.703" }
%"class.std::__uniq_ptr_impl.703" = type { %"class.std::tuple.704" }
%"class.std::tuple.704" = type { %"struct.std::_Tuple_impl.705" }
%"struct.std::_Tuple_impl.705" = type { %"struct.std::_Head_base.708" }
%"struct.std::_Head_base.708" = type { ptr }
%"class.std::unique_ptr.709" = type { %"struct.std::__uniq_ptr_data.710" }
%"struct.std::__uniq_ptr_data.710" = type { %"class.std::__uniq_ptr_impl.711" }
%"class.std::__uniq_ptr_impl.711" = type { %"class.std::tuple.712" }
%"class.std::tuple.712" = type { %"struct.std::_Tuple_impl.713" }
%"struct.std::_Tuple_impl.713" = type { %"struct.std::_Head_base.716" }
%"struct.std::_Head_base.716" = type { ptr }
%"class.std::unique_ptr.717" = type { %"struct.std::__uniq_ptr_data.718" }
%"struct.std::__uniq_ptr_data.718" = type { %"class.std::__uniq_ptr_impl.719" }
%"class.std::__uniq_ptr_impl.719" = type { %"class.std::tuple.720" }
%"class.std::tuple.720" = type { %"struct.std::_Tuple_impl.721" }
%"struct.std::_Tuple_impl.721" = type { %"struct.std::_Head_base.724" }
%"struct.std::_Head_base.724" = type { ptr }
%class.ReferencedState = type { %"struct.ReferencedState::InnerStruct", i32, %"struct.std::atomic.729" }
%"struct.ReferencedState::InnerStruct" = type <{ i8, i16, %union.anon.725 }>
%union.anon.725 = type { %struct.anon.726 }
%struct.anon.726 = type { i8 }
%"struct.std::atomic.729" = type { %"struct.std::__atomic_base.730" }
%"struct.std::__atomic_base.730" = type { ptr }
%struct.MethodItemEntry = type { %"class.boost::intrusive::list_member_hook", i32, %union.anon.790 }
%"class.boost::intrusive::list_member_hook" = type { %"class.boost::intrusive::generic_hook" }
%"class.boost::intrusive::generic_hook" = type { %"struct.boost::intrusive::list_node" }
%"struct.boost::intrusive::list_node" = type { ptr, ptr }
%union.anon.790 = type { ptr }

@.str.14 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [29 x i8], align 1
@__PRETTY_FUNCTION__._ZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EE = external hidden unnamed_addr constant [90 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [57 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: noreturn
declare void @_Z11assert_failPKcS0_jS0_10RedexErrorS0_z(ptr noundef, ptr noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef, ...) #2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN17AccumulatingTimer5scopeEv(ptr dead_on_unwind noalias writable sret(%"class.AccumulatingTimer::AccumulatingTimerScope") align 8, ptr noundef nonnull align 8 dereferenceable(16)) #3 align 2

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

declare noundef zeroext i1 @_ZNK6IRCode18editable_cfg_builtEv(ptr noundef nonnull align 8 dereferenceable(32)) #5

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

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

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

declare noundef zeroext i1 @_ZN6method7is_initEPK12DexMethodRef(ptr noundef) #5

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i64 @_ZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EE(ptr noundef nonnull align 8 dereferenceable(68736) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(24) %2) #3 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.AccumulatingTimer::AccumulatingTimerScope", align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca i64, align 8
  %12 = alloca %"class.std::vector.731", align 8
  %13 = alloca %"class.__gnu_cxx::__normal_iterator.822", align 8
  %14 = alloca %"class.__gnu_cxx::__normal_iterator.822", align 8
  %15 = alloca %"class.std::allocator.733", align 1
  %16 = alloca i8, align 1
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.823", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator.823", align 8
  %19 = alloca %class.anon.824, align 8
  %20 = alloca %"class.std::vector.825", align 8
  %21 = alloca %"class.boost::optional.830", align 4
  %22 = alloca i32, align 4
  %23 = alloca i64, align 8
  %24 = alloca i64, align 8
  %25 = alloca i64, align 8
  %26 = alloca i64, align 8
  %27 = alloca i64, align 8
  %28 = alloca i64, align 8
  %29 = alloca i64, align 8
  %30 = alloca i64, align 8
  %31 = alloca i64, align 8
  %32 = alloca %"class.std::unique_ptr.831", align 8
  %33 = alloca %class.anon.839, align 8
  %34 = alloca %struct.VisibilityChanges, align 8
  %35 = alloca %class.UnorderedSet.401, align 8
  %36 = alloca i64, align 8
  %37 = alloca i64, align 8
  %38 = alloca ptr, align 8
  %39 = alloca %"class.__gnu_cxx::__normal_iterator.823", align 8
  %40 = alloca %"class.__gnu_cxx::__normal_iterator.823", align 8
  %41 = alloca i32, align 4
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca ptr, align 8
  %48 = alloca %"class.cfg::InstructionIteratorImpl", align 8
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca ptr, align 8
  %52 = alloca ptr, align 8
  %53 = alloca ptr, align 8
  %54 = alloca %"class.std::vector.780", align 8
  %55 = alloca %"class.std::initializer_list", align 8
  %56 = alloca [3 x ptr], align 8
  %57 = alloca %"class.std::allocator.782", align 1
  %58 = alloca %"struct.std::pair.906", align 4
  %59 = alloca i32, align 4
  %60 = alloca i8, align 1
  %61 = alloca i32, align 4
  %62 = alloca %"class.cfg::InstructionIteratorImpl", align 8
  %63 = alloca ptr, align 8
  %64 = alloca i8, align 1
  %65 = alloca i8, align 1
  %66 = alloca %"struct.MultiMethodInliner::InlinableDecision", align 1
  %67 = alloca %"struct.std::pair.906", align 4
  %68 = alloca i8, align 1
  %69 = alloca i32, align 4
  %70 = alloca %"struct.MultiMethodInliner::InlinableDecision", align 1
  %71 = alloca i32, align 4
  %72 = alloca %"struct.MultiMethodInliner::InlinableDecision", align 1
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca i32, align 4
  %75 = alloca %"class.AccumulatingTimer::AccumulatingTimerScope", align 8
  %76 = alloca ptr, align 8
  %77 = alloca i8, align 1
  %78 = alloca i8, align 1
  %79 = alloca i8, align 1
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca i1, align 1
  %82 = alloca i1, align 1
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca i1, align 1
  %85 = alloca i1, align 1
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %struct.VisibilityChanges, align 8
  %88 = alloca %"struct.std::pair.615", align 8
  %89 = alloca ptr, align 8
  %90 = alloca ptr, align 8
  %91 = alloca %"struct.std::pair.911", align 8
  %92 = alloca %"struct.std::pair.911", align 8
  %93 = alloca %"struct.std::pair.914", align 8
  %94 = alloca ptr, align 8
  %95 = alloca %"class.UnorderedSet<DexMethod *>::UnorderedIterable", align 8
  %96 = alloca %"struct.std::__detail::_Node_iterator.617", align 8
  %97 = alloca %"struct.std::__detail::_Node_iterator.617", align 8
  %98 = alloca ptr, align 8
  %99 = alloca %struct.VisibilityChanges, align 8
  %100 = alloca %"class.std::lock_guard", align 8
  %101 = alloca %"class.__gnu_cxx::__normal_iterator.917", align 8
  %102 = alloca %"class.__gnu_cxx::__normal_iterator.917", align 8
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !5
  %103 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %7) #9
  %104 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 42
  call void @_ZN17AccumulatingTimer5scopeEv(ptr dead_on_unwind writable sret(%"class.AccumulatingTimer::AccumulatingTimerScope") align 8 %7, ptr noundef nonnull align 8 dereferenceable(16) %104)
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #9
  %105 = load ptr, ptr %5, align 8, !tbaa !5
  %106 = invoke noundef ptr @_ZN9DexMethod8get_codeEv(ptr noundef nonnull align 8 dereferenceable(88) %105)
          to label %107 unwind label %114

107:                                              ; preds = %3
  store ptr %106, ptr %8, align 8, !tbaa !5
  %108 = load ptr, ptr %8, align 8, !tbaa !5
  %109 = invoke noundef zeroext i1 @_ZNK6IRCode18editable_cfg_builtEv(ptr noundef nonnull align 8 dereferenceable(32) %108)
          to label %110 unwind label %114

110:                                              ; preds = %107
  br i1 %109, label %111, label %112

111:                                              ; preds = %110
  br label %119

112:                                              ; preds = %110
  invoke void (ptr, ptr, i32, ptr, i32, ptr, ...) @_Z11assert_failPKcS0_jS0_10RedexErrorS0_z(ptr noundef @.str.23, ptr noundef @.str.14, i32 noundef 662, ptr noundef @__PRETTY_FUNCTION__._ZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EE, i32 noundef 2, ptr noundef @.str.15) #10
          to label %113 unwind label %114

113:                                              ; preds = %112
  unreachable

114:                                              ; preds = %112, %107, %3
  %115 = landingpad { ptr, i32 }
          cleanup
  %116 = extractvalue { ptr, i32 } %115, 0
  store ptr %116, ptr %9, align 8
  %117 = extractvalue { ptr, i32 } %115, 1
  store i32 %117, ptr %10, align 4
  br label %1324

118:                                              ; No predecessors!
  br label %119

119:                                              ; preds = %118, %111
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #9
  %120 = load ptr, ptr %8, align 8, !tbaa !5
  %121 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %120)
          to label %122 unwind label %176

122:                                              ; preds = %119
  %123 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph19estimate_code_unitsEv(ptr noundef nonnull align 8 dereferenceable(160) %121)
          to label %124 unwind label %176

124:                                              ; preds = %122
  %125 = zext i32 %123 to i64
  store i64 %125, ptr %11, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #9
  %126 = load ptr, ptr %6, align 8, !tbaa !5
  %127 = call ptr @_ZNKSt6vectorI9InlinableSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %126) #9
  %128 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.822", ptr %13, i32 0, i32 0
  store ptr %127, ptr %128, align 8
  %129 = load ptr, ptr %6, align 8, !tbaa !5
  %130 = call ptr @_ZNKSt6vectorI9InlinableSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %129) #9
  %131 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.822", ptr %14, i32 0, i32 0
  store ptr %130, ptr %131, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #9
  call void @_ZNSaI9InlinableEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  %132 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.822", ptr %13, i32 0, i32 0
  %133 = load ptr, ptr %132, align 8
  %134 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.822", ptr %14, i32 0, i32 0
  %135 = load ptr, ptr %134, align 8
  invoke void @_ZNSt6vectorI9InlinableSaIS0_EEC2IN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEvEET_S9_RKS1_(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr %133, ptr %135, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %136 unwind label %180

136:                                              ; preds = %124
  call void @_ZNSt15__new_allocatorI9InlinableED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #9
  %137 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 48
  %138 = load i8, ptr %137, align 1, !tbaa !11, !range !221, !noundef !222
  %139 = trunc i8 %138 to i1
  br i1 %139, label %140, label %145

140:                                              ; preds = %136
  %141 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 3
  %142 = invoke noundef i64 @_ZNK19ConcurrentContainerISt13unordered_setIPK9DexMethodSt4hashIS3_ESt8equal_toIS3_ESaIS3_EELm83EE12count_unsafeERKS3_(ptr noundef nonnull align 8 dereferenceable(2664) %141, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %143 unwind label %184

143:                                              ; preds = %140
  %144 = icmp ne i64 %142, 0
  br label %145

145:                                              ; preds = %143, %136
  %146 = phi i1 [ false, %136 ], [ %144, %143 ]
  %147 = zext i1 %146 to i8
  store i8 %147, ptr %16, align 1, !tbaa !223
  %148 = call ptr @_ZNSt6vectorI9InlinableSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  %149 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.823", ptr %17, i32 0, i32 0
  store ptr %148, ptr %149, align 8
  %150 = call ptr @_ZNSt6vectorI9InlinableSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  %151 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.823", ptr %18, i32 0, i32 0
  store ptr %150, ptr %151, align 8
  %152 = getelementptr inbounds %class.anon.824, ptr %19, i32 0, i32 0
  store ptr %16, ptr %152, align 8, !tbaa !5
  %153 = getelementptr inbounds %class.anon.824, ptr %19, i32 0, i32 1
  store ptr %103, ptr %153, align 8, !tbaa !224
  %154 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.823", ptr %17, i32 0, i32 0
  %155 = load ptr, ptr %154, align 8
  %156 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.823", ptr %18, i32 0, i32 0
  %157 = load ptr, ptr %156, align 8
  %158 = getelementptr inbounds { ptr, ptr }, ptr %19, i32 0, i32 0
  %159 = load ptr, ptr %158, align 8
  %160 = getelementptr inbounds { ptr, ptr }, ptr %19, i32 0, i32 1
  %161 = load ptr, ptr %160, align 8
  invoke void @"_ZSt11stable_sortIN9__gnu_cxx17__normal_iteratorIP9InlinableSt6vectorIS2_SaIS2_EEEEZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKS6_E3$_0EvT_SE_T0_"(ptr %155, ptr %157, ptr %159, ptr %161)
          to label %162 unwind label %184

162:                                              ; preds = %145
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #9
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #9
  call void @_ZN5boost8optionalIjEC2Ev(ptr noundef nonnull align 4 dereferenceable(8) %21) #9
  %163 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %164 = load ptr, ptr %163, align 8, !tbaa !226
  %165 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %164, i32 0, i32 15
  %166 = load i8, ptr %165, align 1, !tbaa !227, !range !221, !noundef !222
  %167 = trunc i8 %166 to i1
  br i1 %167, label %192, label %168

168:                                              ; preds = %162
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #9
  %169 = load ptr, ptr %8, align 8, !tbaa !5
  %170 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %169)
          to label %171 unwind label %188

171:                                              ; preds = %168
  %172 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %170)
          to label %173 unwind label %188

173:                                              ; preds = %171
  store i32 %172, ptr %22, align 4, !tbaa !237
  %174 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %21, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %175 unwind label %188

175:                                              ; preds = %173
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  br label %192

176:                                              ; preds = %122, %119
  %177 = landingpad { ptr, i32 }
          cleanup
  %178 = extractvalue { ptr, i32 } %177, 0
  store ptr %178, ptr %9, align 8
  %179 = extractvalue { ptr, i32 } %177, 1
  store i32 %179, ptr %10, align 4
  br label %1323

180:                                              ; preds = %124
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %9, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %10, align 4
  call void @_ZNSt15__new_allocatorI9InlinableED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #9
  br label %1322

184:                                              ; preds = %145, %140
  %185 = landingpad { ptr, i32 }
          cleanup
  %186 = extractvalue { ptr, i32 } %185, 0
  store ptr %186, ptr %9, align 8
  %187 = extractvalue { ptr, i32 } %185, 1
  store i32 %187, ptr %10, align 4
  br label %1321

188:                                              ; preds = %173, %171, %168
  %189 = landingpad { ptr, i32 }
          cleanup
  %190 = extractvalue { ptr, i32 } %189, 0
  store ptr %190, ptr %9, align 8
  %191 = extractvalue { ptr, i32 } %189, 1
  store i32 %191, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  br label %1320

192:                                              ; preds = %175, %162
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #9
  store i64 0, ptr %23, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #9
  store i64 0, ptr %24, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #9
  store i64 0, ptr %25, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #9
  store i64 0, ptr %26, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #9
  store i64 0, ptr %27, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #9
  store i64 0, ptr %28, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #9
  store i64 0, ptr %29, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #9
  store i64 0, ptr %30, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #9
  store i64 0, ptr %31, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #9
  call void @_ZNSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EEC2ISA_vEEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #9
  %193 = getelementptr inbounds %class.anon.839, ptr %33, i32 0, i32 0
  %194 = load ptr, ptr %8, align 8, !tbaa !5
  store ptr %194, ptr %193, align 8, !tbaa !238
  %195 = getelementptr inbounds %class.anon.839, ptr %33, i32 0, i32 1
  store ptr %32, ptr %195, align 8, !tbaa !5
  %196 = getelementptr inbounds %class.anon.839, ptr %33, i32 0, i32 2
  store ptr %12, ptr %196, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 168, ptr %34) #9
  invoke void @_ZN17VisibilityChangesC2Ev(ptr noundef nonnull align 8 dereferenceable(168) %34)
          to label %197 unwind label %208

197:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 56, ptr %35) #9
  invoke void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %35)
          to label %198 unwind label %212

198:                                              ; preds = %197
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #9
  store i64 0, ptr %36, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #9
  store i64 0, ptr %37, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #9
  store ptr %12, ptr %38, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #9
  %199 = load ptr, ptr %38, align 8, !tbaa !5
  %200 = call ptr @_ZNSt6vectorI9InlinableSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %199) #9
  %201 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.823", ptr %39, i32 0, i32 0
  store ptr %200, ptr %201, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #9
  %202 = load ptr, ptr %38, align 8, !tbaa !5
  %203 = call ptr @_ZNSt6vectorI9InlinableSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %202) #9
  %204 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.823", ptr %40, i32 0, i32 0
  store ptr %203, ptr %204, align 8
  br label %205

205:                                              ; preds = %1125, %198
  %206 = call noundef zeroext i1 @_ZN9__gnu_cxxneIP9InlinableSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %40) #9
  br i1 %206, label %216, label %207

207:                                              ; preds = %205
  store i32 2, ptr %41, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #9
  br label %1135

208:                                              ; preds = %192
  %209 = landingpad { ptr, i32 }
          cleanup
  %210 = extractvalue { ptr, i32 } %209, 0
  store ptr %210, ptr %9, align 8
  %211 = extractvalue { ptr, i32 } %209, 1
  store i32 %211, ptr %10, align 4
  br label %1319

212:                                              ; preds = %197
  %213 = landingpad { ptr, i32 }
          cleanup
  %214 = extractvalue { ptr, i32 } %213, 0
  store ptr %214, ptr %9, align 8
  %215 = extractvalue { ptr, i32 } %213, 1
  store i32 %215, ptr %10, align 4
  br label %1318

216:                                              ; preds = %205
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #9
  %217 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP9InlinableSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %39) #9
  store ptr %217, ptr %42, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #9
  %218 = load ptr, ptr %42, align 8, !tbaa !5
  %219 = getelementptr inbounds %struct.Inlinable, ptr %218, i32 0, i32 0
  %220 = load ptr, ptr %219, align 8, !tbaa !240
  store ptr %220, ptr %43, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #9
  %221 = load ptr, ptr %42, align 8, !tbaa !5
  %222 = getelementptr inbounds %struct.Inlinable, ptr %221, i32 0, i32 4
  store ptr %222, ptr %44, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #9
  %223 = load ptr, ptr %44, align 8, !tbaa !5
  %224 = call noundef zeroext i1 @_ZNKSt12__shared_ptrI11ReducedCodeLN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %223) #9
  br i1 %224, label %225, label %230

225:                                              ; preds = %216
  %226 = load ptr, ptr %44, align 8, !tbaa !5
  %227 = call noundef ptr @_ZNKSt19__shared_ptr_accessI11ReducedCodeLN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %226) #9
  %228 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN11ReducedCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %227)
          to label %229 unwind label %250

229:                                              ; preds = %225
  br label %231

230:                                              ; preds = %216
  br label %231

231:                                              ; preds = %230, %229
  %232 = phi ptr [ %228, %229 ], [ null, %230 ]
  store ptr %232, ptr %45, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #9
  %233 = load ptr, ptr %42, align 8, !tbaa !5
  %234 = getelementptr inbounds %struct.Inlinable, ptr %233, i32 0, i32 1
  %235 = load ptr, ptr %234, align 8, !tbaa !244
  store ptr %235, ptr %46, align 8, !tbaa !5
  %236 = call noundef zeroext i1 @_ZNKSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EEcvbEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  br i1 %236, label %237, label %259

237:                                              ; preds = %231
  %238 = call noundef ptr @_ZNKSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  %239 = invoke noundef i64 @_ZNK12UnorderedSetIPK13IRInstructionSt4hashIS2_ESt8equal_toIS2_EE5countERKS2_(ptr noundef nonnull align 8 dereferenceable(56) %238, ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %240 unwind label %254

240:                                              ; preds = %237
  %241 = icmp ne i64 %239, 0
  br i1 %241, label %259, label %242

242:                                              ; preds = %240
  %243 = load ptr, ptr %42, align 8, !tbaa !5
  %244 = getelementptr inbounds %struct.Inlinable, ptr %243, i32 0, i32 2
  %245 = load i8, ptr %244, align 8, !tbaa !245, !range !221, !noundef !222
  %246 = trunc i8 %245 to i1
  br i1 %246, label %258, label %247

247:                                              ; preds = %242
  %248 = load i64, ptr %24, align 8, !tbaa !9
  %249 = add i64 %248, 1
  store i64 %249, ptr %24, align 8, !tbaa !9
  br label %258

250:                                              ; preds = %225
  %251 = landingpad { ptr, i32 }
          cleanup
  %252 = extractvalue { ptr, i32 } %251, 0
  store ptr %252, ptr %9, align 8
  %253 = extractvalue { ptr, i32 } %251, 1
  store i32 %253, ptr %10, align 4
  br label %1134

254:                                              ; preds = %458, %270, %237
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %9, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %10, align 4
  br label %1133

258:                                              ; preds = %247, %242
  store i32 3, ptr %41, align 4
  br label %1119

259:                                              ; preds = %240, %231
  %260 = load ptr, ptr %42, align 8, !tbaa !5
  %261 = getelementptr inbounds %struct.Inlinable, ptr %260, i32 0, i32 2
  %262 = load i8, ptr %261, align 8, !tbaa !245, !range !221, !noundef !222
  %263 = trunc i8 %262 to i1
  br i1 %263, label %264, label %458

264:                                              ; preds = %259
  %265 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %266 = load ptr, ptr %265, align 8, !tbaa !226
  %267 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %266, i32 0, i32 7
  %268 = load i8, ptr %267, align 1, !tbaa !246, !range !221, !noundef !222
  %269 = trunc i8 %268 to i1
  br i1 %269, label %270, label %275

270:                                              ; preds = %264
  %271 = load ptr, ptr %5, align 8, !tbaa !5
  %272 = getelementptr inbounds %class.DexMethod, ptr %271, i32 0, i32 8
  %273 = invoke noundef zeroext i1 @_ZNK15ReferencedState16no_optimizationsEv(ptr noundef nonnull align 8 dereferenceable(16) %272)
          to label %274 unwind label %254

274:                                              ; preds = %270
  br i1 %273, label %275, label %276

275:                                              ; preds = %274, %264
  store i32 3, ptr %41, align 4
  br label %1119

276:                                              ; preds = %274
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #9
  %277 = load ptr, ptr %8, align 8, !tbaa !5
  %278 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %277)
          to label %279 unwind label %297

279:                                              ; preds = %276
  store ptr %278, ptr %47, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #9
  %280 = load ptr, ptr %47, align 8, !tbaa !5
  %281 = load ptr, ptr %46, align 8, !tbaa !5
  invoke void @_ZN3cfg16ControlFlowGraph9find_insnEP13IRInstructionPNS_5BlockE(ptr dead_on_unwind writable sret(%"class.cfg::InstructionIteratorImpl") align 8 %48, ptr noundef nonnull align 8 dereferenceable(160) %280, ptr noundef %281, ptr noundef null)
          to label %282 unwind label %301

282:                                              ; preds = %279
  %283 = invoke noundef zeroext i1 @_ZNK3cfg23InstructionIteratorImplILb0EE6is_endEv(ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %284 unwind label %301

284:                                              ; preds = %282
  br i1 %283, label %455, label %285

285:                                              ; preds = %284
  %286 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %287 = load ptr, ptr %286, align 8, !tbaa !226
  %288 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %287, i32 0, i32 15
  %289 = load i8, ptr %288, align 1, !tbaa !227, !range !221, !noundef !222
  %290 = trunc i8 %289 to i1
  br i1 %290, label %291, label %309

291:                                              ; preds = %285
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  %292 = load ptr, ptr %47, align 8, !tbaa !5
  %293 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %292)
          to label %294 unwind label %305

294:                                              ; preds = %291
  store i32 %293, ptr %49, align 4, !tbaa !237
  %295 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %21, ptr noundef nonnull align 4 dereferenceable(4) %49)
          to label %296 unwind label %305

296:                                              ; preds = %294
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %309

297:                                              ; preds = %276
  %298 = landingpad { ptr, i32 }
          cleanup
  %299 = extractvalue { ptr, i32 } %298, 0
  store ptr %299, ptr %9, align 8
  %300 = extractvalue { ptr, i32 } %298, 1
  store i32 %300, ptr %10, align 4
  br label %457

301:                                              ; preds = %282, %279
  %302 = landingpad { ptr, i32 }
          cleanup
  %303 = extractvalue { ptr, i32 } %302, 0
  store ptr %303, ptr %9, align 8
  %304 = extractvalue { ptr, i32 } %302, 1
  store i32 %304, ptr %10, align 4
  br label %456

305:                                              ; preds = %294, %291
  %306 = landingpad { ptr, i32 }
          cleanup
  %307 = extractvalue { ptr, i32 } %306, 0
  store ptr %307, ptr %9, align 8
  %308 = extractvalue { ptr, i32 } %306, 1
  store i32 %308, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %456

309:                                              ; preds = %296, %285
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #9
  %310 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNR5boost8optionalIjEdeEv(ptr noundef nonnull align 4 dereferenceable(8) %21)
          to label %311 unwind label %323

311:                                              ; preds = %309
  %312 = load i32, ptr %310, align 4, !tbaa !237
  store i32 %312, ptr %50, align 4, !tbaa !237
  %313 = load i32, ptr %50, align 4, !tbaa !237
  %314 = load ptr, ptr %47, align 8, !tbaa !5
  %315 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %314)
          to label %316 unwind label %323

316:                                              ; preds = %311
  %317 = icmp uge i32 %313, %315
  br i1 %317, label %318, label %327

318:                                              ; preds = %316
  %319 = load ptr, ptr %47, align 8, !tbaa !5
  %320 = load i32, ptr %50, align 4, !tbaa !237
  %321 = add i32 %320, 1
  invoke void @_ZN3cfg16ControlFlowGraph18set_registers_sizeEj(ptr noundef nonnull align 8 dereferenceable(160) %319, i32 noundef %321)
          to label %322 unwind label %323

322:                                              ; preds = %318
  br label %327

323:                                              ; preds = %318, %311, %309
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %9, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %10, align 4
  br label %454

327:                                              ; preds = %322, %316
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #9
  %328 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #11
          to label %329 unwind label %388

329:                                              ; preds = %327
  %330 = invoke noundef ptr @_ZNK3cfg23InstructionIteratorImplILb0EEptEv(ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %331 unwind label %392

331:                                              ; preds = %329
  %332 = getelementptr inbounds %struct.MethodItemEntry, ptr %330, i32 0, i32 2
  %333 = load ptr, ptr %332, align 8, !tbaa !247
  invoke void @_ZN13IRInstructionC1ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %328, ptr noundef nonnull align 8 dereferenceable(32) %333)
          to label %334 unwind label %392

334:                                              ; preds = %331
  store ptr %328, ptr %51, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #9
  %335 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #11
          to label %336 unwind label %396

336:                                              ; preds = %334
  invoke void @_ZN13IRInstructionC1E8IROpcode(ptr noundef nonnull align 8 dereferenceable(32) %335, i16 noundef zeroext 168)
          to label %337 unwind label %400

337:                                              ; preds = %336
  %338 = load i32, ptr %50, align 4, !tbaa !237
  %339 = invoke noundef ptr @_ZN13IRInstruction8set_destEj(ptr noundef nonnull align 8 dereferenceable(32) %335, i32 noundef %338)
          to label %340 unwind label %396

340:                                              ; preds = %337
  store ptr %339, ptr %52, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #9
  %341 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #11
          to label %342 unwind label %404

342:                                              ; preds = %340
  invoke void @_ZN13IRInstructionC1E8IROpcode(ptr noundef nonnull align 8 dereferenceable(32) %341, i16 noundef zeroext 25)
          to label %343 unwind label %408

343:                                              ; preds = %342
  %344 = load i32, ptr %50, align 4, !tbaa !237
  %345 = invoke noundef ptr @_ZN13IRInstruction7set_srcEtj(ptr noundef nonnull align 8 dereferenceable(32) %341, i16 noundef zeroext 0, i32 noundef %344)
          to label %346 unwind label %404

346:                                              ; preds = %343
  store ptr %345, ptr %53, align 8, !tbaa !5
  %347 = load ptr, ptr %47, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %56) #9
  %348 = load ptr, ptr %51, align 8, !tbaa !5
  store ptr %348, ptr %56, align 8, !tbaa !5
  %349 = getelementptr inbounds ptr, ptr %56, i64 1
  %350 = load ptr, ptr %52, align 8, !tbaa !5
  store ptr %350, ptr %349, align 8, !tbaa !5
  %351 = getelementptr inbounds ptr, ptr %56, i64 2
  %352 = load ptr, ptr %53, align 8, !tbaa !5
  store ptr %352, ptr %351, align 8, !tbaa !5
  %353 = getelementptr inbounds %"class.std::initializer_list", ptr %55, i32 0, i32 0
  store ptr %56, ptr %353, align 8, !tbaa !248
  %354 = getelementptr inbounds %"class.std::initializer_list", ptr %55, i32 0, i32 1
  store i64 3, ptr %354, align 8, !tbaa !250
  call void @llvm.lifetime.start.p0(i64 1, ptr %57) #9
  call void @_ZNSaIP13IRInstructionEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #9
  %355 = getelementptr inbounds { ptr, i64 }, ptr %55, i32 0, i32 0
  %356 = load ptr, ptr %355, align 8
  %357 = getelementptr inbounds { ptr, i64 }, ptr %55, i32 0, i32 1
  %358 = load i64, ptr %357, align 8
  invoke void @_ZNSt6vectorIP13IRInstructionSaIS1_EEC2ESt16initializer_listIS1_ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr %356, i64 %358, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %359 unwind label %412

359:                                              ; preds = %346
  %360 = invoke noundef zeroext i1 @_ZN3cfg16ControlFlowGraph13replace_insnsERKNS_23InstructionIteratorImplILb0EEERKSt6vectorIP13IRInstructionSaIS7_EE(ptr noundef nonnull align 8 dereferenceable(160) %347, ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %361 unwind label %416

361:                                              ; preds = %359
  call void @_ZNSt6vectorIP13IRInstructionSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  call void @_ZNSt15__new_allocatorIP13IRInstructionED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #9
  %362 = load ptr, ptr %47, align 8, !tbaa !5
  %363 = invoke i64 @_ZN3cfg16ControlFlowGraph25remove_unreachable_blocksEv(ptr noundef nonnull align 8 dereferenceable(160) %362)
          to label %364 unwind label %421

364:                                              ; preds = %361
  %365 = trunc i64 %363 to i40
  store i40 %365, ptr %58, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  %366 = getelementptr inbounds %"struct.std::pair.906", ptr %58, i32 0, i32 0
  %367 = load i32, ptr %366, align 4, !tbaa !251
  store i32 %367, ptr %59, align 4, !tbaa !237
  call void @llvm.lifetime.start.p0(i64 1, ptr %60) #9
  %368 = getelementptr inbounds %"struct.std::pair.906", ptr %58, i32 0, i32 1
  %369 = load i8, ptr %368, align 4, !tbaa !253, !range !221, !noundef !222
  %370 = trunc i8 %369 to i1
  %371 = zext i1 %370 to i8
  store i8 %371, ptr %60, align 1, !tbaa !223
  %372 = load i8, ptr %60, align 1, !tbaa !223, !range !221, !noundef !222
  %373 = trunc i8 %372 to i1
  br i1 %373, label %374, label %433

374:                                              ; preds = %364
  %375 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %376 = load ptr, ptr %375, align 8, !tbaa !226
  %377 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %376, i32 0, i32 15
  %378 = load i8, ptr %377, align 1, !tbaa !227, !range !221, !noundef !222
  %379 = trunc i8 %378 to i1
  br i1 %379, label %380, label %433

380:                                              ; preds = %374
  %381 = load ptr, ptr %47, align 8, !tbaa !5
  invoke void @_ZN3cfg16ControlFlowGraph24recompute_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %381)
          to label %382 unwind label %425

382:                                              ; preds = %380
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  %383 = load ptr, ptr %47, align 8, !tbaa !5
  %384 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %383)
          to label %385 unwind label %429

385:                                              ; preds = %382
  store i32 %384, ptr %61, align 4, !tbaa !237
  %386 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %21, ptr noundef nonnull align 4 dereferenceable(4) %61)
          to label %387 unwind label %429

387:                                              ; preds = %385
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %433

388:                                              ; preds = %327
  %389 = landingpad { ptr, i32 }
          cleanup
  %390 = extractvalue { ptr, i32 } %389, 0
  store ptr %390, ptr %9, align 8
  %391 = extractvalue { ptr, i32 } %389, 1
  store i32 %391, ptr %10, align 4
  br label %453

392:                                              ; preds = %331, %329
  %393 = landingpad { ptr, i32 }
          cleanup
  %394 = extractvalue { ptr, i32 } %393, 0
  store ptr %394, ptr %9, align 8
  %395 = extractvalue { ptr, i32 } %393, 1
  store i32 %395, ptr %10, align 4
  call void @_ZdlPvm(ptr noundef %328, i64 noundef 32) #12
  br label %453

396:                                              ; preds = %337, %334
  %397 = landingpad { ptr, i32 }
          cleanup
  %398 = extractvalue { ptr, i32 } %397, 0
  store ptr %398, ptr %9, align 8
  %399 = extractvalue { ptr, i32 } %397, 1
  store i32 %399, ptr %10, align 4
  br label %452

400:                                              ; preds = %336
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %9, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %10, align 4
  call void @_ZdlPvm(ptr noundef %335, i64 noundef 32) #12
  br label %452

404:                                              ; preds = %343, %340
  %405 = landingpad { ptr, i32 }
          cleanup
  %406 = extractvalue { ptr, i32 } %405, 0
  store ptr %406, ptr %9, align 8
  %407 = extractvalue { ptr, i32 } %405, 1
  store i32 %407, ptr %10, align 4
  br label %451

408:                                              ; preds = %342
  %409 = landingpad { ptr, i32 }
          cleanup
  %410 = extractvalue { ptr, i32 } %409, 0
  store ptr %410, ptr %9, align 8
  %411 = extractvalue { ptr, i32 } %409, 1
  store i32 %411, ptr %10, align 4
  call void @_ZdlPvm(ptr noundef %341, i64 noundef 32) #12
  br label %451

412:                                              ; preds = %346
  %413 = landingpad { ptr, i32 }
          cleanup
  %414 = extractvalue { ptr, i32 } %413, 0
  store ptr %414, ptr %9, align 8
  %415 = extractvalue { ptr, i32 } %413, 1
  store i32 %415, ptr %10, align 4
  br label %420

416:                                              ; preds = %359
  %417 = landingpad { ptr, i32 }
          cleanup
  %418 = extractvalue { ptr, i32 } %417, 0
  store ptr %418, ptr %9, align 8
  %419 = extractvalue { ptr, i32 } %417, 1
  store i32 %419, ptr %10, align 4
  call void @_ZNSt6vectorIP13IRInstructionSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  br label %420

420:                                              ; preds = %416, %412
  call void @_ZNSt15__new_allocatorIP13IRInstructionED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #9
  br label %451

421:                                              ; preds = %361
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %9, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %10, align 4
  br label %450

425:                                              ; preds = %442, %436, %380
  %426 = landingpad { ptr, i32 }
          cleanup
  %427 = extractvalue { ptr, i32 } %426, 0
  store ptr %427, ptr %9, align 8
  %428 = extractvalue { ptr, i32 } %426, 1
  store i32 %428, ptr %10, align 4
  br label %449

429:                                              ; preds = %385, %382
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %9, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %449

433:                                              ; preds = %387, %374, %364
  %434 = load i32, ptr %59, align 4, !tbaa !237
  %435 = icmp ne i32 %434, 0
  br i1 %435, label %436, label %442

436:                                              ; preds = %433
  %437 = load i32, ptr %59, align 4, !tbaa !237
  %438 = zext i32 %437 to i64
  %439 = load i64, ptr %26, align 8, !tbaa !9
  %440 = add i64 %439, %438
  store i64 %440, ptr %26, align 8, !tbaa !9
  invoke void @"_ZZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %441 unwind label %425

441:                                              ; preds = %436
  br label %442

442:                                              ; preds = %441, %433
  %443 = load ptr, ptr %47, align 8, !tbaa !5
  %444 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph19estimate_code_unitsEv(ptr noundef nonnull align 8 dereferenceable(160) %443)
          to label %445 unwind label %425

445:                                              ; preds = %442
  %446 = zext i32 %444 to i64
  store i64 %446, ptr %11, align 8, !tbaa !9
  %447 = load i64, ptr %25, align 8, !tbaa !9
  %448 = add i64 %447, 1
  store i64 %448, ptr %25, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %455

449:                                              ; preds = %429, %425
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br label %450

450:                                              ; preds = %449, %421
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #9
  br label %451

451:                                              ; preds = %450, %420, %408, %404
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #9
  br label %452

452:                                              ; preds = %451, %400, %396
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  br label %453

453:                                              ; preds = %452, %392, %388
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #9
  br label %454

454:                                              ; preds = %453, %323
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %456

455:                                              ; preds = %445, %284
  store i32 3, ptr %41, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  br label %1119

456:                                              ; preds = %454, %305, %301
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #9
  br label %457

457:                                              ; preds = %456, %297
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  br label %1133

458:                                              ; preds = %259
  %459 = invoke noundef zeroext i1 @_ZNK18MultiMethodInliner9for_speedEv(ptr noundef nonnull align 8 dereferenceable(68736) %103)
          to label %460 unwind label %254

460:                                              ; preds = %458
  br i1 %459, label %461, label %502

461:                                              ; preds = %460
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #9
  %462 = load ptr, ptr %8, align 8, !tbaa !5
  %463 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %462)
          to label %464 unwind label %485

464:                                              ; preds = %461
  %465 = load ptr, ptr %46, align 8, !tbaa !5
  invoke void @_ZN3cfg16ControlFlowGraph9find_insnEP13IRInstructionPNS_5BlockE(ptr dead_on_unwind writable sret(%"class.cfg::InstructionIteratorImpl") align 8 %62, ptr noundef nonnull align 8 dereferenceable(160) %463, ptr noundef %465, ptr noundef null)
          to label %466 unwind label %485

466:                                              ; preds = %464
  %467 = invoke noundef zeroext i1 @_ZNK3cfg23InstructionIteratorImplILb0EE6is_endEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %468 unwind label %485

468:                                              ; preds = %466
  br i1 %467, label %497, label %469

469:                                              ; preds = %468
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #9
  %470 = invoke noundef ptr @_ZNK3cfg23InstructionIteratorImplILb0EE5blockEv(ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %471 unwind label %489

471:                                              ; preds = %469
  store ptr %470, ptr %63, align 8, !tbaa !5
  %472 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 35
  %473 = load ptr, ptr %472, align 8, !tbaa !254
  %474 = load ptr, ptr %5, align 8, !tbaa !5
  %475 = load ptr, ptr %43, align 8, !tbaa !5
  %476 = load ptr, ptr %63, align 8, !tbaa !5
  %477 = load ptr, ptr %473, align 8, !tbaa !255
  %478 = getelementptr inbounds ptr, ptr %477, i64 3
  %479 = load ptr, ptr %478, align 8
  %480 = invoke noundef zeroext i1 %479(ptr noundef nonnull align 8 dereferenceable(8) %473, ptr noundef %474, ptr noundef %475, ptr noundef %476)
          to label %481 unwind label %489

481:                                              ; preds = %471
  br i1 %480, label %493, label %482

482:                                              ; preds = %481
  %483 = load i64, ptr %23, align 8, !tbaa !9
  %484 = add i64 %483, 1
  store i64 %484, ptr %23, align 8, !tbaa !9
  store i32 3, ptr %41, align 4
  br label %494

485:                                              ; preds = %466, %464, %461
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %9, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %10, align 4
  br label %501

489:                                              ; preds = %471, %469
  %490 = landingpad { ptr, i32 }
          cleanup
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %9, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #9
  br label %501

493:                                              ; preds = %481
  store i32 0, ptr %41, align 4
  br label %494

494:                                              ; preds = %493, %482
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #9
  %495 = load i32, ptr %41, align 4
  switch i32 %495, label %498 [
    i32 0, label %496
  ]

496:                                              ; preds = %494
  br label %497

497:                                              ; preds = %496, %468
  store i32 0, ptr %41, align 4
  br label %498

498:                                              ; preds = %497, %494
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #9
  %499 = load i32, ptr %41, align 4
  switch i32 %499, label %1119 [
    i32 0, label %500
  ]

500:                                              ; preds = %498
  br label %502

501:                                              ; preds = %489, %485
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #9
  br label %1133

502:                                              ; preds = %500, %460
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #9
  %503 = load ptr, ptr %5, align 8, !tbaa !5
  %504 = load ptr, ptr %43, align 8, !tbaa !5
  %505 = load ptr, ptr %45, align 8, !tbaa !5
  %506 = load ptr, ptr %46, align 8, !tbaa !5
  %507 = load i64, ptr %11, align 8, !tbaa !9
  %508 = load ptr, ptr %42, align 8, !tbaa !5
  %509 = getelementptr inbounds %struct.Inlinable, ptr %508, i32 0, i32 5
  %510 = load i64, ptr %509, align 8, !tbaa !257
  %511 = invoke i8 @_ZN18MultiMethodInliner12is_inlinableEPK9DexMethodS2_PKN3cfg16ControlFlowGraphEPK13IRInstructionmmPb(ptr noundef nonnull align 8 dereferenceable(68736) %103, ptr noundef %503, ptr noundef %504, ptr noundef %505, ptr noundef %506, i64 noundef %507, i64 noundef %510, ptr noundef %64)
          to label %512 unwind label %566

512:                                              ; preds = %502
  %513 = getelementptr inbounds %"struct.MultiMethodInliner::InlinableDecision", ptr %66, i32 0, i32 0
  store i8 %511, ptr %513, align 1
  %514 = invoke noundef zeroext i1 @_ZNK18MultiMethodInliner17InlinableDecisioncvbEv(ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %515 unwind label %566

515:                                              ; preds = %512
  %516 = xor i1 %514, true
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #9
  %517 = zext i1 %516 to i8
  store i8 %517, ptr %65, align 1, !tbaa !223
  %518 = load i8, ptr %65, align 1, !tbaa !223, !range !221, !noundef !222
  %519 = trunc i8 %518 to i1
  br i1 %519, label %520, label %691

520:                                              ; preds = %515
  %521 = load i8, ptr %64, align 1, !tbaa !223, !range !221, !noundef !222
  %522 = trunc i8 %521 to i1
  br i1 %522, label %523, label %691

523:                                              ; preds = %520
  %524 = call noundef i64 @_ZNKSt6vectorIP9DexMethodSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  %525 = load i64, ptr %31, align 8, !tbaa !9
  %526 = icmp ugt i64 %524, %525
  br i1 %526, label %527, label %691

527:                                              ; preds = %523
  %528 = load i64, ptr %30, align 8, !tbaa !9
  %529 = add i64 %528, 1
  store i64 %529, ptr %30, align 8, !tbaa !9
  %530 = call noundef i64 @_ZNKSt6vectorIP9DexMethodSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  store i64 %530, ptr %31, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #9
  %531 = load ptr, ptr %8, align 8, !tbaa !5
  %532 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %531)
          to label %533 unwind label %570

533:                                              ; preds = %527
  %534 = invoke i64 @_ZN3cfg16ControlFlowGraph25remove_unreachable_blocksEv(ptr noundef nonnull align 8 dereferenceable(160) %532)
          to label %535 unwind label %570

535:                                              ; preds = %533
  %536 = trunc i64 %534 to i40
  store i40 %536, ptr %67, align 4
  %537 = getelementptr inbounds %"struct.std::pair.906", ptr %67, i32 0, i32 0
  %538 = load i32, ptr %537, align 4, !tbaa !251
  %539 = zext i32 %538 to i64
  %540 = load i64, ptr %26, align 8, !tbaa !9
  %541 = add i64 %540, %539
  store i64 %541, ptr %26, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #9
  %542 = getelementptr inbounds %"struct.std::pair.906", ptr %67, i32 0, i32 1
  %543 = load i8, ptr %542, align 4, !tbaa !253, !range !221, !noundef !222
  %544 = trunc i8 %543 to i1
  %545 = zext i1 %544 to i8
  store i8 %545, ptr %68, align 1, !tbaa !223
  %546 = load i8, ptr %68, align 1, !tbaa !223, !range !221, !noundef !222
  %547 = trunc i8 %546 to i1
  br i1 %547, label %548, label %582

548:                                              ; preds = %535
  %549 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %550 = load ptr, ptr %549, align 8, !tbaa !226
  %551 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %550, i32 0, i32 15
  %552 = load i8, ptr %551, align 1, !tbaa !227, !range !221, !noundef !222
  %553 = trunc i8 %552 to i1
  br i1 %553, label %554, label %582

554:                                              ; preds = %548
  %555 = load ptr, ptr %8, align 8, !tbaa !5
  %556 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %555)
          to label %557 unwind label %574

557:                                              ; preds = %554
  invoke void @_ZN3cfg16ControlFlowGraph24recompute_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %556)
          to label %558 unwind label %574

558:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #9
  %559 = load ptr, ptr %8, align 8, !tbaa !5
  %560 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %559)
          to label %561 unwind label %578

561:                                              ; preds = %558
  %562 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %560)
          to label %563 unwind label %578

563:                                              ; preds = %561
  store i32 %562, ptr %69, align 4, !tbaa !237
  %564 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %21, ptr noundef nonnull align 4 dereferenceable(4) %69)
          to label %565 unwind label %578

565:                                              ; preds = %563
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #9
  br label %582

566:                                              ; preds = %512, %502
  %567 = landingpad { ptr, i32 }
          cleanup
  %568 = extractvalue { ptr, i32 } %567, 0
  store ptr %568, ptr %9, align 8
  %569 = extractvalue { ptr, i32 } %567, 1
  store i32 %569, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #9
  br label %1132

570:                                              ; preds = %533, %527
  %571 = landingpad { ptr, i32 }
          cleanup
  %572 = extractvalue { ptr, i32 } %571, 0
  store ptr %572, ptr %9, align 8
  %573 = extractvalue { ptr, i32 } %571, 1
  store i32 %573, ptr %10, align 4
  br label %690

574:                                              ; preds = %649, %647, %645, %642, %630, %625, %621, %589, %587, %585, %582, %557, %554
  %575 = landingpad { ptr, i32 }
          cleanup
  %576 = extractvalue { ptr, i32 } %575, 0
  store ptr %576, ptr %9, align 8
  %577 = extractvalue { ptr, i32 } %575, 1
  store i32 %577, ptr %10, align 4
  br label %689

578:                                              ; preds = %563, %561, %558
  %579 = landingpad { ptr, i32 }
          cleanup
  %580 = extractvalue { ptr, i32 } %579, 0
  store ptr %580, ptr %9, align 8
  %581 = extractvalue { ptr, i32 } %579, 1
  store i32 %581, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #9
  br label %689

582:                                              ; preds = %565, %548, %535
  %583 = load ptr, ptr %8, align 8, !tbaa !5
  %584 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %583)
          to label %585 unwind label %574

585:                                              ; preds = %582
  %586 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph19estimate_code_unitsEv(ptr noundef nonnull align 8 dereferenceable(160) %584)
          to label %587 unwind label %574

587:                                              ; preds = %585
  %588 = zext i32 %586 to i64
  store i64 %588, ptr %11, align 8, !tbaa !9
  invoke void @"_ZZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %589 unwind label %574

589:                                              ; preds = %587
  %590 = call noundef ptr @_ZNKSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  %591 = invoke noundef i64 @_ZNK12UnorderedSetIPK13IRInstructionSt4hashIS2_ESt8equal_toIS2_EE5countERKS2_(ptr noundef nonnull align 8 dereferenceable(56) %590, ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %592 unwind label %574

592:                                              ; preds = %589
  %593 = icmp ne i64 %591, 0
  br i1 %593, label %597, label %594

594:                                              ; preds = %592
  %595 = load i64, ptr %24, align 8, !tbaa !9
  %596 = add i64 %595, 1
  store i64 %596, ptr %24, align 8, !tbaa !9
  store i32 3, ptr %41, align 4
  br label %686

597:                                              ; preds = %592
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #9
  %598 = load ptr, ptr %5, align 8, !tbaa !5
  %599 = load ptr, ptr %43, align 8, !tbaa !5
  %600 = load ptr, ptr %45, align 8, !tbaa !5
  %601 = load ptr, ptr %46, align 8, !tbaa !5
  %602 = load i64, ptr %11, align 8, !tbaa !9
  %603 = load ptr, ptr %42, align 8, !tbaa !5
  %604 = getelementptr inbounds %struct.Inlinable, ptr %603, i32 0, i32 5
  %605 = load i64, ptr %604, align 8, !tbaa !257
  %606 = invoke i8 @_ZN18MultiMethodInliner12is_inlinableEPK9DexMethodS2_PKN3cfg16ControlFlowGraphEPK13IRInstructionmmPb(ptr noundef nonnull align 8 dereferenceable(68736) %103, ptr noundef %598, ptr noundef %599, ptr noundef %600, ptr noundef %601, i64 noundef %602, i64 noundef %605, ptr noundef %64)
          to label %607 unwind label %657

607:                                              ; preds = %597
  %608 = getelementptr inbounds %"struct.MultiMethodInliner::InlinableDecision", ptr %70, i32 0, i32 0
  store i8 %606, ptr %608, align 1
  %609 = invoke noundef zeroext i1 @_ZNK18MultiMethodInliner17InlinableDecisioncvbEv(ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %610 unwind label %657

610:                                              ; preds = %607
  %611 = xor i1 %609, true
  %612 = zext i1 %611 to i8
  store i8 %612, ptr %65, align 1, !tbaa !223
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #9
  %613 = load i8, ptr %65, align 1, !tbaa !223, !range !221, !noundef !222
  %614 = trunc i8 %613 to i1
  br i1 %614, label %685, label %615

615:                                              ; preds = %610
  %616 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %617 = load ptr, ptr %616, align 8, !tbaa !226
  %618 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %617, i32 0, i32 11
  %619 = load i8, ptr %618, align 1, !tbaa !258, !range !221, !noundef !222
  %620 = trunc i8 %619 to i1
  br i1 %620, label %621, label %685

621:                                              ; preds = %615
  %622 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 38
  %623 = invoke noundef zeroext i1 @_ZNK8shrinker8Shrinker7enabledEv(ptr noundef nonnull align 8 dereferenceable(20552) %622)
          to label %624 unwind label %574

624:                                              ; preds = %621
  br i1 %623, label %625, label %685

625:                                              ; preds = %624
  %626 = load ptr, ptr %5, align 8, !tbaa !5
  %627 = getelementptr inbounds %class.DexMethod, ptr %626, i32 0, i32 8
  %628 = invoke noundef zeroext i1 @_ZNK15ReferencedState16no_optimizationsEv(ptr noundef nonnull align 8 dereferenceable(16) %627)
          to label %629 unwind label %574

629:                                              ; preds = %625
  br i1 %628, label %685, label %630

630:                                              ; preds = %629
  %631 = load i64, ptr %29, align 8, !tbaa !9
  %632 = add i64 %631, 1
  store i64 %632, ptr %29, align 8, !tbaa !9
  %633 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 38
  %634 = load ptr, ptr %5, align 8, !tbaa !5
  invoke void @_ZN8shrinker8Shrinker13shrink_methodEP9DexMethod(ptr noundef nonnull align 8 dereferenceable(20552) %633, ptr noundef %634)
          to label %635 unwind label %574

635:                                              ; preds = %630
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #9
  %636 = load ptr, ptr %8, align 8, !tbaa !5
  %637 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %636)
          to label %638 unwind label %661

638:                                              ; preds = %635
  %639 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %637)
          to label %640 unwind label %661

640:                                              ; preds = %638
  store i32 %639, ptr %71, align 4, !tbaa !237
  %641 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %21, ptr noundef nonnull align 4 dereferenceable(4) %71)
          to label %642 unwind label %661

642:                                              ; preds = %640
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  %643 = load ptr, ptr %8, align 8, !tbaa !5
  %644 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %643)
          to label %645 unwind label %574

645:                                              ; preds = %642
  %646 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph19estimate_code_unitsEv(ptr noundef nonnull align 8 dereferenceable(160) %644)
          to label %647 unwind label %574

647:                                              ; preds = %645
  %648 = zext i32 %646 to i64
  store i64 %648, ptr %11, align 8, !tbaa !9
  invoke void @"_ZZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %649 unwind label %574

649:                                              ; preds = %647
  %650 = call noundef ptr @_ZNKSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  %651 = invoke noundef i64 @_ZNK12UnorderedSetIPK13IRInstructionSt4hashIS2_ESt8equal_toIS2_EE5countERKS2_(ptr noundef nonnull align 8 dereferenceable(56) %650, ptr noundef nonnull align 8 dereferenceable(8) %46)
          to label %652 unwind label %574

652:                                              ; preds = %649
  %653 = icmp ne i64 %651, 0
  br i1 %653, label %665, label %654

654:                                              ; preds = %652
  %655 = load i64, ptr %24, align 8, !tbaa !9
  %656 = add i64 %655, 1
  store i64 %656, ptr %24, align 8, !tbaa !9
  store i32 3, ptr %41, align 4
  br label %686

657:                                              ; preds = %607, %597
  %658 = landingpad { ptr, i32 }
          cleanup
  %659 = extractvalue { ptr, i32 } %658, 0
  store ptr %659, ptr %9, align 8
  %660 = extractvalue { ptr, i32 } %658, 1
  store i32 %660, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #9
  br label %689

661:                                              ; preds = %640, %638, %635
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %9, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  br label %689

665:                                              ; preds = %652
  call void @llvm.lifetime.start.p0(i64 1, ptr %72) #9
  %666 = load ptr, ptr %5, align 8, !tbaa !5
  %667 = load ptr, ptr %43, align 8, !tbaa !5
  %668 = load ptr, ptr %45, align 8, !tbaa !5
  %669 = load ptr, ptr %46, align 8, !tbaa !5
  %670 = load i64, ptr %11, align 8, !tbaa !9
  %671 = load ptr, ptr %42, align 8, !tbaa !5
  %672 = getelementptr inbounds %struct.Inlinable, ptr %671, i32 0, i32 5
  %673 = load i64, ptr %672, align 8, !tbaa !257
  %674 = invoke i8 @_ZN18MultiMethodInliner12is_inlinableEPK9DexMethodS2_PKN3cfg16ControlFlowGraphEPK13IRInstructionmmPb(ptr noundef nonnull align 8 dereferenceable(68736) %103, ptr noundef %666, ptr noundef %667, ptr noundef %668, ptr noundef %669, i64 noundef %670, i64 noundef %673, ptr noundef %64)
          to label %675 unwind label %681

675:                                              ; preds = %665
  %676 = getelementptr inbounds %"struct.MultiMethodInliner::InlinableDecision", ptr %72, i32 0, i32 0
  store i8 %674, ptr %676, align 1
  %677 = invoke noundef zeroext i1 @_ZNK18MultiMethodInliner17InlinableDecisioncvbEv(ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %678 unwind label %681

678:                                              ; preds = %675
  %679 = xor i1 %677, true
  %680 = zext i1 %679 to i8
  store i8 %680, ptr %65, align 1, !tbaa !223
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #9
  br label %685

681:                                              ; preds = %675, %665
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %9, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #9
  br label %689

685:                                              ; preds = %678, %629, %624, %615, %610
  store i32 0, ptr %41, align 4
  br label %686

686:                                              ; preds = %685, %654, %594
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #9
  %687 = load i32, ptr %41, align 4
  switch i32 %687, label %1118 [
    i32 0, label %688
  ]

688:                                              ; preds = %686
  br label %691

689:                                              ; preds = %681, %661, %657, %578, %574
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #9
  br label %690

690:                                              ; preds = %689, %570
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #9
  br label %1132

691:                                              ; preds = %688, %523, %520, %515
  %692 = load i8, ptr %65, align 1, !tbaa !223, !range !221, !noundef !222
  %693 = trunc i8 %692 to i1
  br i1 %693, label %694, label %704

694:                                              ; preds = %691
  %695 = load i8, ptr %64, align 1, !tbaa !223, !range !221, !noundef !222
  %696 = trunc i8 %695 to i1
  br i1 %696, label %697, label %700

697:                                              ; preds = %694
  %698 = load i64, ptr %27, align 8, !tbaa !9
  %699 = add i64 %698, 1
  store i64 %699, ptr %27, align 8, !tbaa !9
  br label %703

700:                                              ; preds = %694
  %701 = load i64, ptr %23, align 8, !tbaa !9
  %702 = add i64 %701, 1
  store i64 %702, ptr %23, align 8, !tbaa !9
  br label %703

703:                                              ; preds = %700, %697
  store i32 3, ptr %41, align 4
  br label %1118

704:                                              ; preds = %691
  br label %705

705:                                              ; preds = %704
  %706 = invoke noundef zeroext i1 @_Z12traceEnabled11TraceModulei(i32 noundef 77, i32 noundef 4)
          to label %707 unwind label %715

707:                                              ; preds = %705
  br i1 %706, label %708, label %728

708:                                              ; preds = %707
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #9
  %709 = load ptr, ptr %5, align 8, !tbaa !5
  %710 = load ptr, ptr %43, align 8, !tbaa !5
  %711 = load ptr, ptr %46, align 8, !tbaa !5
  invoke void @_ZN12_GLOBAL__N_125create_inlining_trace_msgB5cxx11EPK9DexMethodS2_P13IRInstruction(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef %709, ptr noundef %710, ptr noundef %711)
          to label %712 unwind label %719

712:                                              ; preds = %708
  %713 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %73) #9
  invoke void (i32, i32, i1, ptr, ...) @_Z5trace11TraceModuleibPKcz(i32 noundef 77, i32 noundef 4, i1 noundef zeroext false, ptr noundef @.str.24, ptr noundef %713)
          to label %714 unwind label %723

714:                                              ; preds = %712
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #9
  br label %728

715:                                              ; preds = %705
  %716 = landingpad { ptr, i32 }
          cleanup
  %717 = extractvalue { ptr, i32 } %716, 0
  store ptr %717, ptr %9, align 8
  %718 = extractvalue { ptr, i32 } %716, 1
  store i32 %718, ptr %10, align 4
  br label %1132

719:                                              ; preds = %708
  %720 = landingpad { ptr, i32 }
          cleanup
  %721 = extractvalue { ptr, i32 } %720, 0
  store ptr %721, ptr %9, align 8
  %722 = extractvalue { ptr, i32 } %720, 1
  store i32 %722, ptr %10, align 4
  br label %727

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

727:                                              ; preds = %723, %719
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #9
  br label %1132

728:                                              ; preds = %714, %707
  br label %729

729:                                              ; preds = %728
  br label %730

730:                                              ; preds = %729
  %731 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %732 = load ptr, ptr %731, align 8, !tbaa !226
  %733 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %732, i32 0, i32 15
  %734 = load i8, ptr %733, align 1, !tbaa !227, !range !221, !noundef !222
  %735 = trunc i8 %734 to i1
  br i1 %735, label %736, label %748

736:                                              ; preds = %730
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #9
  %737 = load ptr, ptr %8, align 8, !tbaa !5
  %738 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %737)
          to label %739 unwind label %744

739:                                              ; preds = %736
  %740 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %738)
          to label %741 unwind label %744

741:                                              ; preds = %739
  store i32 %740, ptr %74, align 4, !tbaa !237
  %742 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %21, ptr noundef nonnull align 4 dereferenceable(4) %74)
          to label %743 unwind label %744

743:                                              ; preds = %741
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  br label %748

744:                                              ; preds = %741, %739, %736
  %745 = landingpad { ptr, i32 }
          cleanup
  %746 = extractvalue { ptr, i32 } %745, 0
  store ptr %746, ptr %9, align 8
  %747 = extractvalue { ptr, i32 } %745, 1
  store i32 %747, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  br label %1132

748:                                              ; preds = %743, %730
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #9
  %749 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 43
  invoke void @_ZN17AccumulatingTimer5scopeEv(ptr dead_on_unwind writable sret(%"class.AccumulatingTimer::AccumulatingTimerScope") align 8 %75, ptr noundef nonnull align 8 dereferenceable(16) %749)
          to label %750 unwind label %815

750:                                              ; preds = %748
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #9
  %751 = load ptr, ptr %43, align 8, !tbaa !5
  %752 = invoke noundef ptr @_ZNK18MultiMethodInliner20get_needs_init_classEP9DexMethod(ptr noundef nonnull align 8 dereferenceable(68736) %103, ptr noundef %751)
          to label %753 unwind label %819

753:                                              ; preds = %750
  store ptr %752, ptr %76, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %77) #9
  %754 = load ptr, ptr %5, align 8, !tbaa !5
  %755 = load ptr, ptr %43, align 8, !tbaa !5
  %756 = invoke noundef zeroext i1 @_ZNK18MultiMethodInliner27get_needs_constructor_fenceEPK9DexMethodS2_(ptr noundef nonnull align 8 dereferenceable(68736) %103, ptr noundef %754, ptr noundef %755)
          to label %757 unwind label %823

757:                                              ; preds = %753
  %758 = zext i1 %756 to i8
  store i8 %758, ptr %77, align 1, !tbaa !223
  call void @llvm.lifetime.start.p0(i64 1, ptr %78) #9
  %759 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %760 = load ptr, ptr %759, align 8, !tbaa !226
  %761 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %760, i32 0, i32 4
  %762 = load i8, ptr %761, align 4, !tbaa !259, !range !221, !noundef !222
  %763 = trunc i8 %762 to i1
  br i1 %763, label %764, label %774

764:                                              ; preds = %757
  %765 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 52
  %766 = load ptr, ptr %765, align 8, !tbaa !260
  %767 = icmp ne ptr %766, null
  br i1 %767, label %768, label %774

768:                                              ; preds = %764
  %769 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 52
  %770 = load ptr, ptr %769, align 8, !tbaa !260
  %771 = invoke noundef i64 @_ZNK19ConcurrentContainerISt13unordered_setIP9DexMethodSt4hashIS2_ESt8equal_toIS2_ESaIS2_EELm83EE5countERKS2_(ptr noundef nonnull align 8 dereferenceable(2664) %770, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %772 unwind label %827

772:                                              ; preds = %768
  %773 = icmp ugt i64 %771, 0
  br label %774

774:                                              ; preds = %772, %764, %757
  %775 = phi i1 [ false, %764 ], [ false, %757 ], [ %773, %772 ]
  %776 = zext i1 %775 to i8
  store i8 %776, ptr %78, align 1, !tbaa !223
  %777 = load i8, ptr %77, align 1, !tbaa !223, !range !221, !noundef !222
  %778 = trunc i8 %777 to i1
  br i1 %778, label %782, label %779

779:                                              ; preds = %774
  %780 = load i8, ptr %78, align 1, !tbaa !223, !range !221, !noundef !222
  %781 = trunc i8 %780 to i1
  br i1 %781, label %782, label %832

782:                                              ; preds = %779, %774
  %783 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %784 = load ptr, ptr %783, align 8, !tbaa !226
  %785 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %784, i32 0, i32 25
  %786 = load i32, ptr %785, align 8, !tbaa !261
  %787 = icmp eq i32 %786, 1
  br i1 %787, label %788, label %792

788:                                              ; preds = %782
  %789 = load ptr, ptr %5, align 8, !tbaa !5
  %790 = invoke noundef zeroext i1 @_ZN13source_blocks18method_is_not_coldEP9DexMethod(ptr noundef %789)
          to label %791 unwind label %827

791:                                              ; preds = %788
  br i1 %790, label %812, label %792

792:                                              ; preds = %791, %782
  %793 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %794 = load ptr, ptr %793, align 8, !tbaa !226
  %795 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %794, i32 0, i32 25
  %796 = load i32, ptr %795, align 8, !tbaa !261
  %797 = icmp eq i32 %796, 2
  br i1 %797, label %798, label %802

798:                                              ; preds = %792
  %799 = load ptr, ptr %5, align 8, !tbaa !5
  %800 = invoke noundef zeroext i1 @_ZN13source_blocks16method_maybe_hotEP9DexMethod(ptr noundef %799)
          to label %801 unwind label %827

801:                                              ; preds = %798
  br i1 %800, label %812, label %802

802:                                              ; preds = %801, %792
  %803 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %804 = load ptr, ptr %803, align 8, !tbaa !226
  %805 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %804, i32 0, i32 25
  %806 = load i32, ptr %805, align 8, !tbaa !261
  %807 = icmp eq i32 %806, 3
  br i1 %807, label %808, label %831

808:                                              ; preds = %802
  %809 = load ptr, ptr %5, align 8, !tbaa !5
  %810 = invoke noundef zeroext i1 @_ZN13source_blocks13method_is_hotEP9DexMethod(ptr noundef %809)
          to label %811 unwind label %827

811:                                              ; preds = %808
  br i1 %810, label %812, label %831

812:                                              ; preds = %811, %801, %791
  %813 = load i64, ptr %28, align 8, !tbaa !9
  %814 = add i64 %813, 1
  store i64 %814, ptr %28, align 8, !tbaa !9
  store i32 3, ptr %41, align 4
  br label %1117

815:                                              ; preds = %748
  %816 = landingpad { ptr, i32 }
          cleanup
  %817 = extractvalue { ptr, i32 } %816, 0
  store ptr %817, ptr %9, align 8
  %818 = extractvalue { ptr, i32 } %816, 1
  store i32 %818, ptr %10, align 4
  br label %1131

819:                                              ; preds = %750
  %820 = landingpad { ptr, i32 }
          cleanup
  %821 = extractvalue { ptr, i32 } %820, 0
  store ptr %821, ptr %9, align 8
  %822 = extractvalue { ptr, i32 } %820, 1
  store i32 %822, ptr %10, align 4
  br label %1130

823:                                              ; preds = %753
  %824 = landingpad { ptr, i32 }
          cleanup
  %825 = extractvalue { ptr, i32 } %824, 0
  store ptr %825, ptr %9, align 8
  %826 = extractvalue { ptr, i32 } %824, 1
  store i32 %826, ptr %10, align 4
  br label %1129

827:                                              ; preds = %808, %798, %788, %768
  %828 = landingpad { ptr, i32 }
          cleanup
  %829 = extractvalue { ptr, i32 } %828, 0
  store ptr %829, ptr %9, align 8
  %830 = extractvalue { ptr, i32 } %828, 1
  store i32 %830, ptr %10, align 4
  br label %1128

831:                                              ; preds = %811, %802
  br label %832

832:                                              ; preds = %831, %779
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #9
  %833 = load ptr, ptr %5, align 8, !tbaa !5
  %834 = load ptr, ptr %43, align 8, !tbaa !5
  %835 = load ptr, ptr %46, align 8, !tbaa !5
  %836 = load ptr, ptr %42, align 8, !tbaa !5
  %837 = getelementptr inbounds %struct.Inlinable, ptr %836, i32 0, i32 6
  %838 = load ptr, ptr %837, align 8, !tbaa !262
  %839 = load ptr, ptr %76, align 8, !tbaa !5
  %840 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNR5boost8optionalIjEdeEv(ptr noundef nonnull align 4 dereferenceable(8) %21)
          to label %841 unwind label %865

841:                                              ; preds = %832
  %842 = load i32, ptr %840, align 4, !tbaa !237
  %843 = zext i32 %842 to i64
  %844 = load ptr, ptr %45, align 8, !tbaa !5
  %845 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 33
  %846 = load ptr, ptr %845, align 8, !tbaa !226
  %847 = getelementptr inbounds %"struct.inliner::InlinerConfig", ptr %846, i32 0, i32 19
  %848 = load i8, ptr %847, align 1, !tbaa !263, !range !221, !noundef !222
  %849 = trunc i8 %848 to i1
  br i1 %849, label %850, label %852

850:                                              ; preds = %841
  %851 = load ptr, ptr %43, align 8, !tbaa !5
  br label %853

852:                                              ; preds = %841
  br label %853

853:                                              ; preds = %852, %850
  %854 = phi ptr [ %851, %850 ], [ null, %852 ]
  %855 = load i8, ptr %77, align 1, !tbaa !223, !range !221, !noundef !222
  %856 = trunc i8 %855 to i1
  %857 = invoke noundef zeroext i1 @_ZN7inliner15inline_with_cfgEP9DexMethodS1_P13IRInstructionP7DexTypeS5_mPKN3cfg16ControlFlowGraphES1_b(ptr noundef %833, ptr noundef %834, ptr noundef %835, ptr noundef %838, ptr noundef %839, i64 noundef %843, ptr noundef %844, ptr noundef %854, i1 noundef zeroext %856)
          to label %858 unwind label %865

858:                                              ; preds = %853
  %859 = zext i1 %857 to i8
  store i8 %859, ptr %79, align 1, !tbaa !223
  %860 = load i8, ptr %79, align 1, !tbaa !223, !range !221, !noundef !222
  %861 = trunc i8 %860 to i1
  br i1 %861, label %869, label %862

862:                                              ; preds = %858
  %863 = load i64, ptr %24, align 8, !tbaa !9
  %864 = add i64 %863, 1
  store i64 %864, ptr %24, align 8, !tbaa !9
  store i32 3, ptr %41, align 4
  br label %1116

865:                                              ; preds = %1107, %1095, %1093, %1090, %1089, %1080, %1077, %1071, %1068, %1065, %1060, %1057, %1052, %1048, %1039, %974, %873, %870, %853, %832
  %866 = landingpad { ptr, i32 }
          cleanup
  %867 = extractvalue { ptr, i32 } %866, 0
  store ptr %867, ptr %9, align 8
  %868 = extractvalue { ptr, i32 } %866, 1
  store i32 %868, ptr %10, align 4
  br label %1127

869:                                              ; preds = %858
  br label %870

870:                                              ; preds = %869
  %871 = invoke noundef zeroext i1 @_Z12traceEnabled11TraceModulei(i32 noundef 55, i32 noundef 2)
          to label %872 unwind label %865

872:                                              ; preds = %870
  br i1 %871, label %873, label %947

873:                                              ; preds = %872
  %874 = load ptr, ptr %8, align 8, !tbaa !5
  store i1 false, ptr %81, align 1
  store i1 false, ptr %82, align 1
  store i1 false, ptr %84, align 1
  store i1 false, ptr %85, align 1
  %875 = invoke noundef zeroext i1 @_ZNK6IRCode9cfg_builtEv(ptr noundef nonnull align 8 dereferenceable(32) %874)
          to label %876 unwind label %865

876:                                              ; preds = %873
  br i1 %875, label %877, label %883

877:                                              ; preds = %876
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #9
  store i1 true, ptr %81, align 1
  %878 = load ptr, ptr %8, align 8, !tbaa !5
  %879 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %878)
          to label %880 unwind label %916

880:                                              ; preds = %877
  invoke void @_Z4showB5cxx11RKN3cfg16ControlFlowGraphEb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(160) %879, i1 noundef zeroext false)
          to label %881 unwind label %916

881:                                              ; preds = %880
  store i1 true, ptr %82, align 1
  %882 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  br label %887

883:                                              ; preds = %876
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #9
  store i1 true, ptr %84, align 1
  %884 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_Z4showB5cxx11PK6IRCodeb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef %884, i1 noundef zeroext false)
          to label %885 unwind label %920

885:                                              ; preds = %883
  store i1 true, ptr %85, align 1
  %886 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #9
  br label %887

887:                                              ; preds = %885, %881
  %888 = phi ptr [ %882, %881 ], [ %886, %885 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #9
  %889 = load ptr, ptr %45, align 8, !tbaa !5
  %890 = icmp ne ptr %889, null
  br i1 %890, label %891, label %893

891:                                              ; preds = %887
  %892 = load ptr, ptr %45, align 8, !tbaa !5
  br label %899

893:                                              ; preds = %887
  %894 = load ptr, ptr %43, align 8, !tbaa !5
  %895 = invoke noundef ptr @_ZN9DexMethod8get_codeEv(ptr noundef nonnull align 8 dereferenceable(88) %894)
          to label %896 unwind label %924

896:                                              ; preds = %893
  %897 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %895)
          to label %898 unwind label %924

898:                                              ; preds = %896
  br label %899

899:                                              ; preds = %898, %891
  %900 = phi ptr [ %892, %891 ], [ %897, %898 ]
  invoke void @_Z4showB5cxx11RKN3cfg16ControlFlowGraphEb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(160) %900, i1 noundef zeroext false)
          to label %901 unwind label %924

901:                                              ; preds = %899
  %902 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %86) #9
  invoke void (i32, i32, i1, ptr, ...) @_Z5trace11TraceModuleibPKcz(i32 noundef 55, i32 noundef 2, i1 noundef zeroext false, ptr noundef @.str.25, ptr noundef %888, ptr noundef %902)
          to label %903 unwind label %928

903:                                              ; preds = %901
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #9
  %904 = load i1, ptr %85, align 1
  br i1 %904, label %905, label %906

905:                                              ; preds = %903
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #9
  br label %906

906:                                              ; preds = %905, %903
  %907 = load i1, ptr %84, align 1
  br i1 %907, label %908, label %909

908:                                              ; preds = %906
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #9
  br label %909

909:                                              ; preds = %908, %906
  %910 = load i1, ptr %82, align 1
  br i1 %910, label %911, label %912

911:                                              ; preds = %909
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  br label %912

912:                                              ; preds = %911, %909
  %913 = load i1, ptr %81, align 1
  br i1 %913, label %914, label %915

914:                                              ; preds = %912
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #9
  br label %915

915:                                              ; preds = %914, %912
  br label %947

916:                                              ; preds = %880, %877
  %917 = landingpad { ptr, i32 }
          cleanup
  %918 = extractvalue { ptr, i32 } %917, 0
  store ptr %918, ptr %9, align 8
  %919 = extractvalue { ptr, i32 } %917, 1
  store i32 %919, ptr %10, align 4
  br label %943

920:                                              ; preds = %883
  %921 = landingpad { ptr, i32 }
          cleanup
  %922 = extractvalue { ptr, i32 } %921, 0
  store ptr %922, ptr %9, align 8
  %923 = extractvalue { ptr, i32 } %921, 1
  store i32 %923, ptr %10, align 4
  br label %936

924:                                              ; preds = %899, %896, %893
  %925 = landingpad { ptr, i32 }
          cleanup
  %926 = extractvalue { ptr, i32 } %925, 0
  store ptr %926, ptr %9, align 8
  %927 = extractvalue { ptr, i32 } %925, 1
  store i32 %927, ptr %10, align 4
  br label %932

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

932:                                              ; preds = %928, %924
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #9
  %933 = load i1, ptr %85, align 1
  br i1 %933, label %934, label %935

934:                                              ; preds = %932
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #9
  br label %935

935:                                              ; preds = %934, %932
  br label %936

936:                                              ; preds = %935, %920
  %937 = load i1, ptr %84, align 1
  br i1 %937, label %938, label %939

938:                                              ; preds = %936
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #9
  br label %939

939:                                              ; preds = %938, %936
  %940 = load i1, ptr %82, align 1
  br i1 %940, label %941, label %942

941:                                              ; preds = %939
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  br label %942

942:                                              ; preds = %941, %939
  br label %943

943:                                              ; preds = %942, %916
  %944 = load i1, ptr %81, align 1
  br i1 %944, label %945, label %946

945:                                              ; preds = %943
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #9
  br label %946

946:                                              ; preds = %945, %943
  br label %1127

947:                                              ; preds = %915, %872
  br label %948

948:                                              ; preds = %947
  br label %949

949:                                              ; preds = %948
  %950 = load ptr, ptr %42, align 8, !tbaa !5
  %951 = getelementptr inbounds %struct.Inlinable, ptr %950, i32 0, i32 5
  %952 = load i64, ptr %951, align 8, !tbaa !257
  %953 = load i64, ptr %11, align 8, !tbaa !9
  %954 = add i64 %953, %952
  store i64 %954, ptr %11, align 8, !tbaa !9
  %955 = load ptr, ptr %45, align 8, !tbaa !5
  %956 = icmp ne ptr %955, null
  br i1 %956, label %957, label %974

957:                                              ; preds = %949
  call void @llvm.lifetime.start.p0(i64 168, ptr %87) #9
  %958 = load ptr, ptr %45, align 8, !tbaa !5
  %959 = load ptr, ptr %5, align 8, !tbaa !5
  %960 = invoke noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %959)
          to label %961 unwind label %965

961:                                              ; preds = %957
  %962 = load ptr, ptr %43, align 8, !tbaa !5
  invoke void @_Z22get_visibility_changesRKN3cfg16ControlFlowGraphEP7DexTypePK9DexMethod(ptr dead_on_unwind writable sret(%struct.VisibilityChanges) align 8 %87, ptr noundef nonnull align 8 dereferenceable(160) %958, ptr noundef %960, ptr noundef %962)
          to label %963 unwind label %965

963:                                              ; preds = %961
  invoke void @_ZN17VisibilityChanges6insertERKS_(ptr noundef nonnull align 8 dereferenceable(168) %34, ptr noundef nonnull align 8 dereferenceable(168) %87)
          to label %964 unwind label %969

964:                                              ; preds = %963
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %87) #9
  call void @llvm.lifetime.end.p0(i64 168, ptr %87) #9
  br label %981

965:                                              ; preds = %961, %957
  %966 = landingpad { ptr, i32 }
          cleanup
  %967 = extractvalue { ptr, i32 } %966, 0
  store ptr %967, ptr %9, align 8
  %968 = extractvalue { ptr, i32 } %966, 1
  store i32 %968, ptr %10, align 4
  br label %973

969:                                              ; preds = %963
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %9, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %10, align 4
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %87) #9
  br label %973

973:                                              ; preds = %969, %965
  call void @llvm.lifetime.end.p0(i64 168, ptr %87) #9
  br label %1127

974:                                              ; preds = %949
  %975 = invoke { ptr, i8 } @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(56) %35, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %976 unwind label %865

976:                                              ; preds = %974
  %977 = getelementptr inbounds { ptr, i8 }, ptr %88, i32 0, i32 0
  %978 = extractvalue { ptr, i8 } %975, 0
  store ptr %978, ptr %977, align 8
  %979 = getelementptr inbounds { ptr, i8 }, ptr %88, i32 0, i32 1
  %980 = extractvalue { ptr, i8 } %975, 1
  store i8 %980, ptr %979, align 8
  br label %981

981:                                              ; preds = %976, %964
  %982 = load ptr, ptr %76, align 8, !tbaa !5
  %983 = icmp ne ptr %982, null
  br i1 %983, label %984, label %987

984:                                              ; preds = %981
  %985 = load i64, ptr %36, align 8, !tbaa !9
  %986 = add i64 %985, 1
  store i64 %986, ptr %36, align 8, !tbaa !9
  br label %987

987:                                              ; preds = %984, %981
  %988 = load i8, ptr %77, align 1, !tbaa !223, !range !221, !noundef !222
  %989 = trunc i8 %988 to i1
  br i1 %989, label %990, label %1036

990:                                              ; preds = %987
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #9
  %991 = load ptr, ptr %43, align 8, !tbaa !5
  store ptr %991, ptr %89, align 8, !tbaa !5
  %992 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 5
  %993 = invoke noundef zeroext i1 @_ZN13ConcurrentSetIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_ELm83EE6insertERKS2_(ptr noundef nonnull align 8 dereferenceable(2664) %992, ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %994 unwind label %1002

994:                                              ; preds = %990
  br label %995

995:                                              ; preds = %1018, %994
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #9
  %996 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 51
  %997 = invoke noundef ptr @_ZNK23InsertOnlyConcurrentMapIPK9DexMethodS2_St4hashIS2_ESt8equal_toIS2_ELm83EE3getERKS2_(ptr noundef nonnull align 8 dereferenceable(2664) %996, ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %998 unwind label %1006

998:                                              ; preds = %995
  store ptr %997, ptr %90, align 8, !tbaa !5
  %999 = load ptr, ptr %90, align 8, !tbaa !5
  %1000 = icmp ne ptr %999, null
  br i1 %1000, label %1010, label %1001

1001:                                             ; preds = %998
  store i32 9, ptr %41, align 4
  br label %1016

1002:                                             ; preds = %1025, %990
  %1003 = landingpad { ptr, i32 }
          cleanup
  %1004 = extractvalue { ptr, i32 } %1003, 0
  store ptr %1004, ptr %9, align 8
  %1005 = extractvalue { ptr, i32 } %1003, 1
  store i32 %1005, ptr %10, align 4
  br label %1035

1006:                                             ; preds = %1010, %995
  %1007 = landingpad { ptr, i32 }
          cleanup
  %1008 = extractvalue { ptr, i32 } %1007, 0
  store ptr %1008, ptr %9, align 8
  %1009 = extractvalue { ptr, i32 } %1007, 1
  store i32 %1009, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #9
  br label %1035

1010:                                             ; preds = %998
  %1011 = load ptr, ptr %90, align 8, !tbaa !5
  %1012 = load ptr, ptr %1011, align 8, !tbaa !5
  store ptr %1012, ptr %89, align 8, !tbaa !5
  %1013 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 5
  %1014 = invoke noundef zeroext i1 @_ZN13ConcurrentSetIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_ELm83EE6insertERKS2_(ptr noundef nonnull align 8 dereferenceable(2664) %1013, ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %1015 unwind label %1006

1015:                                             ; preds = %1010
  store i32 0, ptr %41, align 4
  br label %1016

1016:                                             ; preds = %1015, %1001
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #9
  %1017 = load i32, ptr %41, align 4
  switch i32 %1017, label %1330 [
    i32 0, label %1018
    i32 9, label %1019
  ]

1018:                                             ; preds = %1016
  br label %995, !llvm.loop !264

1019:                                             ; preds = %1016
  %1020 = load i64, ptr %37, align 8, !tbaa !9
  %1021 = add i64 %1020, 1
  store i64 %1021, ptr %37, align 8, !tbaa !9
  %1022 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 52
  %1023 = load ptr, ptr %1022, align 8, !tbaa !260
  %1024 = icmp ne ptr %1023, null
  br i1 %1024, label %1025, label %1034

1025:                                             ; preds = %1019
  %1026 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 52
  %1027 = load ptr, ptr %1026, align 8, !tbaa !260
  %1028 = invoke { ptr, i8 } @_ZN23InsertOnlyConcurrentSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ELm83EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(2664) %1027, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1029 unwind label %1002

1029:                                             ; preds = %1025
  %1030 = getelementptr inbounds { ptr, i8 }, ptr %91, i32 0, i32 0
  %1031 = extractvalue { ptr, i8 } %1028, 0
  store ptr %1031, ptr %1030, align 8
  %1032 = getelementptr inbounds { ptr, i8 }, ptr %91, i32 0, i32 1
  %1033 = extractvalue { ptr, i8 } %1028, 1
  store i8 %1033, ptr %1032, align 8
  br label %1034

1034:                                             ; preds = %1029, %1019
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #9
  br label %1089

1035:                                             ; preds = %1006, %1002
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #9
  br label %1127

1036:                                             ; preds = %987
  %1037 = load i8, ptr %78, align 1, !tbaa !223, !range !221, !noundef !222
  %1038 = trunc i8 %1037 to i1
  br i1 %1038, label %1039, label %1048

1039:                                             ; preds = %1036
  %1040 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 52
  %1041 = load ptr, ptr %1040, align 8, !tbaa !260
  %1042 = invoke { ptr, i8 } @_ZN23InsertOnlyConcurrentSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ELm83EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(2664) %1041, ptr noundef nonnull align 8 dereferenceable(8) %5)
          to label %1043 unwind label %865

1043:                                             ; preds = %1039
  %1044 = getelementptr inbounds { ptr, i8 }, ptr %92, i32 0, i32 0
  %1045 = extractvalue { ptr, i8 } %1042, 0
  store ptr %1045, ptr %1044, align 8
  %1046 = getelementptr inbounds { ptr, i8 }, ptr %92, i32 0, i32 1
  %1047 = extractvalue { ptr, i8 } %1042, 1
  store i8 %1047, ptr %1046, align 8
  br label %1048

1048:                                             ; preds = %1043, %1036
  %1049 = load ptr, ptr %43, align 8, !tbaa !5
  %1050 = invoke noundef zeroext i1 @_ZNK18MultiMethodInliner27get_needs_constructor_fenceEPK9DexMethodS2_(ptr noundef nonnull align 8 dereferenceable(68736) %103, ptr noundef null, ptr noundef %1049)
          to label %1051 unwind label %865

1051:                                             ; preds = %1048
  br i1 %1050, label %1052, label %1088

1052:                                             ; preds = %1051
  %1053 = load ptr, ptr %5, align 8, !tbaa !5
  %1054 = invoke noundef zeroext i1 @_ZN6method7is_initEPK12DexMethodRef(ptr noundef %1053)
          to label %1055 unwind label %865

1055:                                             ; preds = %1052
  br i1 %1054, label %1056, label %1057

1056:                                             ; preds = %1055
  br label %1060

1057:                                             ; preds = %1055
  invoke void (ptr, ptr, i32, ptr, i32, ptr, ...) @_Z11assert_failPKcS0_jS0_10RedexErrorS0_z(ptr noundef @.str.26, ptr noundef @.str.14, i32 noundef 937, ptr noundef @__PRETTY_FUNCTION__._ZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EE, i32 noundef 2, ptr noundef @.str.15) #10
          to label %1058 unwind label %865

1058:                                             ; preds = %1057
  unreachable

1059:                                             ; No predecessors!
  br label %1060

1060:                                             ; preds = %1059, %1056
  %1061 = load ptr, ptr %43, align 8, !tbaa !5
  %1062 = invoke noundef zeroext i1 @_ZN6method7is_initEPK12DexMethodRef(ptr noundef %1061)
          to label %1063 unwind label %865

1063:                                             ; preds = %1060
  br i1 %1062, label %1064, label %1065

1064:                                             ; preds = %1063
  br label %1068

1065:                                             ; preds = %1063
  invoke void (ptr, ptr, i32, ptr, i32, ptr, ...) @_Z11assert_failPKcS0_jS0_10RedexErrorS0_z(ptr noundef @.str.27, ptr noundef @.str.14, i32 noundef 938, ptr noundef @__PRETTY_FUNCTION__._ZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EE, i32 noundef 2, ptr noundef @.str.15) #10
          to label %1066 unwind label %865

1066:                                             ; preds = %1065
  unreachable

1067:                                             ; No predecessors!
  br label %1068

1068:                                             ; preds = %1067, %1064
  %1069 = load ptr, ptr %5, align 8, !tbaa !5
  %1070 = invoke noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %1069)
          to label %1071 unwind label %865

1071:                                             ; preds = %1068
  %1072 = load ptr, ptr %43, align 8, !tbaa !5
  %1073 = invoke noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %1072)
          to label %1074 unwind label %865

1074:                                             ; preds = %1071
  %1075 = icmp eq ptr %1070, %1073
  br i1 %1075, label %1076, label %1077

1076:                                             ; preds = %1074
  br label %1080

1077:                                             ; preds = %1074
  invoke void (ptr, ptr, i32, ptr, i32, ptr, ...) @_Z11assert_failPKcS0_jS0_10RedexErrorS0_z(ptr noundef @.str.28, ptr noundef @.str.14, i32 noundef 939, ptr noundef @__PRETTY_FUNCTION__._ZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EE, i32 noundef 2, ptr noundef @.str.15) #10
          to label %1078 unwind label %865

1078:                                             ; preds = %1077
  unreachable

1079:                                             ; No predecessors!
  br label %1080

1080:                                             ; preds = %1079, %1076
  %1081 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 51
  %1082 = invoke { ptr, i8 } @_ZN23InsertOnlyConcurrentMapIPK9DexMethodS2_St4hashIS2_ESt8equal_toIS2_ELm83EE7emplaceIJRPS0_SA_EEESt4pairIPKS2_bEDpOT_(ptr noundef nonnull align 8 dereferenceable(2664) %1081, ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %1083 unwind label %865

1083:                                             ; preds = %1080
  %1084 = getelementptr inbounds { ptr, i8 }, ptr %93, i32 0, i32 0
  %1085 = extractvalue { ptr, i8 } %1082, 0
  store ptr %1085, ptr %1084, align 8
  %1086 = getelementptr inbounds { ptr, i8 }, ptr %93, i32 0, i32 1
  %1087 = extractvalue { ptr, i8 } %1082, 1
  store i8 %1087, ptr %1086, align 8
  br label %1088

1088:                                             ; preds = %1083, %1051
  br label %1089

1089:                                             ; preds = %1088, %1034
  invoke void @_ZNSt6vectorIP9DexMethodSaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(8) %43)
          to label %1090 unwind label %865

1090:                                             ; preds = %1089
  %1091 = load ptr, ptr %43, align 8, !tbaa !5
  %1092 = invoke noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %1091)
          to label %1093 unwind label %865

1093:                                             ; preds = %1090
  %1094 = invoke noundef ptr @_Z10type_classPK7DexType(ptr noundef %1092)
          to label %1095 unwind label %865

1095:                                             ; preds = %1093
  %1096 = invoke noundef zeroext i1 @_ZN4type16is_kotlin_lambdaEPK8DexClass(ptr noundef %1094)
          to label %1097 unwind label %865

1097:                                             ; preds = %1095
  br i1 %1096, label %1098, label %1102

1098:                                             ; preds = %1097
  %1099 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1100 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1099, i32 0, i32 4
  %1101 = call noundef i64 @_ZNSt13__atomic_baseImEppEi(ptr noundef nonnull align 8 dereferenceable(8) %1100, i32 noundef 0) #9
  br label %1102

1102:                                             ; preds = %1098, %1097
  %1103 = load ptr, ptr %42, align 8, !tbaa !5
  %1104 = getelementptr inbounds %struct.Inlinable, ptr %1103, i32 0, i32 3
  %1105 = load i8, ptr %1104, align 1, !tbaa !266, !range !221, !noundef !222
  %1106 = trunc i8 %1105 to i1
  br i1 %1106, label %1107, label %1115

1107:                                             ; preds = %1102
  %1108 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1109 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1108, i32 0, i32 5
  %1110 = call noundef i64 @_ZNSt13__atomic_baseImEppEi(ptr noundef nonnull align 8 dereferenceable(8) %1109, i32 noundef 0) #9
  %1111 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1112 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1111, i32 0, i32 38
  %1113 = invoke noundef i64 @_ZN9AtomicMapIPK9DexMethodmSt4hashIS2_ESt8equal_toIS2_ELm83EE9fetch_addERKS2_mm(ptr noundef nonnull align 8 dereferenceable(2664) %1112, ptr noundef nonnull align 8 dereferenceable(8) %43, i64 noundef 1, i64 noundef 0)
          to label %1114 unwind label %865

1114:                                             ; preds = %1107
  br label %1115

1115:                                             ; preds = %1114, %1102
  store i32 0, ptr %41, align 4
  br label %1116

1116:                                             ; preds = %1115, %862
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #9
  br label %1117

1117:                                             ; preds = %1116, %812
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #9
  call void @_ZN17AccumulatingTimer22AccumulatingTimerScopeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #9
  br label %1118

1118:                                             ; preds = %1117, %703, %686
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #9
  br label %1119

1119:                                             ; preds = %1118, %498, %455, %275, %258
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #9
  %1120 = load i32, ptr %41, align 4
  switch i32 %1120, label %1122 [
    i32 0, label %1121
  ]

1121:                                             ; preds = %1119
  store i32 0, ptr %41, align 4
  br label %1122

1122:                                             ; preds = %1121, %1119
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #9
  %1123 = load i32, ptr %41, align 4
  switch i32 %1123, label %1330 [
    i32 0, label %1124
    i32 3, label %1125
  ]

1124:                                             ; preds = %1122
  br label %1125

1125:                                             ; preds = %1124, %1122
  %1126 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIP9InlinableSt6vectorIS1_SaIS1_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %39) #9
  br label %205

1127:                                             ; preds = %1035, %973, %946, %865
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #9
  br label %1128

1128:                                             ; preds = %1127, %827
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #9
  br label %1129

1129:                                             ; preds = %1128, %823
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #9
  br label %1130

1130:                                             ; preds = %1129, %819
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #9
  call void @_ZN17AccumulatingTimer22AccumulatingTimerScopeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75) #9
  br label %1131

1131:                                             ; preds = %1130, %815
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #9
  br label %1132

1132:                                             ; preds = %1131, %744, %727, %715, %690, %566
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #9
  br label %1133

1133:                                             ; preds = %1132, %501, %457, %254
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  br label %1134

1134:                                             ; preds = %1133, %250
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #9
  br label %1317

1135:                                             ; preds = %207
  %1136 = call noundef zeroext i1 @_ZNKSt6vectorIP9DexMethodSaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  br i1 %1136, label %1228, label %1137

1137:                                             ; preds = %1135
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #9
  %1138 = invoke ptr @_Z17UnorderedIterableI12UnorderedSetIP9DexMethodSt4hashIS2_ESt8equal_toIS2_EETnNSt9enable_ifIXsr3stdE12is_base_of_vI13UnorderedBaseIT_ESA_EEbE4typeELb1EEDaRSA_(ptr noundef nonnull align 8 dereferenceable(56) %35)
          to label %1139 unwind label %1154

1139:                                             ; preds = %1137
  %1140 = getelementptr inbounds %"class.UnorderedSet<DexMethod *>::UnorderedIterable", ptr %95, i32 0, i32 0
  store ptr %1138, ptr %1140, align 8
  store ptr %95, ptr %94, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #9
  %1141 = load ptr, ptr %94, align 8, !tbaa !5
  %1142 = invoke ptr @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE17UnorderedIterable5beginEv(ptr noundef nonnull align 8 dereferenceable(8) %1141)
          to label %1143 unwind label %1158

1143:                                             ; preds = %1139
  %1144 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.617", ptr %96, i32 0, i32 0
  %1145 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.618", ptr %1144, i32 0, i32 0
  store ptr %1142, ptr %1145, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #9
  %1146 = load ptr, ptr %94, align 8, !tbaa !5
  %1147 = invoke ptr @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE17UnorderedIterable3endEv(ptr noundef nonnull align 8 dereferenceable(8) %1146)
          to label %1148 unwind label %1162

1148:                                             ; preds = %1143
  %1149 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.617", ptr %97, i32 0, i32 0
  %1150 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.618", ptr %1149, i32 0, i32 0
  store ptr %1147, ptr %1150, align 8
  br label %1151

1151:                                             ; preds = %1175, %1148
  %1152 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseIP9DexMethodLb0EEES5_(ptr noundef nonnull align 8 dereferenceable(8) %96, ptr noundef nonnull align 8 dereferenceable(8) %97) #9
  br i1 %1152, label %1166, label %1153

1153:                                             ; preds = %1151
  store i32 10, ptr %41, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #9
  br label %1189

1154:                                             ; preds = %1137
  %1155 = landingpad { ptr, i32 }
          cleanup
  %1156 = extractvalue { ptr, i32 } %1155, 0
  store ptr %1156, ptr %9, align 8
  %1157 = extractvalue { ptr, i32 } %1155, 1
  store i32 %1157, ptr %10, align 4
  br label %1188

1158:                                             ; preds = %1139
  %1159 = landingpad { ptr, i32 }
          cleanup
  %1160 = extractvalue { ptr, i32 } %1159, 0
  store ptr %1160, ptr %9, align 8
  %1161 = extractvalue { ptr, i32 } %1159, 1
  store i32 %1161, ptr %10, align 4
  br label %1187

1162:                                             ; preds = %1143
  %1163 = landingpad { ptr, i32 }
          cleanup
  %1164 = extractvalue { ptr, i32 } %1163, 0
  store ptr %1164, ptr %9, align 8
  %1165 = extractvalue { ptr, i32 } %1163, 1
  store i32 %1165, ptr %10, align 4
  br label %1186

1166:                                             ; preds = %1151
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #9
  %1167 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt8__detail14_Node_iteratorIP9DexMethodLb1ELb0EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %96) #9
  %1168 = load ptr, ptr %1167, align 8, !tbaa !5
  store ptr %1168, ptr %98, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 168, ptr %99) #9
  %1169 = load ptr, ptr %98, align 8, !tbaa !5
  %1170 = load ptr, ptr %5, align 8, !tbaa !5
  %1171 = invoke noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %1170)
          to label %1172 unwind label %1177

1172:                                             ; preds = %1166
  invoke void @_Z22get_visibility_changesPK9DexMethodP7DexType(ptr dead_on_unwind writable sret(%struct.VisibilityChanges) align 8 %99, ptr noundef %1169, ptr noundef %1171)
          to label %1173 unwind label %1177

1173:                                             ; preds = %1172
  invoke void @_ZN17VisibilityChanges6insertERKS_(ptr noundef nonnull align 8 dereferenceable(168) %34, ptr noundef nonnull align 8 dereferenceable(168) %99)
          to label %1174 unwind label %1181

1174:                                             ; preds = %1173
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %99) #9
  call void @llvm.lifetime.end.p0(i64 168, ptr %99) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #9
  br label %1175

1175:                                             ; preds = %1174
  %1176 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8__detail14_Node_iteratorIP9DexMethodLb1ELb0EEppEv(ptr noundef nonnull align 8 dereferenceable(8) %96) #9
  br label %1151

1177:                                             ; preds = %1172, %1166
  %1178 = landingpad { ptr, i32 }
          cleanup
  %1179 = extractvalue { ptr, i32 } %1178, 0
  store ptr %1179, ptr %9, align 8
  %1180 = extractvalue { ptr, i32 } %1178, 1
  store i32 %1180, ptr %10, align 4
  br label %1185

1181:                                             ; preds = %1173
  %1182 = landingpad { ptr, i32 }
          cleanup
  %1183 = extractvalue { ptr, i32 } %1182, 0
  store ptr %1183, ptr %9, align 8
  %1184 = extractvalue { ptr, i32 } %1182, 1
  store i32 %1184, ptr %10, align 4
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %99) #9
  br label %1185

1185:                                             ; preds = %1181, %1177
  call void @llvm.lifetime.end.p0(i64 168, ptr %99) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #9
  br label %1186

1186:                                             ; preds = %1185, %1162
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #9
  br label %1187

1187:                                             ; preds = %1186, %1158
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #9
  br label %1188

1188:                                             ; preds = %1187, %1154
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #9
  br label %1317

1189:                                             ; preds = %1153
  %1190 = invoke noundef zeroext i1 @_ZNK17VisibilityChanges5emptyEv(ptr noundef nonnull align 8 dereferenceable(168) %34)
          to label %1191 unwind label %1201

1191:                                             ; preds = %1189
  br i1 %1190, label %1217, label %1192

1192:                                             ; preds = %1191
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #9
  %1193 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 21
  invoke void @_ZNSt10lock_guardISt5mutexEC2ERS0_(ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef nonnull align 8 dereferenceable(40) %1193)
          to label %1194 unwind label %1205

1194:                                             ; preds = %1192
  %1195 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 20
  %1196 = call noundef zeroext i1 @_ZNKSt10unique_ptrI17VisibilityChangesSt14default_deleteIS0_EEcvbEv(ptr noundef nonnull align 8 dereferenceable(8) %1195) #9
  br i1 %1196, label %1197, label %1213

1197:                                             ; preds = %1194
  %1198 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 20
  %1199 = call noundef ptr @_ZNKSt10unique_ptrI17VisibilityChangesSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1198) #9
  invoke void @_ZN17VisibilityChanges6insertERKS_(ptr noundef nonnull align 8 dereferenceable(168) %1199, ptr noundef nonnull align 8 dereferenceable(168) %34)
          to label %1200 unwind label %1209

1200:                                             ; preds = %1197
  br label %1215

1201:                                             ; preds = %1291, %1217, %1189
  %1202 = landingpad { ptr, i32 }
          cleanup
  %1203 = extractvalue { ptr, i32 } %1202, 0
  store ptr %1203, ptr %9, align 8
  %1204 = extractvalue { ptr, i32 } %1202, 1
  store i32 %1204, ptr %10, align 4
  br label %1317

1205:                                             ; preds = %1192
  %1206 = landingpad { ptr, i32 }
          cleanup
  %1207 = extractvalue { ptr, i32 } %1206, 0
  store ptr %1207, ptr %9, align 8
  %1208 = extractvalue { ptr, i32 } %1206, 1
  store i32 %1208, ptr %10, align 4
  br label %1216

1209:                                             ; preds = %1213, %1197
  %1210 = landingpad { ptr, i32 }
          cleanup
  %1211 = extractvalue { ptr, i32 } %1210, 0
  store ptr %1211, ptr %9, align 8
  %1212 = extractvalue { ptr, i32 } %1210, 1
  store i32 %1212, ptr %10, align 4
  call void @_ZNSt10lock_guardISt5mutexED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #9
  br label %1216

1213:                                             ; preds = %1194
  invoke void @_ZN18MultiMethodInliner47visibility_changes_apply_and_record_make_staticERK17VisibilityChanges(ptr noundef nonnull align 8 dereferenceable(68736) %103, ptr noundef nonnull align 8 dereferenceable(168) %34)
          to label %1214 unwind label %1209

1214:                                             ; preds = %1213
  br label %1215

1215:                                             ; preds = %1214, %1200
  call void @_ZNSt10lock_guardISt5mutexED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #9
  br label %1217

1216:                                             ; preds = %1209, %1205
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #9
  br label %1317

1217:                                             ; preds = %1215, %1191
  %1218 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 2
  %1219 = call ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  %1220 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.917", ptr %101, i32 0, i32 0
  store ptr %1219, ptr %1220, align 8
  %1221 = call ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  %1222 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.917", ptr %102, i32 0, i32 0
  store ptr %1221, ptr %1222, align 8
  %1223 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.917", ptr %101, i32 0, i32 0
  %1224 = load ptr, ptr %1223, align 8
  %1225 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.917", ptr %102, i32 0, i32 0
  %1226 = load ptr, ptr %1225, align 8
  invoke void @_ZN13ConcurrentSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ELm83EE6insertIN9__gnu_cxx17__normal_iteratorIPS1_St6vectorIS1_SaIS1_EEEEEEvT_SF_(ptr noundef nonnull align 8 dereferenceable(2664) %1218, ptr %1224, ptr %1226)
          to label %1227 unwind label %1201

1227:                                             ; preds = %1217
  br label %1228

1228:                                             ; preds = %1227, %1135
  %1229 = call noundef i64 @_ZNKSt6vectorIP9DexMethodSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  %1230 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1231 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1230, i32 0, i32 6
  %1232 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1231, i64 noundef %1229) #9
  %1233 = load i64, ptr %23, align 8, !tbaa !9
  %1234 = icmp ne i64 %1233, 0
  br i1 %1234, label %1235, label %1240

1235:                                             ; preds = %1228
  %1236 = load i64, ptr %23, align 8, !tbaa !9
  %1237 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1238 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1237, i32 0, i32 9
  %1239 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1238, i64 noundef %1236) #9
  br label %1240

1240:                                             ; preds = %1235, %1228
  %1241 = load i64, ptr %24, align 8, !tbaa !9
  %1242 = icmp ne i64 %1241, 0
  br i1 %1242, label %1243, label %1248

1243:                                             ; preds = %1240
  %1244 = load i64, ptr %24, align 8, !tbaa !9
  %1245 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1246 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1245, i32 0, i32 10
  %1247 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1246, i64 noundef %1244) #9
  br label %1248

1248:                                             ; preds = %1243, %1240
  %1249 = load i64, ptr %28, align 8, !tbaa !9
  %1250 = icmp ne i64 %1249, 0
  br i1 %1250, label %1251, label %1256

1251:                                             ; preds = %1248
  %1252 = load i64, ptr %28, align 8, !tbaa !9
  %1253 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1254 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1253, i32 0, i32 11
  %1255 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1254, i64 noundef %1252) #9
  br label %1256

1256:                                             ; preds = %1251, %1248
  %1257 = load i64, ptr %25, align 8, !tbaa !9
  %1258 = icmp ne i64 %1257, 0
  br i1 %1258, label %1259, label %1264

1259:                                             ; preds = %1256
  %1260 = load i64, ptr %25, align 8, !tbaa !9
  %1261 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1262 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1261, i32 0, i32 12
  %1263 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1262, i64 noundef %1260) #9
  br label %1264

1264:                                             ; preds = %1259, %1256
  %1265 = load i64, ptr %26, align 8, !tbaa !9
  %1266 = icmp ne i64 %1265, 0
  br i1 %1266, label %1267, label %1272

1267:                                             ; preds = %1264
  %1268 = load i64, ptr %26, align 8, !tbaa !9
  %1269 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1270 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1269, i32 0, i32 13
  %1271 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1270, i64 noundef %1268) #9
  br label %1272

1272:                                             ; preds = %1267, %1264
  %1273 = load i64, ptr %29, align 8, !tbaa !9
  %1274 = icmp ne i64 %1273, 0
  br i1 %1274, label %1275, label %1280

1275:                                             ; preds = %1272
  %1276 = load i64, ptr %29, align 8, !tbaa !9
  %1277 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1278 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1277, i32 0, i32 14
  %1279 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1278, i64 noundef %1276) #9
  br label %1280

1280:                                             ; preds = %1275, %1272
  %1281 = load i64, ptr %30, align 8, !tbaa !9
  %1282 = icmp ne i64 %1281, 0
  br i1 %1282, label %1283, label %1288

1283:                                             ; preds = %1280
  %1284 = load i64, ptr %30, align 8, !tbaa !9
  %1285 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1286 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1285, i32 0, i32 15
  %1287 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1286, i64 noundef %1284) #9
  br label %1288

1288:                                             ; preds = %1283, %1280
  %1289 = load i64, ptr %27, align 8, !tbaa !9
  %1290 = icmp ne i64 %1289, 0
  br i1 %1290, label %1291, label %1299

1291:                                             ; preds = %1288
  %1292 = load i64, ptr %27, align 8, !tbaa !9
  %1293 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1294 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1293, i32 0, i32 33
  %1295 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1294, i64 noundef %1292) #9
  %1296 = load ptr, ptr %5, align 8, !tbaa !5
  %1297 = getelementptr inbounds %class.DexMethod, ptr %1296, i32 0, i32 8
  invoke void @_ZN15ReferencedState31set_too_large_for_inlining_intoEv(ptr noundef nonnull align 8 dereferenceable(16) %1297)
          to label %1298 unwind label %1201

1298:                                             ; preds = %1291
  br label %1299

1299:                                             ; preds = %1298, %1288
  %1300 = load i64, ptr %36, align 8, !tbaa !9
  %1301 = icmp ne i64 %1300, 0
  br i1 %1301, label %1302, label %1307

1302:                                             ; preds = %1299
  %1303 = load i64, ptr %36, align 8, !tbaa !9
  %1304 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1305 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1304, i32 0, i32 7
  %1306 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1305, i64 noundef %1303) #9
  br label %1307

1307:                                             ; preds = %1302, %1299
  %1308 = load i64, ptr %37, align 8, !tbaa !9
  %1309 = icmp ne i64 %1308, 0
  br i1 %1309, label %1310, label %1315

1310:                                             ; preds = %1307
  %1311 = load i64, ptr %37, align 8, !tbaa !9
  %1312 = getelementptr inbounds %class.MultiMethodInliner, ptr %103, i32 0, i32 31
  %1313 = getelementptr inbounds %"struct.MultiMethodInliner::InliningInfo", ptr %1312, i32 0, i32 8
  %1314 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %1313, i64 noundef %1311) #9
  br label %1315

1315:                                             ; preds = %1310, %1307
  %1316 = call noundef i64 @_ZNKSt6vectorIP9DexMethodSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  store i32 1, ptr %41, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  call void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %35) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr %35) #9
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %34) #9
  call void @llvm.lifetime.end.p0(i64 168, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #9
  call void @_ZNSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #9
  call void @_ZNSt6vectorI9InlinableSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #9
  call void @_ZN17AccumulatingTimer22AccumulatingTimerScopeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %7) #9
  ret i64 %1316

1317:                                             ; preds = %1216, %1201, %1188, %1134
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  call void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %35) #9
  br label %1318

1318:                                             ; preds = %1317, %212
  call void @llvm.lifetime.end.p0(i64 56, ptr %35) #9
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %34) #9
  br label %1319

1319:                                             ; preds = %1318, %208
  call void @llvm.lifetime.end.p0(i64 168, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #9
  call void @_ZNSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  br label %1320

1320:                                             ; preds = %1319, %188
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #9
  br label %1321

1321:                                             ; preds = %1320, %184
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #9
  call void @_ZNSt6vectorI9InlinableSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  br label %1322

1322:                                             ; preds = %1321, %180
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #9
  br label %1323

1323:                                             ; preds = %1322, %176
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  br label %1324

1324:                                             ; preds = %1323, %114
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #9
  call void @_ZN17AccumulatingTimer22AccumulatingTimerScopeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %7) #9
  br label %1325

1325:                                             ; preds = %1324
  %1326 = load ptr, ptr %9, align 8
  %1327 = load i32, ptr %10, align 4
  %1328 = insertvalue { ptr, i32 } poison, ptr %1326, 0
  %1329 = insertvalue { ptr, i32 } %1328, i32 %1327, 1
  resume { ptr, i32 } %1329

1330:                                             ; preds = %1122, %1016
  unreachable
}

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

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

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

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

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

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

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

declare noundef i32 @_ZNK3cfg16ControlFlowGraph19estimate_code_unitsEv(ptr noundef nonnull align 8 dereferenceable(160)) #5

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZSt11stable_sortIN9__gnu_cxx17__normal_iteratorIP9InlinableSt6vectorIS2_SaIS2_EEEEZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKS6_E3$_0EvT_SE_T0_"(ptr, ptr, ptr, ptr) #7

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN17VisibilityChangesC2Ev(ptr noundef nonnull align 8 dereferenceable(168)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIP9InlinableSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #4

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

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

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

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

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

declare void @_ZN3cfg16ControlFlowGraph9find_insnEP13IRInstructionPNS_5BlockE(ptr dead_on_unwind writable sret(%"class.cfg::InstructionIteratorImpl") align 8, ptr noundef nonnull align 8 dereferenceable(160), ptr noundef, ptr noundef) #5

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3cfg16ControlFlowGraph18set_registers_sizeEj(ptr noundef nonnull align 8 dereferenceable(160), i32 noundef) #1 align 2

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

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

declare void @_ZN13IRInstructionC1ERKS_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5

declare void @_ZN13IRInstructionC1E8IROpcode(ptr noundef nonnull align 8 dereferenceable(32), i16 noundef zeroext) unnamed_addr #5

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

declare noundef ptr @_ZN13IRInstruction7set_srcEtj(ptr noundef nonnull align 8 dereferenceable(32), i16 noundef zeroext, i32 noundef) #5

declare noundef zeroext i1 @_ZN3cfg16ControlFlowGraph13replace_insnsERKNS_23InstructionIteratorImplILb0EEERKSt6vectorIP13IRInstructionSaIS7_EE(ptr noundef nonnull align 8 dereferenceable(160), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) #5

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

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

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

declare i64 @_ZN3cfg16ControlFlowGraph25remove_unreachable_blocksEv(ptr noundef nonnull align 8 dereferenceable(160)) #5

declare void @_ZN3cfg16ControlFlowGraph24recompute_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(24)) #7 align 2

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

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

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

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

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

declare void @_ZN8shrinker8Shrinker13shrink_methodEP9DexMethod(ptr noundef nonnull align 8 dereferenceable(20552), ptr noundef) #5

declare noundef zeroext i1 @_Z12traceEnabled11TraceModulei(i32 noundef, i32 noundef) #5

declare void @_Z5trace11TraceModuleibPKcz(i32 noundef, i32 noundef, i1 noundef zeroext, ptr noundef, ...) #5

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_125create_inlining_trace_msgB5cxx11EPK9DexMethodS2_P13IRInstruction(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef, ptr noundef) #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN13source_blocks18method_is_not_coldEP9DexMethod(ptr noundef) #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN13source_blocks16method_maybe_hotEP9DexMethod(ptr noundef) #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN13source_blocks13method_is_hotEP9DexMethod(ptr noundef) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN7inliner15inline_with_cfgEP9DexMethodS1_P13IRInstructionP7DexTypeS5_mPKN3cfg16ControlFlowGraphES1_b(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef, i1 noundef zeroext) #3

declare noundef zeroext i1 @_ZNK6IRCode9cfg_builtEv(ptr noundef nonnull align 8 dereferenceable(32)) #5

declare void @_Z4showB5cxx11RKN3cfg16ControlFlowGraphEb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(160), i1 noundef zeroext) #5

declare void @_Z4showB5cxx11PK6IRCodeb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, i1 noundef zeroext) #5

declare void @_ZN17VisibilityChanges6insertERKS_(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 8 dereferenceable(168)) #5

declare void @_Z22get_visibility_changesRKN3cfg16ControlFlowGraphEP7DexTypePK9DexMethod(ptr dead_on_unwind writable sret(%struct.VisibilityChanges) align 8, ptr noundef nonnull align 8 dereferenceable(160), ptr noundef, ptr noundef) #5

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZN23InsertOnlyConcurrentSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ELm83EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(2664), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZN23InsertOnlyConcurrentMapIPK9DexMethodS2_St4hashIS2_ESt8equal_toIS2_ELm83EE7emplaceIJRPS0_SA_EEESt4pairIPKS2_bEDpOT_(ptr noundef nonnull align 8 dereferenceable(2664), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3 align 2

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

declare noundef zeroext i1 @_ZN4type16is_kotlin_lambdaEPK8DexClass(ptr noundef) #5

declare noundef ptr @_Z10type_classPK7DexType(ptr noundef) #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNSt13__atomic_baseImEppEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_Z17UnorderedIterableI12UnorderedSetIP9DexMethodSt4hashIS2_ESt8equal_toIS2_EETnNSt9enable_ifIXsr3stdE12is_base_of_vI13UnorderedBaseIT_ESA_EEbE4typeELb1EEDaRSA_(ptr noundef nonnull align 8 dereferenceable(56)) #3

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseIP9DexMethodLb0EEES5_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #1

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

declare void @_Z22get_visibility_changesPK9DexMethodP7DexType(ptr dead_on_unwind writable sret(%struct.VisibilityChanges) align 8, ptr noundef, ptr noundef) #5

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

declare noundef zeroext i1 @_ZNK17VisibilityChanges5emptyEv(ptr noundef nonnull align 8 dereferenceable(168)) #5

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18MultiMethodInliner47visibility_changes_apply_and_record_make_staticERK17VisibilityChanges(ptr noundef nonnull align 8 dereferenceable(68736), ptr noundef nonnull align 8 dereferenceable(168)) #3 align 2

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

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

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

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

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

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

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

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

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { noreturn "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { "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 = { 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 #7 = { 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 #8 = { 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 #9 = { nounwind }
attributes #10 = { noreturn }
attributes #11 = { builtin allocsize(0) }
attributes #12 = { 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 = !{!"long", !7, i64 0}
!11 = !{!12, !74, i64 65873}
!12 = !{!"_ZTS18MultiMethodInliner", !13, i64 0, !19, i64 8, !21, i64 40, !23, i64 2704, !23, i64 5368, !25, i64 8032, !26, i64 10696, !26, i64 16680, !28, i64 22664, !34, i64 22720, !37, i64 22776, !37, i64 22832, !37, i64 22888, !40, i64 22944, !46, i64 22952, !46, i64 25616, !48, i64 28280, !50, i64 30944, !52, i64 33608, !21, i64 34072, !95, i64 36736, !58, i64 36744, !101, i64 36784, !103, i64 39448, !109, i64 39456, !115, i64 39464, !121, i64 39472, !127, i64 39480, !133, i64 39488, !101, i64 39496, !139, i64 42160, !145, i64 42168, !6, i64 45160, !6, i64 45168, !149, i64 45176, !6, i64 45184, !74, i64 45192, !74, i64 45193, !150, i64 45200, !202, i64 65752, !202, i64 65768, !202, i64 65784, !202, i64 65800, !202, i64 65816, !202, i64 65832, !202, i64 65848, !6, i64 65864, !74, i64 65872, !74, i64 65873, !218, i64 65880, !6, i64 66056, !219, i64 66064, !6, i64 68728}
!13 = !{!"_ZTSSt10unique_ptrISt6vectorIS_I10RefCheckerSt14default_deleteIS1_EESaIS4_EES2_IS6_EE", !14, i64 0}
!14 = !{!"_ZTSSt15__uniq_ptr_dataISt6vectorISt10unique_ptrI10RefCheckerSt14default_deleteIS2_EESaIS5_EES3_IS7_ELb1ELb1EE", !15, i64 0}
!15 = !{!"_ZTSSt15__uniq_ptr_implISt6vectorISt10unique_ptrI10RefCheckerSt14default_deleteIS2_EESaIS5_EES3_IS7_EE", !16, i64 0}
!16 = !{!"_ZTSSt5tupleIJPSt6vectorISt10unique_ptrI10RefCheckerSt14default_deleteIS2_EESaIS5_EES3_IS7_EEE", !17, i64 0}
!17 = !{!"_ZTSSt11_Tuple_implILm0EJPSt6vectorISt10unique_ptrI10RefCheckerSt14default_deleteIS2_EESaIS5_EES3_IS7_EEE", !18, i64 0}
!18 = !{!"_ZTSSt10_Head_baseILm0EPSt6vectorISt10unique_ptrI10RefCheckerSt14default_deleteIS2_EESaIS5_EELb0EE", !6, i64 0}
!19 = !{!"_ZTSSt8functionIFP9DexMethodP12DexMethodRef12MethodSearchPKS0_EE", !20, i64 0, !6, i64 24}
!20 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!21 = !{!"_ZTS13ConcurrentSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ELm83EE", !22, i64 0}
!22 = !{!"_ZTS19ConcurrentContainerISt13unordered_setIP9DexMethodSt4hashIS2_ESt8equal_toIS2_ESaIS2_EELm83EE", !7, i64 8}
!23 = !{!"_ZTS23InsertOnlyConcurrentSetIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_ELm83EE", !24, i64 0}
!24 = !{!"_ZTS19ConcurrentContainerISt13unordered_setIPK9DexMethodSt4hashIS3_ESt8equal_toIS3_ESaIS3_EELm83EE", !7, i64 8}
!25 = !{!"_ZTS13ConcurrentSetIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_ELm83EE", !24, i64 0}
!26 = !{!"_ZTS13ConcurrentMapIPK9DexMethod12UnorderedMapIPS0_mSt4hashIS4_ESt8equal_toIS4_EES5_IS2_ES7_IS2_ELm83EE", !27, i64 0, !7, i64 2664}
!27 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK9DexMethod12UnorderedMapIPS1_mSt4hashIS5_ESt8equal_toIS5_EES6_IS3_ES8_IS3_ESaISt4pairIKS3_SA_EEELm83EE", !7, i64 8}
!28 = !{!"_ZTS12UnorderedMapIPK9DexMethodN18MultiMethodInliner20CallerVirtualCalleesESt4hashIS2_ESt8equal_toIS2_EE", !29, i64 0}
!29 = !{!"_ZTSSt13unordered_mapIPK9DexMethodN18MultiMethodInliner20CallerVirtualCalleesESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !30, i64 0}
!30 = !{!"_ZTSSt10_HashtableIPK9DexMethodSt4pairIKS2_N18MultiMethodInliner20CallerVirtualCalleesEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!31 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!32 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !33, i64 0, !10, i64 8}
!33 = !{!"float", !7, i64 0}
!34 = !{!"_ZTS12UnorderedMapIP13IRInstructionP7DexTypeSt4hashIS1_ESt8equal_toIS1_EE", !35, i64 0}
!35 = !{!"_ZTSSt13unordered_mapIP13IRInstructionP7DexTypeSt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S3_EEE", !36, i64 0}
!36 = !{!"_ZTSSt10_HashtableIP13IRInstructionSt4pairIKS1_P7DexTypeESaIS6_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!37 = !{!"_ZTS12UnorderedSetIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_EE", !38, i64 0}
!38 = !{!"_ZTSSt13unordered_setIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_ESaIS2_EE", !39, i64 0}
!39 = !{!"_ZTSSt10_HashtableIPK9DexMethodS2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!40 = !{!"_ZTSSt10unique_ptrI14XDexMethodRefsSt14default_deleteIS0_EE", !41, i64 0}
!41 = !{!"_ZTSSt15__uniq_ptr_dataI14XDexMethodRefsSt14default_deleteIS0_ELb1ELb1EE", !42, i64 0}
!42 = !{!"_ZTSSt15__uniq_ptr_implI14XDexMethodRefsSt14default_deleteIS0_EE", !43, i64 0}
!43 = !{!"_ZTSSt5tupleIJP14XDexMethodRefsSt14default_deleteIS0_EEE", !44, i64 0}
!44 = !{!"_ZTSSt11_Tuple_implILm0EJP14XDexMethodRefsSt14default_deleteIS0_EEE", !45, i64 0}
!45 = !{!"_ZTSSt10_Head_baseILm0EP14XDexMethodRefsLb0EE", !6, i64 0}
!46 = !{!"_ZTS23InsertOnlyConcurrentMapIPK9DexMethod11InlinedCostSt4hashIS2_ESt8equal_toIS2_ELm83EE", !47, i64 0}
!47 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK9DexMethod11InlinedCostSt4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_S4_EEELm83EE", !7, i64 8}
!48 = !{!"_ZTS23InsertOnlyConcurrentMapI21CalleeCallSiteSummary11InlinedCostN5boost4hashIS0_EESt8equal_toIS0_ELm83EE", !49, i64 0}
!49 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapI21CalleeCallSiteSummary11InlinedCostN5boost4hashIS1_EESt8equal_toIS1_ESaISt4pairIKS1_S2_EEELm83EE", !7, i64 8}
!50 = !{!"_ZTS23InsertOnlyConcurrentMapIPK13IRInstructionPK11InlinedCostSt4hashIS2_ESt8equal_toIS2_ELm83EE", !51, i64 0}
!51 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK13IRInstructionPK11InlinedCostSt4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_S6_EEELm83EE", !7, i64 8}
!52 = !{!"_ZTS30PriorityThreadPoolDAGSchedulerIP9DexMethodE", !53, i64 0, !75, i64 296, !76, i64 328, !79, i64 384, !82, i64 440, !88, i64 448, !89, i64 456}
!53 = !{!"_ZTS18PriorityThreadPool", !54, i64 0, !10, i64 24, !58, i64 32, !10, i64 72, !60, i64 80, !60, i64 128, !60, i64 176, !62, i64 224, !70, i64 272, !72, i64 280, !74, i64 288}
!54 = !{!"_ZTSSt6vectorIN5boost6threadESaIS1_EE", !55, i64 0}
!55 = !{!"_ZTSSt12_Vector_baseIN5boost6threadESaIS1_EE", !56, i64 0}
!56 = !{!"_ZTSNSt12_Vector_baseIN5boost6threadESaIS1_EE12_Vector_implE", !57, i64 0}
!57 = !{!"_ZTSNSt12_Vector_baseIN5boost6threadESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!58 = !{!"_ZTSSt5mutex", !59, i64 0}
!59 = !{!"_ZTSSt12__mutex_base", !7, i64 0}
!60 = !{!"_ZTSSt18condition_variable", !61, i64 0}
!61 = !{!"_ZTSSt9__condvar", !7, i64 0}
!62 = !{!"_ZTSSt3mapIiSt5queueISt8functionIFvvEESt5dequeIS3_SaIS3_EEESt4lessIiESaISt4pairIKiS7_EEE", !63, i64 0}
!63 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKiSt5queueISt8functionIFvvEESt5dequeIS5_SaIS5_EEEESt10_Select1stISA_ESt4lessIiESaISA_EE", !64, i64 0}
!64 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKiSt5queueISt8functionIFvvEESt5dequeIS5_SaIS5_EEEESt10_Select1stISA_ESt4lessIiESaISA_EE13_Rb_tree_implISE_Lb1EEE", !65, i64 0, !67, i64 8}
!65 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !66, i64 0}
!66 = !{!"_ZTSSt4lessIiE"}
!67 = !{!"_ZTSSt15_Rb_tree_header", !68, i64 0, !10, i64 32}
!68 = !{!"_ZTSSt18_Rb_tree_node_base", !69, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!69 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!70 = !{!"_ZTSSt6atomicImE", !71, i64 0}
!71 = !{!"_ZTSSt13__atomic_baseImE", !10, i64 0}
!72 = !{!"_ZTSNSt6chrono8durationIdSt5ratioILl1ELl1EEEE", !73, i64 0}
!73 = !{!"double", !7, i64 0}
!74 = !{!"bool", !7, i64 0}
!75 = !{!"_ZTSSt8functionIFvP9DexMethodEE", !20, i64 0, !6, i64 24}
!76 = !{!"_ZTS12UnorderedMapIP9DexMethod12UnorderedSetIS1_St4hashIS1_ESt8equal_toIS1_EES4_S6_E", !77, i64 0}
!77 = !{!"_ZTSSt13unordered_mapIP9DexMethod12UnorderedSetIS1_St4hashIS1_ESt8equal_toIS1_EES4_S6_SaISt4pairIKS1_S7_EEE", !78, i64 0}
!78 = !{!"_ZTSSt10_HashtableIP9DexMethodSt4pairIKS1_12UnorderedSetIS1_St4hashIS1_ESt8equal_toIS1_EEESaISA_ENSt8__detail10_Select1stES8_S6_NSC_18_Mod_range_hashingENSC_20_Default_ranged_hashENSC_20_Prime_rehash_policyENSC_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!79 = !{!"_ZTS12UnorderedMapIP9DexMethodSt6atomicIjESt4hashIS1_ESt8equal_toIS1_EE", !80, i64 0}
!80 = !{!"_ZTSSt13unordered_mapIP9DexMethodSt6atomicIjESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S3_EEE", !81, i64 0}
!81 = !{!"_ZTSSt10_HashtableIP9DexMethodSt4pairIKS1_St6atomicIjEESaIS6_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!82 = !{!"_ZTSSt10unique_ptrI12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EESt14default_deleteIS7_EE", !83, i64 0}
!83 = !{!"_ZTSSt15__uniq_ptr_dataI12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EESt14default_deleteIS7_ELb1ELb1EE", !84, i64 0}
!84 = !{!"_ZTSSt15__uniq_ptr_implI12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EESt14default_deleteIS7_EE", !85, i64 0}
!85 = !{!"_ZTSSt5tupleIJP12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EESt14default_deleteIS7_EEE", !86, i64 0}
!86 = !{!"_ZTSSt11_Tuple_implILm0EJP12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EESt14default_deleteIS7_EEE", !87, i64 0}
!87 = !{!"_ZTSSt10_Head_baseILm0EP12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EELb0EE", !6, i64 0}
!88 = !{!"int", !7, i64 0}
!89 = !{!"_ZTSSt10unique_ptrI13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EESt14default_deleteISD_EE", !90, i64 0}
!90 = !{!"_ZTSSt15__uniq_ptr_dataI13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EESt14default_deleteISD_ELb1ELb1EE", !91, i64 0}
!91 = !{!"_ZTSSt15__uniq_ptr_implI13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EESt14default_deleteISD_EE", !92, i64 0}
!92 = !{!"_ZTSSt5tupleIJP13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EESt14default_deleteISD_EEE", !93, i64 0}
!93 = !{!"_ZTSSt11_Tuple_implILm0EJP13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EESt14default_deleteISD_EEE", !94, i64 0}
!94 = !{!"_ZTSSt10_Head_baseILm0EP13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EELb0EE", !6, i64 0}
!95 = !{!"_ZTSSt10unique_ptrI17VisibilityChangesSt14default_deleteIS0_EE", !96, i64 0}
!96 = !{!"_ZTSSt15__uniq_ptr_dataI17VisibilityChangesSt14default_deleteIS0_ELb1ELb1EE", !97, i64 0}
!97 = !{!"_ZTSSt15__uniq_ptr_implI17VisibilityChangesSt14default_deleteIS0_EE", !98, i64 0}
!98 = !{!"_ZTSSt5tupleIJP17VisibilityChangesSt14default_deleteIS0_EEE", !99, i64 0}
!99 = !{!"_ZTSSt11_Tuple_implILm0EJP17VisibilityChangesSt14default_deleteIS0_EEE", !100, i64 0}
!100 = !{!"_ZTSSt10_Head_baseILm0EP17VisibilityChangesLb0EE", !6, i64 0}
!101 = !{!"_ZTS23InsertOnlyConcurrentMapIPK9DexMethodbSt4hashIS2_ESt8equal_toIS2_ELm83EE", !102, i64 0}
!102 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK9DexMethodbSt4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_bEEELm83EE", !7, i64 8}
!103 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS8_EE", !104, i64 0}
!104 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS8_ELb1ELb1EE", !105, i64 0}
!105 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS8_EE", !106, i64 0}
!106 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS8_EEE", !107, i64 0}
!107 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS8_EEE", !108, i64 0}
!108 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!109 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EE", !110, i64 0}
!110 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_ELb1ELb1EE", !111, i64 0}
!111 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EE", !112, i64 0}
!112 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EEE", !113, i64 0}
!113 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EEE", !114, i64 0}
!114 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!115 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISE_EE", !116, i64 0}
!116 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISE_ELb1ELb1EE", !117, i64 0}
!117 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISE_EE", !118, i64 0}
!118 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISE_EEE", !119, i64 0}
!119 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISE_EEE", !120, i64 0}
!120 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!121 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISB_EE", !122, i64 0}
!122 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISB_ELb1ELb1EE", !123, i64 0}
!123 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISB_EE", !124, i64 0}
!124 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISB_EEE", !125, i64 0}
!125 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISB_EEE", !126, i64 0}
!126 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!127 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EE", !128, i64 0}
!128 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_ELb1ELb1EE", !129, i64 0}
!129 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EE", !130, i64 0}
!130 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EEE", !131, i64 0}
!131 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EEE", !132, i64 0}
!132 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!133 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISC_EE", !134, i64 0}
!134 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISC_ELb1ELb1EE", !135, i64 0}
!135 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISC_EE", !136, i64 0}
!136 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISC_EEE", !137, i64 0}
!137 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISC_EEE", !138, i64 0}
!138 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!139 = !{!"_ZTSSt10unique_ptrIN7inliner18CallSiteSummarizerESt14default_deleteIS1_EE", !140, i64 0}
!140 = !{!"_ZTSSt15__uniq_ptr_dataIN7inliner18CallSiteSummarizerESt14default_deleteIS1_ELb1ELb1EE", !141, i64 0}
!141 = !{!"_ZTSSt15__uniq_ptr_implIN7inliner18CallSiteSummarizerESt14default_deleteIS1_EE", !142, i64 0}
!142 = !{!"_ZTSSt5tupleIJPN7inliner18CallSiteSummarizerESt14default_deleteIS1_EEE", !143, i64 0}
!143 = !{!"_ZTSSt11_Tuple_implILm0EJPN7inliner18CallSiteSummarizerESt14default_deleteIS1_EEE", !144, i64 0}
!144 = !{!"_ZTSSt10_Head_baseILm0EPN7inliner18CallSiteSummarizerELb0EE", !6, i64 0}
!145 = !{!"_ZTSN18MultiMethodInliner12InliningInfoE", !10, i64 0, !10, i64 8, !10, i64 16, !88, i64 24, !70, i64 32, !70, i64 40, !70, i64 48, !70, i64 56, !70, i64 64, !70, i64 72, !70, i64 80, !70, i64 88, !70, i64 96, !70, i64 104, !70, i64 112, !70, i64 120, !70, i64 128, !70, i64 136, !70, i64 144, !70, i64 152, !70, i64 160, !70, i64 168, !70, i64 176, !70, i64 184, !70, i64 192, !70, i64 200, !70, i64 208, !70, i64 216, !70, i64 224, !70, i64 232, !70, i64 240, !70, i64 248, !70, i64 256, !70, i64 264, !70, i64 272, !70, i64 280, !70, i64 288, !146, i64 296, !147, i64 328}
!146 = !{!"_ZTSN7inliner20CallSiteSummaryStatsE", !70, i64 0, !70, i64 8, !70, i64 16, !70, i64 24}
!147 = !{!"_ZTS9AtomicMapIPK9DexMethodmSt4hashIS2_ESt8equal_toIS2_ELm83EE", !148, i64 0}
!148 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK9DexMethodSt6atomicImESt4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_S5_EEELm83EE", !7, i64 8}
!149 = !{!"_ZTS22MultiMethodInlinerMode", !7, i64 0}
!150 = !{!"_ZTSN8shrinker8ShrinkerE", !151, i64 0, !156, i64 24, !168, i64 2864, !88, i64 2920, !74, i64 2924, !169, i64 2928, !6, i64 2936, !175, i64 2944, !178, i64 3000, !181, i64 3056, !184, i64 3112, !196, i64 19808, !200, i64 19864, !201, i64 19928, !58, i64 19992, !202, i64 20032, !206, i64 20048, !202, i64 20120, !207, i64 20136, !202, i64 20256, !211, i64 20272, !202, i64 20312, !212, i64 20328, !202, i64 20400, !10, i64 20416, !202, i64 20424, !214, i64 20440, !202, i64 20520, !10, i64 20536, !10, i64 20544}
!151 = !{!"_ZTSN13random_forest6ForestIJRKN8shrinker8Shrinker13MethodContextEEEE", !152, i64 0}
!152 = !{!"_ZTSSt6vectorISt10unique_ptrIN13random_forest6ForestIJRKN8shrinker8Shrinker13MethodContextEEE16DecisionTreeNodeESt14default_deleteIS9_EESaISC_EE", !153, i64 0}
!153 = !{!"_ZTSSt12_Vector_baseISt10unique_ptrIN13random_forest6ForestIJRKN8shrinker8Shrinker13MethodContextEEE16DecisionTreeNodeESt14default_deleteIS9_EESaISC_EE", !154, i64 0}
!154 = !{!"_ZTSNSt12_Vector_baseISt10unique_ptrIN13random_forest6ForestIJRKN8shrinker8Shrinker13MethodContextEEE16DecisionTreeNodeESt14default_deleteIS9_EESaISC_EE12_Vector_implE", !155, i64 0}
!155 = !{!"_ZTSNSt12_Vector_baseISt10unique_ptrIN13random_forest6ForestIJRKN8shrinker8Shrinker13MethodContextEEE16DecisionTreeNodeESt14default_deleteIS9_EESaISC_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!156 = !{!"_ZTS10XStoreRefs", !157, i64 0, !159, i64 2664, !10, i64 2688, !163, i64 2696, !163, i64 2752, !166, i64 2808}
!157 = !{!"_ZTS23InsertOnlyConcurrentMapIPK7DexTypemSt4hashIS2_ESt8equal_toIS2_ELm83EE", !158, i64 0}
!158 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK7DexTypemSt4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_mEEELm83EE", !7, i64 8}
!159 = !{!"_ZTSSt6vectorIPK8DexStoreSaIS2_EE", !160, i64 0}
!160 = !{!"_ZTSSt12_Vector_baseIPK8DexStoreSaIS2_EE", !161, i64 0}
!161 = !{!"_ZTSNSt12_Vector_baseIPK8DexStoreSaIS2_EE12_Vector_implE", !162, i64 0}
!162 = !{!"_ZTSNSt12_Vector_baseIPK8DexStoreSaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!163 = !{!"_ZTS12UnorderedMapIPK8DexStore12UnorderedSetIS2_St4hashIS2_ESt8equal_toIS2_EES5_S7_E", !164, i64 0}
!164 = !{!"_ZTSSt13unordered_mapIPK8DexStore12UnorderedSetIS2_St4hashIS2_ESt8equal_toIS2_EES5_S7_SaISt4pairIKS2_S8_EEE", !165, i64 0}
!165 = !{!"_ZTSSt10_HashtableIPK8DexStoreSt4pairIKS2_12UnorderedSetIS2_St4hashIS2_ESt8equal_toIS2_EEESaISB_ENSt8__detail10_Select1stES9_S7_NSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!166 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !167, i64 0, !10, i64 8, !7, i64 16}
!167 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!168 = !{!"_ZTSN8shrinker14ShrinkerConfigE", !74, i64 0, !74, i64 1, !74, i64 2, !74, i64 3, !74, i64 4, !74, i64 5, !74, i64 6, !74, i64 7, !74, i64 8, !74, i64 9, !166, i64 16, !74, i64 48}
!169 = !{!"_ZTSSt10unique_ptrIN8cse_impl11SharedStateESt14default_deleteIS1_EE", !170, i64 0}
!170 = !{!"_ZTSSt15__uniq_ptr_dataIN8cse_impl11SharedStateESt14default_deleteIS1_ELb1ELb1EE", !171, i64 0}
!171 = !{!"_ZTSSt15__uniq_ptr_implIN8cse_impl11SharedStateESt14default_deleteIS1_EE", !172, i64 0}
!172 = !{!"_ZTSSt5tupleIJPN8cse_impl11SharedStateESt14default_deleteIS1_EEE", !173, i64 0}
!173 = !{!"_ZTSSt11_Tuple_implILm0EJPN8cse_impl11SharedStateESt14default_deleteIS1_EEE", !174, i64 0}
!174 = !{!"_ZTSSt10_Head_baseILm0EPN8cse_impl11SharedStateELb0EE", !6, i64 0}
!175 = !{!"_ZTS12UnorderedSetIP12DexMethodRefSt4hashIS1_ESt8equal_toIS1_EE", !176, i64 0}
!176 = !{!"_ZTSSt13unordered_setIP12DexMethodRefSt4hashIS1_ESt8equal_toIS1_ESaIS1_EE", !177, i64 0}
!177 = !{!"_ZTSSt10_HashtableIP12DexMethodRefS1_SaIS1_ENSt8__detail9_IdentityESt8equal_toIS1_ESt4hashIS1_ENS3_18_Mod_range_hashingENS3_20_Default_ranged_hashENS3_20_Prime_rehash_policyENS3_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!178 = !{!"_ZTS12UnorderedSetIPK9DexStringSt4hashIS2_ESt8equal_toIS2_EE", !179, i64 0}
!179 = !{!"_ZTSSt13unordered_setIPK9DexStringSt4hashIS2_ESt8equal_toIS2_ESaIS2_EE", !180, i64 0}
!180 = !{!"_ZTSSt10_HashtableIPK9DexStringS2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!181 = !{!"_ZTS12UnorderedSetIPK8DexFieldSt4hashIS2_ESt8equal_toIS2_EE", !182, i64 0}
!182 = !{!"_ZTSSt13unordered_setIPK8DexFieldSt4hashIS2_ESt8equal_toIS2_ESaIS2_EE", !183, i64 0}
!183 = !{!"_ZTSSt10_HashtableIPK8DexFieldS2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!184 = !{!"_ZTSN20constant_propagation31ImmutableAttributeAnalyzerStateE", !185, i64 0, !21, i64 5984, !187, i64 8648, !189, i64 11312, !192, i64 11368, !194, i64 14032}
!185 = !{!"_ZTS13ConcurrentMapIP9DexMethodSt6vectorISt10unique_ptrIN20constant_propagation31ImmutableAttributeAnalyzerState11InitializerESt14default_deleteIS6_EESaIS9_EESt4hashIS1_ESt8equal_toIS1_ELm83EE", !186, i64 0, !7, i64 2664}
!186 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIP9DexMethodSt6vectorISt10unique_ptrIN20constant_propagation31ImmutableAttributeAnalyzerState11InitializerESt14default_deleteIS7_EESaISA_EESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_SC_EEELm83EE", !7, i64 8}
!187 = !{!"_ZTS13ConcurrentSetIP8DexFieldSt4hashIS1_ESt8equal_toIS1_ELm83EE", !188, i64 0}
!188 = !{!"_ZTS19ConcurrentContainerISt13unordered_setIP8DexFieldSt4hashIS2_ESt8equal_toIS2_ESaIS2_EELm83EE", !7, i64 8}
!189 = !{!"_ZTS12UnorderedMapIP9DexMethodN20constant_propagation31ImmutableAttributeAnalyzerState18CachedBoxedObjectsESt4hashIS1_ESt8equal_toIS1_EE", !190, i64 0}
!190 = !{!"_ZTSSt13unordered_mapIP9DexMethodN20constant_propagation31ImmutableAttributeAnalyzerState18CachedBoxedObjectsESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S4_EEE", !191, i64 0}
!191 = !{!"_ZTSSt10_HashtableIP9DexMethodSt4pairIKS1_N20constant_propagation31ImmutableAttributeAnalyzerState18CachedBoxedObjectsEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!192 = !{!"_ZTS13ConcurrentSetIP7DexTypeSt4hashIS1_ESt8equal_toIS1_ELm83EE", !193, i64 0}
!193 = !{!"_ZTS19ConcurrentContainerISt13unordered_setIP7DexTypeSt4hashIS2_ESt8equal_toIS2_ESaIS2_EELm83EE", !7, i64 8}
!194 = !{!"_ZTS23InsertOnlyConcurrentMapIP7DexTypebSt4hashIS1_ESt8equal_toIS1_ELm83EE", !195, i64 0}
!195 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIP7DexTypebSt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_bEEELm83EE", !7, i64 8}
!196 = !{!"_ZTSN20constant_propagation19StringAnalyzerStateE", !197, i64 0}
!197 = !{!"_ZTS12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE", !198, i64 0}
!198 = !{!"_ZTSSt13unordered_setIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ESaIS1_EE", !199, i64 0}
!199 = !{!"_ZTSSt10_HashtableIP9DexMethodS1_SaIS1_ENSt8__detail9_IdentityESt8equal_toIS1_ESt4hashIS1_ENS3_18_Mod_range_hashingENS3_20_Default_ranged_hashENS3_20_Prime_rehash_policyENS3_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!200 = !{!"_ZTSN20constant_propagation16PackageNameStateE", !175, i64 0, !6, i64 56}
!201 = !{!"_ZTSN20constant_propagation5StateE", !175, i64 0, !6, i64 56}
!202 = !{!"_ZTS17AccumulatingTimer", !203, i64 0}
!203 = !{!"_ZTSSt10shared_ptrISt6atomicImEE", !204, i64 0}
!204 = !{!"_ZTSSt12__shared_ptrISt6atomicImELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !205, i64 8}
!205 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!206 = !{!"_ZTSN20constant_propagation9Transform5StatsE", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64}
!207 = !{!"_ZTSN8cse_impl5StatsE", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !208, i64 48, !10, i64 104, !10, i64 112}
!208 = !{!"_ZTS12UnorderedMapItmSt4hashItESt8equal_toItEE", !209, i64 0}
!209 = !{!"_ZTSSt13unordered_mapItmSt4hashItESt8equal_toItESaISt4pairIKtmEEE", !210, i64 0}
!210 = !{!"_ZTSSt10_HashtableItSt4pairIKtmESaIS2_ENSt8__detail10_Select1stESt8equal_toItESt4hashItENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!211 = !{!"_ZTSN21copy_propagation_impl5StatsE", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!212 = !{!"_ZTSN8LocalDce5StatsE", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !213, i64 48}
!213 = !{!"_ZTSN12init_classes5StatsE", !10, i64 0, !10, i64 8, !10, i64 16}
!214 = !{!"_ZTSN17dedup_blocks_impl5StatsE", !88, i64 0, !88, i64 4, !88, i64 8, !88, i64 12, !88, i64 16, !215, i64 24}
!215 = !{!"_ZTS12UnorderedMapImmSt4hashImESt8equal_toImEE", !216, i64 0}
!216 = !{!"_ZTSSt13unordered_mapImmSt4hashImESt8equal_toImESaISt4pairIKmmEEE", !217, i64 0}
!217 = !{!"_ZTSSt10_HashtableImSt4pairIKmmESaIS2_ENSt8__detail10_Select1stESt8equal_toImESt4hashImENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!218 = !{!"_ZTS17InlinerCostConfig", !33, i64 0, !33, i64 4, !10, i64 8, !33, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !33, i64 112, !33, i64 116, !33, i64 120, !33, i64 124, !33, i64 128, !33, i64 132, !33, i64 136, !33, i64 140, !33, i64 144, !33, i64 148, !33, i64 152, !33, i64 156, !33, i64 160, !33, i64 164, !33, i64 168}
!219 = !{!"_ZTS23InsertOnlyConcurrentMapIPK9DexMethodS2_St4hashIS2_ESt8equal_toIS2_ELm83EE", !220, i64 0}
!220 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK9DexMethodS3_St4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_S3_EEELm83EE", !7, i64 8}
!221 = !{i8 0, i8 2}
!222 = !{}
!223 = !{!74, !74, i64 0}
!224 = !{!225, !6, i64 8}
!225 = !{!"_ZTSZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEE3$_0", !6, i64 0, !6, i64 8}
!226 = !{!12, !6, i64 45168}
!227 = !{!228, !74, i64 73}
!228 = !{!"_ZTSN7inliner13InlinerConfigE", !74, i64 0, !74, i64 1, !74, i64 2, !74, i64 3, !74, i64 4, !74, i64 5, !74, i64 6, !74, i64 7, !74, i64 8, !74, i64 9, !74, i64 10, !74, i64 11, !168, i64 16, !74, i64 72, !74, i64 73, !74, i64 74, !74, i64 75, !74, i64 76, !74, i64 77, !74, i64 78, !10, i64 80, !10, i64 88, !10, i64 96, !166, i64 104, !229, i64 136, !230, i64 144, !230, i64 200, !233, i64 256, !233, i64 280, !233, i64 304, !233, i64 328, !10, i64 352, !74, i64 360, !230, i64 368, !230, i64 424, !230, i64 480}
!229 = !{!"_ZTSN7inliner18UnfinalizePerfModeE", !7, i64 0}
!230 = !{!"_ZTS12UnorderedSetIP7DexTypeSt4hashIS1_ESt8equal_toIS1_EE", !231, i64 0}
!231 = !{!"_ZTSSt13unordered_setIP7DexTypeSt4hashIS1_ESt8equal_toIS1_ESaIS1_EE", !232, i64 0}
!232 = !{!"_ZTSSt10_HashtableIP7DexTypeS1_SaIS1_ENSt8__detail9_IdentityESt8equal_toIS1_ESt4hashIS1_ENS3_18_Mod_range_hashingENS3_20_Default_ranged_hashENS3_20_Prime_rehash_policyENS3_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !10, i64 8, !31, i64 16, !10, i64 24, !32, i64 32, !6, i64 48}
!233 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !234, i64 0}
!234 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !235, i64 0}
!235 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !236, i64 0}
!236 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!237 = !{!88, !88, i64 0}
!238 = !{!239, !6, i64 0}
!239 = !{!"_ZTSZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEE3$_1", !6, i64 0, !6, i64 8, !6, i64 16}
!240 = !{!241, !6, i64 0}
!241 = !{!"_ZTS9Inlinable", !6, i64 0, !6, i64 8, !74, i64 16, !74, i64 17, !242, i64 24, !10, i64 40, !6, i64 48}
!242 = !{!"_ZTSSt10shared_ptrI11ReducedCodeE", !243, i64 0}
!243 = !{!"_ZTSSt12__shared_ptrI11ReducedCodeLN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !205, i64 8}
!244 = !{!241, !6, i64 8}
!245 = !{!241, !74, i64 16}
!246 = !{!228, !74, i64 7}
!247 = !{!7, !7, i64 0}
!248 = !{!249, !6, i64 0}
!249 = !{!"_ZTSSt16initializer_listIP13IRInstructionE", !6, i64 0, !10, i64 8}
!250 = !{!249, !10, i64 8}
!251 = !{!252, !88, i64 0}
!252 = !{!"_ZTSSt4pairIjbE", !88, i64 0, !74, i64 4}
!253 = !{!252, !74, i64 4}
!254 = !{!12, !6, i64 45184}
!255 = !{!256, !256, i64 0}
!256 = !{!"vtable pointer", !8, i64 0}
!257 = !{!241, !10, i64 40}
!258 = !{!228, !74, i64 11}
!259 = !{!228, !74, i64 4}
!260 = !{!12, !6, i64 68728}
!261 = !{!228, !229, i64 136}
!262 = !{!241, !6, i64 48}
!263 = !{!228, !74, i64 77}
!264 = distinct !{!264, !265}
!265 = !{!"llvm.loop.mustprogress"}
!266 = !{!241, !74, i64 17}


; 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.AccumulatingTimer::AccumulatingTimerScope" = type { ptr, %"class.std::chrono::time_point" }
%"class.std::chrono::time_point" = type { %"class.std::chrono::duration.519" }
%"class.std::chrono::duration.519" = type { i64 }
%"class.std::vector.731" = type { %"struct.std::_Vector_base.732" }
%"struct.std::_Vector_base.732" = type { %"struct.std::_Vector_base<Inlinable, std::allocator<Inlinable>>::_Vector_impl" }
%"struct.std::_Vector_base<Inlinable, std::allocator<Inlinable>>::_Vector_impl" = type { %"struct.std::_Vector_base<Inlinable, std::allocator<Inlinable>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Inlinable, std::allocator<Inlinable>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.733" = type { i8 }
%"class.std::vector.825" = type { %"struct.std::_Vector_base.826" }
%"struct.std::_Vector_base.826" = type { %"struct.std::_Vector_base<DexMethod *, std::allocator<DexMethod *>>::_Vector_impl" }
%"struct.std::_Vector_base<DexMethod *, std::allocator<DexMethod *>>::_Vector_impl" = type { %"struct.std::_Vector_base<DexMethod *, std::allocator<DexMethod *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<DexMethod *, std::allocator<DexMethod *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.boost::optional.830" = type { %"class.boost::optional_detail::tc_optional_base" }
%"class.boost::optional_detail::tc_optional_base" = type { i8, i32 }
%"class.std::unique_ptr.831" = type { %"struct.std::__uniq_ptr_data.832" }
%"struct.std::__uniq_ptr_data.832" = type { %"class.std::__uniq_ptr_impl.833" }
%"class.std::__uniq_ptr_impl.833" = type { %"class.std::tuple.834" }
%"class.std::tuple.834" = type { %"struct.std::_Tuple_impl.835" }
%"struct.std::_Tuple_impl.835" = type { %"struct.std::_Head_base.838" }
%"struct.std::_Head_base.838" = type { ptr }
%class.anon.839 = type { ptr, ptr, ptr }
%struct.VisibilityChanges = type { %class.UnorderedSet.840, %class.UnorderedSet.862, %class.UnorderedSet.401 }
%class.UnorderedSet.840 = type { %"class.std::unordered_set.842" }
%"class.std::unordered_set.842" = type { %"class.std::_Hashtable.843" }
%"class.std::_Hashtable.843" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%class.UnorderedSet.862 = type { %"class.std::unordered_set.864" }
%"class.std::unordered_set.864" = type { %"class.std::_Hashtable.865" }
%"class.std::_Hashtable.865" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%class.UnorderedSet.401 = type { %"class.std::unordered_set.403" }
%"class.std::unordered_set.403" = type { %"class.std::_Hashtable.404" }
%"class.std::_Hashtable.404" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.__gnu_cxx::__normal_iterator.823" = type { ptr }
%"class.cfg::InstructionIteratorImpl" = type { ptr, %"struct.std::_Rb_tree_const_iterator", %"class.ir_list::InstructionIteratorImpl" }
%"struct.std::_Rb_tree_const_iterator" = type { ptr }
%"class.ir_list::InstructionIteratorImpl" = type { %"class.boost::intrusive::list_iterator", %"class.boost::intrusive::list_iterator" }
%"class.boost::intrusive::list_iterator" = type { %"struct.boost::intrusive::iiterator_members" }
%"struct.boost::intrusive::iiterator_members" = type { ptr }
%"class.std::vector.780" = type { %"struct.std::_Vector_base.781" }
%"struct.std::_Vector_base.781" = type { %"struct.std::_Vector_base<IRInstruction *, std::allocator<IRInstruction *>>::_Vector_impl" }
%"struct.std::_Vector_base<IRInstruction *, std::allocator<IRInstruction *>>::_Vector_impl" = type { %"struct.std::_Vector_base<IRInstruction *, std::allocator<IRInstruction *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<IRInstruction *, std::allocator<IRInstruction *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.782" = type { i8 }
%"struct.MultiMethodInliner::InlinableDecision" = type { i8 }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.UnorderedSet<DexMethod *>::UnorderedIterable" = type { ptr }
%"struct.std::__detail::_Node_iterator.617" = type { %"struct.std::__detail::_Node_iterator_base.618" }
%"struct.std::__detail::_Node_iterator_base.618" = type { ptr }
%"class.std::lock_guard" = type { ptr }

@.str.14 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [29 x i8], align 1
@__PRETTY_FUNCTION__._ZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EE = external hidden unnamed_addr constant [90 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [57 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: noreturn
declare void @_Z11assert_failPKcS0_jS0_10RedexErrorS0_z(ptr noundef, ptr noundef, i32 noundef, ptr noundef, i32 noundef, ptr noundef, ...) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK8shrinker8Shrinker7enabledEv(ptr noundef nonnull align 8 dereferenceable(20552)) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN17AccumulatingTimer5scopeEv(ptr dead_on_unwind noalias writable sret(%"class.AccumulatingTimer::AccumulatingTimerScope") align 8, ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN9DexMethod8get_codeEv(ptr noundef nonnull align 8 dereferenceable(88)) local_unnamed_addr #1 align 2

declare noundef zeroext i1 @_ZNK6IRCode18editable_cfg_builtEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt12__shared_ptrI11ReducedCodeLN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1 align 2

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

declare noundef zeroext i1 @_ZN6method7is_initEPK12DexMethodRef(ptr noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
define dso_local noundef i64 @_ZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EE(ptr noundef nonnull align 8 dereferenceable(68736) %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(24) %2) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca %"class.AccumulatingTimer::AccumulatingTimerScope", align 8
  %6 = alloca %"class.std::vector.731", align 8
  %7 = alloca %"class.std::allocator.733", align 1
  %8 = alloca i8, align 1
  %9 = alloca %"class.std::vector.825", align 8
  %10 = alloca %"class.boost::optional.830", align 4
  %11 = alloca i32, align 4
  %12 = alloca %"class.std::unique_ptr.831", align 8
  %13 = alloca %class.anon.839, align 8
  %14 = alloca %struct.VisibilityChanges, align 8
  %15 = alloca %class.UnorderedSet.401, align 8
  %16 = alloca %"class.__gnu_cxx::__normal_iterator.823", align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator.823", align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca %"class.cfg::InstructionIteratorImpl", align 8
  %21 = alloca i32, align 4
  %22 = alloca %"class.std::vector.780", align 8
  %23 = alloca [3 x ptr], align 8
  %24 = alloca %"class.std::allocator.782", align 1
  %25 = alloca i32, align 4
  %26 = alloca %"class.cfg::InstructionIteratorImpl", align 8
  %27 = alloca i8, align 1
  %28 = alloca %"struct.MultiMethodInliner::InlinableDecision", align 1
  %29 = alloca i32, align 4
  %30 = alloca %"struct.MultiMethodInliner::InlinableDecision", align 1
  %31 = alloca i32, align 4
  %32 = alloca %"struct.MultiMethodInliner::InlinableDecision", align 1
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca i32, align 4
  %35 = alloca %"class.AccumulatingTimer::AccumulatingTimerScope", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %struct.VisibilityChanges, align 8
  %40 = alloca ptr, align 8
  %41 = alloca %"class.UnorderedSet<DexMethod *>::UnorderedIterable", align 8
  %42 = alloca %"struct.std::__detail::_Node_iterator.617", align 8
  %43 = alloca %"struct.std::__detail::_Node_iterator.617", align 8
  %44 = alloca %struct.VisibilityChanges, align 8
  %45 = alloca %"class.std::lock_guard", align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) #9
  %46 = getelementptr inbounds i8, ptr %0, i64 65800
  call void @_ZN17AccumulatingTimer5scopeEv(ptr dead_on_unwind nonnull writable sret(%"class.AccumulatingTimer::AccumulatingTimerScope") align 8 %5, ptr noundef nonnull align 8 dereferenceable(16) %46)
  %47 = call noundef ptr @_ZN9DexMethod8get_codeEv(ptr noundef nonnull align 8 dereferenceable(88) %1)
  %48 = invoke noundef zeroext i1 @_ZNK6IRCode18editable_cfg_builtEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %49 unwind label %52

49:                                               ; preds = %3
  br i1 %48, label %54, label %50

50:                                               ; preds = %49
  invoke void (ptr, ptr, i32, ptr, i32, ptr, ...) @_Z11assert_failPKcS0_jS0_10RedexErrorS0_z(ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.14, i32 noundef 662, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EE, i32 noundef 2, ptr noundef nonnull @.str.15) #10
          to label %51 unwind label %52

51:                                               ; preds = %50
  unreachable

52:                                               ; preds = %50, %3
  %53 = landingpad { ptr, i32 }
          cleanup
  br label %702

54:                                               ; preds = %49
  %55 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  %56 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph19estimate_code_unitsEv(ptr noundef nonnull align 8 dereferenceable(160) %55)
          to label %57 unwind label %86

57:                                               ; preds = %54
  %58 = zext i32 %56 to i64
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #9
  %59 = call ptr @_ZNKSt6vectorI9InlinableSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #9
  %60 = call ptr @_ZNKSt6vectorI9InlinableSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #9
  call void @_ZNSaI9InlinableEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #9
  invoke void @_ZNSt6vectorI9InlinableSaIS0_EEC2IN9__gnu_cxx17__normal_iteratorIPKS0_S2_EEvEET_S9_RKS1_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr %59, ptr %60, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %61 unwind label %88

61:                                               ; preds = %57
  call void @_ZNSt15__new_allocatorI9InlinableED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #9
  %62 = getelementptr inbounds i8, ptr %0, i64 65873
  %63 = load i8, ptr %62, align 1, !tbaa !9, !range !220, !noundef !221
  %64 = trunc nuw i8 %63 to i1
  br i1 %64, label %65, label %70

65:                                               ; preds = %61
  %66 = getelementptr inbounds i8, ptr %0, i64 2704
  %67 = invoke noundef i64 @_ZNK19ConcurrentContainerISt13unordered_setIPK9DexMethodSt4hashIS3_ESt8equal_toIS3_ESaIS3_EELm83EE12count_unsafeERKS3_(ptr noundef nonnull align 8 dereferenceable(2664) %66, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %68 unwind label %90

68:                                               ; preds = %65
  %69 = icmp ne i64 %67, 0
  br label %70

70:                                               ; preds = %68, %61
  %71 = phi i1 [ false, %61 ], [ %69, %68 ]
  %72 = zext i1 %71 to i8
  store i8 %72, ptr %8, align 1, !tbaa !222
  %73 = call ptr @_ZNSt6vectorI9InlinableSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  %74 = call ptr @_ZNSt6vectorI9InlinableSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  invoke void @"_ZSt11stable_sortIN9__gnu_cxx17__normal_iteratorIP9InlinableSt6vectorIS2_SaIS2_EEEEZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKS6_E3$_0EvT_SE_T0_"(ptr %73, ptr %74, ptr nonnull %8, ptr nonnull %0)
          to label %75 unwind label %90

75:                                               ; preds = %70
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #9
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #9
  call void @_ZN5boost8optionalIjEC2Ev(ptr noundef nonnull align 4 dereferenceable(8) %10) #9
  %76 = getelementptr inbounds i8, ptr %0, i64 45168
  %77 = load ptr, ptr %76, align 8, !tbaa !223
  %78 = getelementptr inbounds i8, ptr %77, i64 73
  %79 = load i8, ptr %78, align 1, !tbaa !224, !range !220, !noundef !221
  %80 = trunc nuw i8 %79 to i1
  br i1 %80, label %94, label %81

81:                                               ; preds = %75
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #9
  %82 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  %83 = call noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %82)
  store i32 %83, ptr %11, align 4, !tbaa !234
  %84 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %10, ptr noundef nonnull align 4 dereferenceable(4) %11)
          to label %85 unwind label %92

85:                                               ; preds = %81
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #9
  br label %94

86:                                               ; preds = %54
  %87 = landingpad { ptr, i32 }
          cleanup
  br label %702

88:                                               ; preds = %57
  %89 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorI9InlinableED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #9
  br label %701

90:                                               ; preds = %70, %65
  %91 = landingpad { ptr, i32 }
          cleanup
  br label %700

92:                                               ; preds = %81
  %93 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #9
  br label %699

94:                                               ; preds = %85, %75
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #9
  call void @_ZNSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EEC2ISA_vEEv(ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #9
  store ptr %47, ptr %13, align 8, !tbaa !235
  %95 = getelementptr inbounds i8, ptr %13, i64 8
  store ptr %12, ptr %95, align 8, !tbaa !5
  %96 = getelementptr inbounds i8, ptr %13, i64 16
  store ptr %6, ptr %96, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %14) #9
  invoke void @_ZN17VisibilityChangesC2Ev(ptr noundef nonnull align 8 dereferenceable(168) %14)
          to label %97 unwind label %113

97:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %15) #9
  call void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %15)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #9
  %98 = call ptr @_ZNSt6vectorI9InlinableSaIS0_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  store ptr %98, ptr %16, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #9
  %99 = call ptr @_ZNSt6vectorI9InlinableSaIS0_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  store ptr %99, ptr %17, align 8
  %100 = call noundef zeroext i1 @_ZN9__gnu_cxxneIP9InlinableSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  br i1 %100, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %97
  %101 = getelementptr inbounds i8, ptr %0, i64 45184
  %102 = getelementptr inbounds i8, ptr %0, i64 45200
  %103 = getelementptr inbounds i8, ptr %0, i64 65816
  %104 = getelementptr inbounds i8, ptr %0, i64 68728
  %105 = getelementptr inbounds i8, ptr %0, i64 66064
  %106 = getelementptr inbounds i8, ptr %0, i64 8032
  %107 = getelementptr inbounds i8, ptr %0, i64 42200
  %108 = getelementptr inbounds i8, ptr %0, i64 42208
  %109 = getelementptr inbounds i8, ptr %0, i64 42496
  %110 = getelementptr inbounds i8, ptr %23, i64 8
  %111 = getelementptr inbounds i8, ptr %23, i64 16
  br label %115

._crit_edge:                                      ; preds = %600, %97
  %.0258.lcssa = phi i64 [ 0, %97 ], [ %.5263, %600 ]
  %.0244.lcssa = phi i64 [ 0, %97 ], [ %.5249, %600 ]
  %.0236.lcssa = phi i64 [ 0, %97 ], [ %.3239, %600 ]
  %.0230.lcssa = phi i64 [ 0, %97 ], [ %.5235, %600 ]
  %.0226.lcssa = phi i64 [ 0, %97 ], [ %.3229, %600 ]
  %.0222.lcssa = phi i64 [ 0, %97 ], [ %.3225, %600 ]
  %.0216.lcssa = phi i64 [ 0, %97 ], [ %.5221, %600 ]
  %.0213.lcssa = phi i64 [ 0, %97 ], [ %.2215, %600 ]
  %.0205.lcssa = phi i64 [ 0, %97 ], [ %.7212, %600 ]
  %.0197.lcssa = phi i64 [ 0, %97 ], [ %.7204, %600 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #9
  %112 = call noundef zeroext i1 @_ZNKSt6vectorIP9DexMethodSaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  br i1 %112, label %650, label %607

113:                                              ; preds = %94
  %114 = landingpad { ptr, i32 }
          cleanup
  br label %698

115:                                              ; preds = %.lr.ph, %600
  %.0188901 = phi i64 [ %58, %.lr.ph ], [ %.8196, %600 ]
  %.0197900 = phi i64 [ 0, %.lr.ph ], [ %.7204, %600 ]
  %.0205899 = phi i64 [ 0, %.lr.ph ], [ %.7212, %600 ]
  %.0213897 = phi i64 [ 0, %.lr.ph ], [ %.2215, %600 ]
  %.0216896 = phi i64 [ 0, %.lr.ph ], [ %.5221, %600 ]
  %.0222895 = phi i64 [ 0, %.lr.ph ], [ %.3225, %600 ]
  %.0226894 = phi i64 [ 0, %.lr.ph ], [ %.3229, %600 ]
  %.0230893 = phi i64 [ 0, %.lr.ph ], [ %.5235, %600 ]
  %.0236892 = phi i64 [ 0, %.lr.ph ], [ %.3239, %600 ]
  %.0240891 = phi i64 [ 0, %.lr.ph ], [ %.3243, %600 ]
  %.0244890 = phi i64 [ 0, %.lr.ph ], [ %.5249, %600 ]
  %.0258889 = phi i64 [ 0, %.lr.ph ], [ %.5263, %600 ]
  %116 = call noundef nonnull align 8 dereferenceable(56) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP9InlinableSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #9
  %117 = load ptr, ptr %116, align 8, !tbaa !237
  store ptr %117, ptr %18, align 8, !tbaa !5
  %118 = getelementptr inbounds i8, ptr %116, i64 24
  %119 = call noundef zeroext i1 @_ZNKSt12__shared_ptrI11ReducedCodeLN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %118) #9
  br i1 %119, label %120, label %123

120:                                              ; preds = %115
  %121 = call noundef ptr @_ZNKSt19__shared_ptr_accessI11ReducedCodeLN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %118) #9
  %122 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN11ReducedCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %121)
  br label %123

123:                                              ; preds = %115, %120
  %124 = phi ptr [ %122, %120 ], [ null, %115 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #9
  %125 = getelementptr inbounds i8, ptr %116, i64 8
  %126 = load ptr, ptr %125, align 8, !tbaa !241
  store ptr %126, ptr %19, align 8, !tbaa !5
  %127 = call noundef zeroext i1 @_ZNKSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EEcvbEv(ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  br i1 %127, label %128, label %138

128:                                              ; preds = %123
  %129 = call noundef ptr @_ZNKSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  %130 = invoke noundef i64 @_ZNK12UnorderedSetIPK13IRInstructionSt4hashIS2_ESt8equal_toIS2_EE5countERKS2_(ptr noundef nonnull align 8 dereferenceable(56) %129, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %131 unwind label %136

131:                                              ; preds = %128
  %.not294 = icmp eq i64 %130, 0
  br i1 %.not294, label %132, label %138

132:                                              ; preds = %131
  %133 = getelementptr inbounds i8, ptr %116, i64 16
  %134 = load i8, ptr %133, align 8, !tbaa !242, !range !220, !noundef !221
  %135 = xor i8 %134, 1
  %not.421 = zext nneg i8 %135 to i64
  %spec.select = add i64 %.0205899, %not.421
  br label %600

136:                                              ; preds = %147, %128
  %137 = landingpad { ptr, i32 }
          cleanup
  br label %606

138:                                              ; preds = %131, %123
  %139 = getelementptr inbounds i8, ptr %116, i64 16
  %140 = load i8, ptr %139, align 8, !tbaa !242, !range !220, !noundef !221
  %141 = trunc nuw i8 %140 to i1
  br i1 %141, label %142, label %248

142:                                              ; preds = %138
  %143 = load ptr, ptr %76, align 8, !tbaa !223
  %144 = getelementptr inbounds i8, ptr %143, i64 7
  %145 = load i8, ptr %144, align 1, !tbaa !243, !range !220, !noundef !221
  %146 = trunc nuw i8 %145 to i1
  br i1 %146, label %147, label %600

147:                                              ; preds = %142
  %148 = load ptr, ptr %4, align 8, !tbaa !5
  %149 = getelementptr inbounds i8, ptr %148, i64 72
  %150 = invoke noundef zeroext i1 @_ZNK15ReferencedState16no_optimizationsEv(ptr noundef nonnull align 8 dereferenceable(16) %149)
          to label %151 unwind label %136

151:                                              ; preds = %147
  br i1 %150, label %600, label %152

152:                                              ; preds = %151
  %153 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #9
  %154 = load ptr, ptr %19, align 8, !tbaa !5
  invoke void @_ZN3cfg16ControlFlowGraph9find_insnEP13IRInstructionPNS_5BlockE(ptr dead_on_unwind nonnull writable sret(%"class.cfg::InstructionIteratorImpl") align 8 %20, ptr noundef nonnull align 8 dereferenceable(160) %153, ptr noundef %154, ptr noundef null)
          to label %155 unwind label %167

155:                                              ; preds = %152
  %156 = invoke noundef zeroext i1 @_ZNK3cfg23InstructionIteratorImplILb0EE6is_endEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %157 unwind label %167

157:                                              ; preds = %155
  br i1 %156, label %246, label %158

158:                                              ; preds = %157
  %159 = load ptr, ptr %76, align 8, !tbaa !223
  %160 = getelementptr inbounds i8, ptr %159, i64 73
  %161 = load i8, ptr %160, align 1, !tbaa !224, !range !220, !noundef !221
  %162 = trunc nuw i8 %161 to i1
  br i1 %162, label %163, label %171

163:                                              ; preds = %158
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #9
  %164 = call noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %153)
  store i32 %164, ptr %21, align 4, !tbaa !234
  %165 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %10, ptr noundef nonnull align 4 dereferenceable(4) %21)
          to label %166 unwind label %169

166:                                              ; preds = %163
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #9
  br label %171

167:                                              ; preds = %155, %152
  %168 = landingpad { ptr, i32 }
          cleanup
  br label %247

169:                                              ; preds = %163
  %170 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #9
  br label %247

171:                                              ; preds = %166, %158
  %172 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNR5boost8optionalIjEdeEv(ptr noundef nonnull align 4 dereferenceable(8) %10)
          to label %173 unwind label %178

173:                                              ; preds = %171
  %174 = load i32, ptr %172, align 4, !tbaa !234
  %175 = call noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %153)
  %.not327 = icmp ult i32 %174, %175
  br i1 %.not327, label %180, label %176

176:                                              ; preds = %173
  %177 = add i32 %174, 1
  call void @_ZN3cfg16ControlFlowGraph18set_registers_sizeEj(ptr noundef nonnull align 8 dereferenceable(160) %153, i32 noundef %177)
  br label %180

178:                                              ; preds = %171
  %179 = landingpad { ptr, i32 }
          cleanup
  br label %247

180:                                              ; preds = %176, %173
  %181 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #11
          to label %182 unwind label %214

182:                                              ; preds = %180
  %183 = invoke noundef ptr @_ZNK3cfg23InstructionIteratorImplILb0EEptEv(ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %184 unwind label %216

184:                                              ; preds = %182
  %185 = getelementptr inbounds i8, ptr %183, i64 24
  %186 = load ptr, ptr %185, align 8, !tbaa !244
  invoke void @_ZN13IRInstructionC1ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef nonnull align 8 dereferenceable(32) %186)
          to label %187 unwind label %216

187:                                              ; preds = %184
  %188 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #11
          to label %189 unwind label %218

189:                                              ; preds = %187
  invoke void @_ZN13IRInstructionC1E8IROpcode(ptr noundef nonnull align 8 dereferenceable(32) %188, i16 noundef zeroext 168)
          to label %190 unwind label %220

190:                                              ; preds = %189
  %191 = invoke noundef ptr @_ZN13IRInstruction8set_destEj(ptr noundef nonnull align 8 dereferenceable(32) %188, i32 noundef %174)
          to label %192 unwind label %218

192:                                              ; preds = %190
  %193 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #11
          to label %194 unwind label %222

194:                                              ; preds = %192
  invoke void @_ZN13IRInstructionC1E8IROpcode(ptr noundef nonnull align 8 dereferenceable(32) %193, i16 noundef zeroext 25)
          to label %195 unwind label %224

195:                                              ; preds = %194
  %196 = invoke noundef ptr @_ZN13IRInstruction7set_srcEtj(ptr noundef nonnull align 8 dereferenceable(32) %193, i16 noundef zeroext 0, i32 noundef %174)
          to label %197 unwind label %222

197:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #9
  store ptr %181, ptr %23, align 8, !tbaa !5
  store ptr %191, ptr %110, align 8, !tbaa !5
  store ptr %196, ptr %111, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #9
  call void @_ZNSaIP13IRInstructionEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #9
  invoke void @_ZNSt6vectorIP13IRInstructionSaIS1_EEC2ESt16initializer_listIS1_ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr nonnull %23, i64 3, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %198 unwind label %226

198:                                              ; preds = %197
  %199 = invoke noundef zeroext i1 @_ZN3cfg16ControlFlowGraph13replace_insnsERKNS_23InstructionIteratorImplILb0EEERKSt6vectorIP13IRInstructionSaIS7_EE(ptr noundef nonnull align 8 dereferenceable(160) %153, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(24) %22)
          to label %200 unwind label %228

200:                                              ; preds = %198
  call void @_ZNSt6vectorIP13IRInstructionSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  call void @_ZNSt15__new_allocatorIP13IRInstructionED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #9
  %201 = invoke i64 @_ZN3cfg16ControlFlowGraph25remove_unreachable_blocksEv(ptr noundef nonnull align 8 dereferenceable(160) %153)
          to label %202 unwind label %231

202:                                              ; preds = %200
  %203 = and i64 %201, 4294967296
  %.not331 = icmp eq i64 %203, 0
  br i1 %.not331, label %237, label %204

204:                                              ; preds = %202
  %205 = load ptr, ptr %76, align 8, !tbaa !223
  %206 = getelementptr inbounds i8, ptr %205, i64 73
  %207 = load i8, ptr %206, align 1, !tbaa !224, !range !220, !noundef !221
  %208 = trunc nuw i8 %207 to i1
  br i1 %208, label %209, label %237

209:                                              ; preds = %204
  invoke void @_ZN3cfg16ControlFlowGraph24recompute_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %153)
          to label %210 unwind label %233

210:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #9
  %211 = call noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %153)
  store i32 %211, ptr %25, align 4, !tbaa !234
  %212 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %10, ptr noundef nonnull align 4 dereferenceable(4) %25)
          to label %213 unwind label %235

213:                                              ; preds = %210
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #9
  br label %237

214:                                              ; preds = %180
  %215 = landingpad { ptr, i32 }
          cleanup
  br label %247

216:                                              ; preds = %184, %182
  %217 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %181, i64 noundef 32) #12
  br label %247

218:                                              ; preds = %190, %187
  %219 = landingpad { ptr, i32 }
          cleanup
  br label %247

220:                                              ; preds = %189
  %221 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %188, i64 noundef 32) #12
  br label %247

222:                                              ; preds = %195, %192
  %223 = landingpad { ptr, i32 }
          cleanup
  br label %247

224:                                              ; preds = %194
  %225 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %193, i64 noundef 32) #12
  br label %247

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

228:                                              ; preds = %198
  %229 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIP13IRInstructionSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  br label %230

230:                                              ; preds = %228, %226
  %.pn328 = phi { ptr, i32 } [ %229, %228 ], [ %227, %226 ]
  call void @_ZNSt15__new_allocatorIP13IRInstructionED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #9
  br label %247

231:                                              ; preds = %200
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %247

233:                                              ; preds = %241, %239, %209
  %234 = landingpad { ptr, i32 }
          cleanup
  br label %247

235:                                              ; preds = %210
  %236 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #9
  br label %247

237:                                              ; preds = %213, %204, %202
  %238 = and i64 %201, 4294967295
  %.not332 = icmp eq i64 %238, 0
  br i1 %.not332, label %241, label %239

239:                                              ; preds = %237
  %240 = add i64 %238, %.0216896
  invoke void @"_ZZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %241 unwind label %233

241:                                              ; preds = %239, %237
  %.1217 = phi i64 [ %240, %239 ], [ %.0216896, %237 ]
  %242 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph19estimate_code_unitsEv(ptr noundef nonnull align 8 dereferenceable(160) %153)
          to label %243 unwind label %233

243:                                              ; preds = %241
  %244 = zext i32 %242 to i64
  %245 = add i64 %.0213897, 1
  br label %246

246:                                              ; preds = %243, %157
  %.2218 = phi i64 [ %.0216896, %157 ], [ %.1217, %243 ]
  %.1214 = phi i64 [ %.0213897, %157 ], [ %245, %243 ]
  %.1189 = phi i64 [ %.0188901, %157 ], [ %244, %243 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #9
  br label %600

247:                                              ; preds = %178, %218, %220, %231, %235, %233, %230, %224, %222, %216, %214, %169, %167
  %.pn333.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %170, %169 ], [ %168, %167 ], [ %179, %178 ], [ %217, %216 ], [ %215, %214 ], [ %219, %218 ], [ %221, %220 ], [ %.pn328, %230 ], [ %223, %222 ], [ %225, %224 ], [ %232, %231 ], [ %234, %233 ], [ %236, %235 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #9
  br label %606

248:                                              ; preds = %138
  %249 = call noundef zeroext i1 @_ZNK18MultiMethodInliner9for_speedEv(ptr noundef nonnull align 8 dereferenceable(68736) %0)
  br i1 %249, label %250, label %274

250:                                              ; preds = %248
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #9
  %251 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  %252 = load ptr, ptr %19, align 8, !tbaa !5
  invoke void @_ZN3cfg16ControlFlowGraph9find_insnEP13IRInstructionPNS_5BlockE(ptr dead_on_unwind nonnull writable sret(%"class.cfg::InstructionIteratorImpl") align 8 %26, ptr noundef nonnull align 8 dereferenceable(160) %251, ptr noundef %252, ptr noundef null)
          to label %253 unwind label %267

253:                                              ; preds = %250
  %254 = invoke noundef zeroext i1 @_ZNK3cfg23InstructionIteratorImplILb0EE6is_endEv(ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %255 unwind label %267

255:                                              ; preds = %253
  br i1 %254, label %.thread, label %256

256:                                              ; preds = %255
  %257 = invoke noundef ptr @_ZNK3cfg23InstructionIteratorImplILb0EE5blockEv(ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %258 unwind label %269

258:                                              ; preds = %256
  %259 = load ptr, ptr %101, align 8, !tbaa !245
  %260 = load ptr, ptr %4, align 8, !tbaa !5
  %261 = load ptr, ptr %18, align 8, !tbaa !5
  %262 = load ptr, ptr %259, align 8, !tbaa !246
  %263 = getelementptr inbounds i8, ptr %262, i64 24
  %264 = load ptr, ptr %263, align 8
  %265 = invoke noundef zeroext i1 %264(ptr noundef nonnull align 8 dereferenceable(8) %259, ptr noundef %260, ptr noundef %261, ptr noundef %257)
          to label %266 unwind label %269

266:                                              ; preds = %258
  br i1 %265, label %.thread, label %271

267:                                              ; preds = %253, %250
  %268 = landingpad { ptr, i32 }
          cleanup
  br label %273

269:                                              ; preds = %258, %256
  %270 = landingpad { ptr, i32 }
          cleanup
  br label %273

.thread:                                          ; preds = %255, %266
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #9
  br label %274

271:                                              ; preds = %266
  %272 = add i64 %.0197900, 1
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #9
  br label %600

273:                                              ; preds = %269, %267
  %.pn295 = phi { ptr, i32 } [ %270, %269 ], [ %268, %267 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #9
  br label %606

274:                                              ; preds = %.thread, %248
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #9
  %275 = load ptr, ptr %4, align 8, !tbaa !5
  %276 = load ptr, ptr %18, align 8, !tbaa !5
  %277 = load ptr, ptr %19, align 8, !tbaa !5
  %278 = getelementptr inbounds i8, ptr %116, i64 40
  %279 = load i64, ptr %278, align 8, !tbaa !248
  %280 = invoke i8 @_ZN18MultiMethodInliner12is_inlinableEPK9DexMethodS2_PKN3cfg16ControlFlowGraphEPK13IRInstructionmmPb(ptr noundef nonnull align 8 dereferenceable(68736) %0, ptr noundef %275, ptr noundef %276, ptr noundef %124, ptr noundef %277, i64 noundef %.0188901, i64 noundef %279, ptr noundef nonnull %27)
          to label %281 unwind label %310

281:                                              ; preds = %274
  store i8 %280, ptr %28, align 1
  %282 = call noundef zeroext i1 @_ZNK18MultiMethodInliner17InlinableDecisioncvbEv(ptr noundef nonnull align 1 dereferenceable(1) %28)
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #9
  br i1 %282, label %.thread378, label %283

283:                                              ; preds = %281
  %284 = load i8, ptr %27, align 1, !tbaa !222, !range !220, !noundef !221
  %285 = trunc nuw i8 %284 to i1
  br i1 %285, label %286, label %.thread395

286:                                              ; preds = %283
  %287 = call noundef i64 @_ZNKSt6vectorIP9DexMethodSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %288 = icmp ugt i64 %287, %.0240891
  br i1 %288, label %289, label %.thread395

289:                                              ; preds = %286
  %290 = add i64 %.0236892, 1
  %291 = call noundef i64 @_ZNKSt6vectorIP9DexMethodSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %292 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  %293 = invoke i64 @_ZN3cfg16ControlFlowGraph25remove_unreachable_blocksEv(ptr noundef nonnull align 8 dereferenceable(160) %292)
          to label %294 unwind label %312

294:                                              ; preds = %289
  %295 = and i64 %293, 4294967295
  %296 = add i64 %295, %.0216896
  %297 = and i64 %293, 4294967296
  %.not298 = icmp eq i64 %297, 0
  br i1 %.not298, label %318, label %298

298:                                              ; preds = %294
  %299 = load ptr, ptr %76, align 8, !tbaa !223
  %300 = getelementptr inbounds i8, ptr %299, i64 73
  %301 = load i8, ptr %300, align 1, !tbaa !224, !range !220, !noundef !221
  %302 = trunc nuw i8 %301 to i1
  br i1 %302, label %303, label %318

303:                                              ; preds = %298
  %304 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  invoke void @_ZN3cfg16ControlFlowGraph24recompute_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %304)
          to label %305 unwind label %314

305:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #9
  %306 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  %307 = call noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %306)
  store i32 %307, ptr %29, align 4, !tbaa !234
  %308 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %10, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %309 unwind label %316

309:                                              ; preds = %305
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #9
  br label %318

310:                                              ; preds = %274
  %311 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #9
  br label %605

312:                                              ; preds = %289
  %313 = landingpad { ptr, i32 }
          cleanup
  br label %605

314:                                              ; preds = %361, %359, %356, %349, %344, %323, %321, %318, %303
  %315 = landingpad { ptr, i32 }
          cleanup
  br label %605

316:                                              ; preds = %305
  %317 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #9
  br label %605

318:                                              ; preds = %309, %298, %294
  %319 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  %320 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph19estimate_code_unitsEv(ptr noundef nonnull align 8 dereferenceable(160) %319)
          to label %321 unwind label %314

321:                                              ; preds = %318
  %322 = zext i32 %320 to i64
  invoke void @"_ZZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %323 unwind label %314

323:                                              ; preds = %321
  %324 = call noundef ptr @_ZNKSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  %325 = invoke noundef i64 @_ZNK12UnorderedSetIPK13IRInstructionSt4hashIS2_ESt8equal_toIS2_EE5countERKS2_(ptr noundef nonnull align 8 dereferenceable(56) %324, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %326 unwind label %314

326:                                              ; preds = %323
  %.not299 = icmp eq i64 %325, 0
  br i1 %.not299, label %327, label %329

327:                                              ; preds = %326
  %328 = add i64 %.0205899, 1
  br label %599

329:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #9
  %330 = load ptr, ptr %4, align 8, !tbaa !5
  %331 = load ptr, ptr %18, align 8, !tbaa !5
  %332 = load ptr, ptr %19, align 8, !tbaa !5
  %333 = load i64, ptr %278, align 8, !tbaa !248
  %334 = invoke i8 @_ZN18MultiMethodInliner12is_inlinableEPK9DexMethodS2_PKN3cfg16ControlFlowGraphEPK13IRInstructionmmPb(ptr noundef nonnull align 8 dereferenceable(68736) %0, ptr noundef %330, ptr noundef %331, ptr noundef %124, ptr noundef %332, i64 noundef %322, i64 noundef %333, ptr noundef nonnull %27)
          to label %335 unwind label %367

335:                                              ; preds = %329
  store i8 %334, ptr %30, align 1
  %336 = call noundef zeroext i1 @_ZNK18MultiMethodInliner17InlinableDecisioncvbEv(ptr noundef nonnull align 1 dereferenceable(1) %30)
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #9
  br i1 %336, label %337, label %.thread395

337:                                              ; preds = %335
  %338 = load ptr, ptr %76, align 8, !tbaa !223
  %339 = getelementptr inbounds i8, ptr %338, i64 11
  %340 = load i8, ptr %339, align 1, !tbaa !249, !range !220, !noundef !221
  %341 = trunc nuw i8 %340 to i1
  br i1 %341, label %342, label %.thread378

342:                                              ; preds = %337
  %343 = call noundef zeroext i1 @_ZNK8shrinker8Shrinker7enabledEv(ptr noundef nonnull align 8 dereferenceable(20552) %102)
  br i1 %343, label %344, label %.thread378

344:                                              ; preds = %342
  %345 = load ptr, ptr %4, align 8, !tbaa !5
  %346 = getelementptr inbounds i8, ptr %345, i64 72
  %347 = invoke noundef zeroext i1 @_ZNK15ReferencedState16no_optimizationsEv(ptr noundef nonnull align 8 dereferenceable(16) %346)
          to label %348 unwind label %314

348:                                              ; preds = %344
  br i1 %347, label %.thread378, label %349

349:                                              ; preds = %348
  %350 = add i64 %.0230893, 1
  %351 = load ptr, ptr %4, align 8, !tbaa !5
  invoke void @_ZN8shrinker8Shrinker13shrink_methodEP9DexMethod(ptr noundef nonnull align 8 dereferenceable(20552) %102, ptr noundef %351)
          to label %352 unwind label %314

352:                                              ; preds = %349
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #9
  %353 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  %354 = call noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %353)
  store i32 %354, ptr %31, align 4, !tbaa !234
  %355 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %10, ptr noundef nonnull align 4 dereferenceable(4) %31)
          to label %356 unwind label %369

356:                                              ; preds = %352
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #9
  %357 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  %358 = invoke noundef i32 @_ZNK3cfg16ControlFlowGraph19estimate_code_unitsEv(ptr noundef nonnull align 8 dereferenceable(160) %357)
          to label %359 unwind label %314

359:                                              ; preds = %356
  %360 = zext i32 %358 to i64
  invoke void @"_ZZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %361 unwind label %314

361:                                              ; preds = %359
  %362 = call noundef ptr @_ZNKSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  %363 = invoke noundef i64 @_ZNK12UnorderedSetIPK13IRInstructionSt4hashIS2_ESt8equal_toIS2_EE5countERKS2_(ptr noundef nonnull align 8 dereferenceable(56) %362, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %364 unwind label %314

364:                                              ; preds = %361
  %.not300 = icmp eq i64 %363, 0
  br i1 %.not300, label %365, label %371

365:                                              ; preds = %364
  %366 = add i64 %.0205899, 1
  br label %599

367:                                              ; preds = %329
  %368 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #9
  br label %605

369:                                              ; preds = %352
  %370 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #9
  br label %605

371:                                              ; preds = %364
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #9
  %372 = load ptr, ptr %4, align 8, !tbaa !5
  %373 = load ptr, ptr %18, align 8, !tbaa !5
  %374 = load ptr, ptr %19, align 8, !tbaa !5
  %375 = load i64, ptr %278, align 8, !tbaa !248
  %376 = invoke i8 @_ZN18MultiMethodInliner12is_inlinableEPK9DexMethodS2_PKN3cfg16ControlFlowGraphEPK13IRInstructionmmPb(ptr noundef nonnull align 8 dereferenceable(68736) %0, ptr noundef %372, ptr noundef %373, ptr noundef %124, ptr noundef %374, i64 noundef %360, i64 noundef %375, ptr noundef nonnull %27)
          to label %379 unwind label %377

377:                                              ; preds = %371
  %378 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #9
  br label %605

379:                                              ; preds = %371
  store i8 %376, ptr %32, align 1
  %380 = call noundef zeroext i1 @_ZNK18MultiMethodInliner17InlinableDecisioncvbEv(ptr noundef nonnull align 1 dereferenceable(1) %32)
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #9
  br i1 %380, label %.thread378, label %.thread395

.thread395:                                       ; preds = %283, %286, %335, %379
  %.4192377 = phi i64 [ %360, %379 ], [ %322, %335 ], [ %.0188901, %286 ], [ %.0188901, %283 ]
  %.3219376 = phi i64 [ %296, %379 ], [ %296, %335 ], [ %.0216896, %286 ], [ %.0216896, %283 ]
  %.3233375 = phi i64 [ %350, %379 ], [ %.0230893, %335 ], [ %.0230893, %286 ], [ %.0230893, %283 ]
  %.1237374 = phi i64 [ %290, %379 ], [ %290, %335 ], [ %.0236892, %286 ], [ %.0236892, %283 ]
  %.1241373 = phi i64 [ %291, %379 ], [ %291, %335 ], [ %.0240891, %286 ], [ %.0240891, %283 ]
  %381 = load i8, ptr %27, align 1, !tbaa !222, !range !220, !noundef !221
  %382 = zext nneg i8 %381 to i64
  %.1223 = add i64 %.0222895, %382
  %383 = xor i8 %381, 1
  %not. = zext nneg i8 %383 to i64
  %.5202 = add i64 %.0197900, %not.
  br label %599

.thread378:                                       ; preds = %348, %342, %337, %281, %379
  %.4192389 = phi i64 [ %360, %379 ], [ %.0188901, %281 ], [ %322, %337 ], [ %322, %342 ], [ %322, %348 ]
  %.3219388 = phi i64 [ %296, %379 ], [ %.0216896, %281 ], [ %296, %337 ], [ %296, %342 ], [ %296, %348 ]
  %.3233387 = phi i64 [ %350, %379 ], [ %.0230893, %281 ], [ %.0230893, %337 ], [ %.0230893, %342 ], [ %.0230893, %348 ]
  %.1237386 = phi i64 [ %290, %379 ], [ %.0236892, %281 ], [ %290, %337 ], [ %290, %342 ], [ %290, %348 ]
  %.1241385 = phi i64 [ %291, %379 ], [ %.0240891, %281 ], [ %291, %337 ], [ %291, %342 ], [ %291, %348 ]
  %384 = invoke noundef zeroext i1 @_Z12traceEnabled11TraceModulei(i32 noundef 77, i32 noundef 4)
          to label %385 unwind label %393

385:                                              ; preds = %.thread378
  br i1 %384, label %386, label %400

386:                                              ; preds = %385
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #9
  %387 = load ptr, ptr %4, align 8, !tbaa !5
  %388 = load ptr, ptr %18, align 8, !tbaa !5
  %389 = load ptr, ptr %19, align 8, !tbaa !5
  invoke void @_ZN12_GLOBAL__N_125create_inlining_trace_msgB5cxx11EPK9DexMethodS2_P13IRInstruction(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef %387, ptr noundef %388, ptr noundef %389)
          to label %390 unwind label %395

390:                                              ; preds = %386
  %391 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %33) #9
  invoke void (i32, i32, i1, ptr, ...) @_Z5trace11TraceModuleibPKcz(i32 noundef 77, i32 noundef 4, i1 noundef zeroext false, ptr noundef nonnull @.str.24, ptr noundef %391)
          to label %392 unwind label %397

392:                                              ; preds = %390
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #9
  br label %400

393:                                              ; preds = %.thread378
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %605

395:                                              ; preds = %386
  %396 = landingpad { ptr, i32 }
          cleanup
  br label %399

397:                                              ; preds = %390
  %398 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #9
  br label %399

399:                                              ; preds = %397, %395
  %.pn304 = phi { ptr, i32 } [ %398, %397 ], [ %396, %395 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #9
  br label %605

400:                                              ; preds = %392, %385
  %401 = load ptr, ptr %76, align 8, !tbaa !223
  %402 = getelementptr inbounds i8, ptr %401, i64 73
  %403 = load i8, ptr %402, align 1, !tbaa !224, !range !220, !noundef !221
  %404 = trunc nuw i8 %403 to i1
  br i1 %404, label %405, label %412

405:                                              ; preds = %400
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #9
  %406 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  %407 = call noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160) %406)
  store i32 %407, ptr %34, align 4, !tbaa !234
  %408 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN5boost8optionalIjEaSIjEENS_9enable_ifINS_7is_sameIjNS_5decayIT_E4typeEEERS1_E4typeEOS6_(ptr noundef nonnull align 4 dereferenceable(8) %10, ptr noundef nonnull align 4 dereferenceable(4) %34)
          to label %409 unwind label %410

409:                                              ; preds = %405
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #9
  br label %412

410:                                              ; preds = %405
  %411 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #9
  br label %605

412:                                              ; preds = %409, %400
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #9
  invoke void @_ZN17AccumulatingTimer5scopeEv(ptr dead_on_unwind nonnull writable sret(%"class.AccumulatingTimer::AccumulatingTimerScope") align 8 %35, ptr noundef nonnull align 8 dereferenceable(16) %103)
          to label %413 unwind label %458

413:                                              ; preds = %412
  %414 = load ptr, ptr %18, align 8, !tbaa !5
  %415 = invoke noundef ptr @_ZNK18MultiMethodInliner20get_needs_init_classEP9DexMethod(ptr noundef nonnull align 8 dereferenceable(68736) %0, ptr noundef %414)
          to label %416 unwind label %460

416:                                              ; preds = %413
  %417 = load ptr, ptr %4, align 8, !tbaa !5
  %418 = load ptr, ptr %18, align 8, !tbaa !5
  %419 = invoke noundef zeroext i1 @_ZNK18MultiMethodInliner27get_needs_constructor_fenceEPK9DexMethodS2_(ptr noundef nonnull align 8 dereferenceable(68736) %0, ptr noundef %417, ptr noundef %418)
          to label %420 unwind label %462

420:                                              ; preds = %416
  %421 = load ptr, ptr %76, align 8, !tbaa !223
  %422 = getelementptr inbounds i8, ptr %421, i64 4
  %423 = load i8, ptr %422, align 4, !tbaa !250, !range !220, !noundef !221
  %424 = trunc nuw i8 %423 to i1
  br i1 %424, label %425, label %431

425:                                              ; preds = %420
  %426 = load ptr, ptr %104, align 8, !tbaa !251
  %.not306 = icmp eq ptr %426, null
  br i1 %.not306, label %431, label %427

427:                                              ; preds = %425
  %428 = invoke noundef i64 @_ZNK19ConcurrentContainerISt13unordered_setIP9DexMethodSt4hashIS2_ESt8equal_toIS2_ESaIS2_EELm83EE5countERKS2_(ptr noundef nonnull align 8 dereferenceable(2664) %426, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %429 unwind label %464

429:                                              ; preds = %427
  %430 = icmp ne i64 %428, 0
  br label %431

431:                                              ; preds = %429, %425, %420
  %432 = phi i1 [ false, %425 ], [ false, %420 ], [ %430, %429 ]
  %brmerge = or i1 %419, %432
  br i1 %brmerge, label %433, label %466

433:                                              ; preds = %431
  %434 = load ptr, ptr %76, align 8, !tbaa !223
  %435 = getelementptr inbounds i8, ptr %434, i64 136
  %436 = load i32, ptr %435, align 8, !tbaa !252
  %437 = icmp eq i32 %436, 1
  br i1 %437, label %438, label %442

438:                                              ; preds = %433
  %439 = load ptr, ptr %4, align 8, !tbaa !5
  %440 = invoke noundef zeroext i1 @_ZN13source_blocks18method_is_not_coldEP9DexMethod(ptr noundef %439)
          to label %441 unwind label %464

441:                                              ; preds = %438
  br i1 %440, label %456, label %._crit_edge941

._crit_edge941:                                   ; preds = %441
  %.pre = load ptr, ptr %76, align 8, !tbaa !223
  %.phi.trans.insert = getelementptr inbounds i8, ptr %.pre, i64 136
  %.pre942 = load i32, ptr %.phi.trans.insert, align 8, !tbaa !252
  br label %442

442:                                              ; preds = %._crit_edge941, %433
  %443 = phi i32 [ %.pre942, %._crit_edge941 ], [ %436, %433 ]
  %444 = icmp eq i32 %443, 2
  br i1 %444, label %445, label %449

445:                                              ; preds = %442
  %446 = load ptr, ptr %4, align 8, !tbaa !5
  %447 = invoke noundef zeroext i1 @_ZN13source_blocks16method_maybe_hotEP9DexMethod(ptr noundef %446)
          to label %448 unwind label %464

448:                                              ; preds = %445
  br i1 %447, label %456, label %._crit_edge943

._crit_edge943:                                   ; preds = %448
  %.pre944 = load ptr, ptr %76, align 8, !tbaa !223
  %.phi.trans.insert945 = getelementptr inbounds i8, ptr %.pre944, i64 136
  %.pre946 = load i32, ptr %.phi.trans.insert945, align 8, !tbaa !252
  br label %449

449:                                              ; preds = %._crit_edge943, %442
  %450 = phi i32 [ %.pre946, %._crit_edge943 ], [ %443, %442 ]
  %451 = icmp eq i32 %450, 3
  br i1 %451, label %452, label %466

452:                                              ; preds = %449
  %453 = load ptr, ptr %4, align 8, !tbaa !5
  %454 = invoke noundef zeroext i1 @_ZN13source_blocks13method_is_hotEP9DexMethod(ptr noundef %453)
          to label %455 unwind label %464

455:                                              ; preds = %452
  br i1 %454, label %456, label %466

456:                                              ; preds = %455, %448, %441
  %457 = add i64 %.0226894, 1
  br label %598

458:                                              ; preds = %412
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %604

460:                                              ; preds = %413
  %461 = landingpad { ptr, i32 }
          cleanup
  br label %603

462:                                              ; preds = %416
  %463 = landingpad { ptr, i32 }
          cleanup
  br label %603

464:                                              ; preds = %452, %445, %438, %427
  %465 = landingpad { ptr, i32 }
          cleanup
  br label %603

466:                                              ; preds = %431, %449, %455
  %467 = load ptr, ptr %4, align 8, !tbaa !5
  %468 = load ptr, ptr %18, align 8, !tbaa !5
  %469 = load ptr, ptr %19, align 8, !tbaa !5
  %470 = getelementptr inbounds i8, ptr %116, i64 48
  %471 = load ptr, ptr %470, align 8, !tbaa !253
  %472 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNR5boost8optionalIjEdeEv(ptr noundef nonnull align 4 dereferenceable(8) %10)
          to label %473 unwind label %.loopexit

473:                                              ; preds = %466
  %474 = load i32, ptr %472, align 4, !tbaa !234
  %475 = zext i32 %474 to i64
  %476 = load ptr, ptr %76, align 8, !tbaa !223
  %477 = getelementptr inbounds i8, ptr %476, i64 77
  %478 = load i8, ptr %477, align 1, !tbaa !254, !range !220, !noundef !221
  %479 = trunc nuw i8 %478 to i1
  %480 = load ptr, ptr %18, align 8
  %481 = select i1 %479, ptr %480, ptr null
  %482 = invoke noundef zeroext i1 @_ZN7inliner15inline_with_cfgEP9DexMethodS1_P13IRInstructionP7DexTypeS5_mPKN3cfg16ControlFlowGraphES1_b(ptr noundef %467, ptr noundef %468, ptr noundef %469, ptr noundef %471, ptr noundef %415, i64 noundef %475, ptr noundef %124, ptr noundef %481, i1 noundef zeroext %419)
          to label %483 unwind label %.loopexit

483:                                              ; preds = %473
  br i1 %482, label %486, label %484

484:                                              ; preds = %483
  %485 = add i64 %.0205899, 1
  br label %598

.loopexit:                                        ; preds = %466, %473, %486, %489, %532, %556, %559, %563, %569, %579, %581, %582, %586, %595
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %603

.loopexit.split-lp:                               ; preds = %.invoke
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %603

486:                                              ; preds = %483
  %487 = invoke noundef zeroext i1 @_Z12traceEnabled11TraceModulei(i32 noundef 55, i32 noundef 2)
          to label %488 unwind label %.loopexit

488:                                              ; preds = %486
  br i1 %487, label %489, label %.critedge351

489:                                              ; preds = %488
  %490 = invoke noundef zeroext i1 @_ZNK6IRCode9cfg_builtEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %491 unwind label %.loopexit

491:                                              ; preds = %489
  br i1 %490, label %492, label %494

492:                                              ; preds = %491
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #9
  %493 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
  invoke void @_Z4showB5cxx11RKN3cfg16ControlFlowGraphEb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull align 8 dereferenceable(160) %493, i1 noundef zeroext false)
          to label %495 unwind label %506

494:                                              ; preds = %491
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #9
  invoke void @_Z4showB5cxx11PK6IRCodeb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull %47, i1 noundef zeroext false)
          to label %495 unwind label %508

495:                                              ; preds = %494, %492
  %.sink = phi ptr [ %36, %492 ], [ %37, %494 ]
  %496 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %.sink) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #9
  %.not307 = icmp eq ptr %124, null
  br i1 %.not307, label %497, label %501

497:                                              ; preds = %495
  %498 = load ptr, ptr %18, align 8, !tbaa !5
  %499 = call noundef ptr @_ZN9DexMethod8get_codeEv(ptr noundef nonnull align 8 dereferenceable(88) %498)
  %500 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %499)
  br label %501

501:                                              ; preds = %495, %497
  %502 = phi ptr [ %500, %497 ], [ %124, %495 ]
  invoke void @_Z4showB5cxx11RKN3cfg16ControlFlowGraphEb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(160) %502, i1 noundef zeroext false)
          to label %503 unwind label %510

503:                                              ; preds = %501
  %504 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %38) #9
  invoke void (i32, i32, i1, ptr, ...) @_Z5trace11TraceModuleibPKcz(i32 noundef 55, i32 noundef 2, i1 noundef zeroext false, ptr noundef nonnull @.str.25, ptr noundef %496, ptr noundef %504)
          to label %505 unwind label %512

505:                                              ; preds = %503
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #9
  br i1 %490, label %.critedge353, label %.critedge

.critedge:                                        ; preds = %505
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #9
  br label %.critedge351

.critedge353:                                     ; preds = %505
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #9
  br label %.critedge351

506:                                              ; preds = %492
  %507 = landingpad { ptr, i32 }
          cleanup
  br label %518

508:                                              ; preds = %494
  %509 = landingpad { ptr, i32 }
          cleanup
  br label %517

510:                                              ; preds = %501
  %511 = landingpad { ptr, i32 }
          cleanup
  br label %514

512:                                              ; preds = %503
  %513 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #9
  br label %514

514:                                              ; preds = %512, %510
  %.pn308 = phi { ptr, i32 } [ %513, %512 ], [ %511, %510 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #9
  br i1 %490, label %516, label %515

515:                                              ; preds = %514
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #9
  br label %517

516:                                              ; preds = %514
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #9
  br label %518

517:                                              ; preds = %515, %508
  %.pn308.pn.ph = phi { ptr, i32 } [ %509, %508 ], [ %.pn308, %515 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #9
  br label %603

518:                                              ; preds = %516, %506
  %.pn308.pn.pn.ph = phi { ptr, i32 } [ %507, %506 ], [ %.pn308, %516 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #9
  br label %603

.critedge351:                                     ; preds = %.critedge, %.critedge353, %488
  %519 = load i64, ptr %278, align 8, !tbaa !248
  %520 = add i64 %519, %.4192389
  %.not312 = icmp eq ptr %124, null
  br i1 %.not312, label %532, label %521

521:                                              ; preds = %.critedge351
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %39) #9
  %522 = load ptr, ptr %4, align 8, !tbaa !5
  %523 = call noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %522)
  %524 = load ptr, ptr %18, align 8, !tbaa !5
  invoke void @_Z22get_visibility_changesRKN3cfg16ControlFlowGraphEP7DexTypePK9DexMethod(ptr dead_on_unwind nonnull writable sret(%struct.VisibilityChanges) align 8 %39, ptr noundef nonnull align 8 dereferenceable(160) %124, ptr noundef %523, ptr noundef %524)
          to label %525 unwind label %527

525:                                              ; preds = %521
  invoke void @_ZN17VisibilityChanges6insertERKS_(ptr noundef nonnull align 8 dereferenceable(168) %14, ptr noundef nonnull align 8 dereferenceable(168) %39)
          to label %526 unwind label %529

526:                                              ; preds = %525
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %39) #9
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %39) #9
  br label %534

527:                                              ; preds = %521
  %528 = landingpad { ptr, i32 }
          cleanup
  br label %531

529:                                              ; preds = %525
  %530 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %39) #9
  br label %531

531:                                              ; preds = %529, %527
  %.pn313 = phi { ptr, i32 } [ %530, %529 ], [ %528, %527 ]
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %39) #9
  br label %603

532:                                              ; preds = %.critedge351
  %533 = invoke { ptr, i8 } @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(56) %15, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %534 unwind label %.loopexit

534:                                              ; preds = %532, %526
  %.not315 = icmp ne ptr %415, null
  %535 = zext i1 %.not315 to i64
  %spec.select352 = add i64 %.0244890, %535
  br i1 %419, label %536, label %555

536:                                              ; preds = %534
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #9
  %537 = load ptr, ptr %18, align 8, !tbaa !5
  store ptr %537, ptr %40, align 8, !tbaa !5
  %538 = invoke noundef zeroext i1 @_ZN13ConcurrentSetIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_ELm83EE6insertERKS2_(ptr noundef nonnull align 8 dereferenceable(2664) %106, ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %.preheader unwind label %541

.preheader:                                       ; preds = %536, %545
  %539 = invoke noundef ptr @_ZNK23InsertOnlyConcurrentMapIPK9DexMethodS2_St4hashIS2_ESt8equal_toIS2_ELm83EE3getERKS2_(ptr noundef nonnull align 8 dereferenceable(2664) %105, ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %540 unwind label %543

540:                                              ; preds = %.preheader
  %.not316 = icmp eq ptr %539, null
  br i1 %.not316, label %548, label %545

541:                                              ; preds = %551, %536
  %542 = landingpad { ptr, i32 }
          cleanup
  br label %554

543:                                              ; preds = %545, %.preheader
  %544 = landingpad { ptr, i32 }
          cleanup
  br label %554

545:                                              ; preds = %540
  %546 = load ptr, ptr %539, align 8, !tbaa !5
  store ptr %546, ptr %40, align 8, !tbaa !5
  %547 = invoke noundef zeroext i1 @_ZN13ConcurrentSetIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_ELm83EE6insertERKS2_(ptr noundef nonnull align 8 dereferenceable(2664) %106, ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %.preheader unwind label %543

548:                                              ; preds = %540
  %549 = add i64 %.0258889, 1
  %550 = load ptr, ptr %104, align 8, !tbaa !251
  %.not317 = icmp eq ptr %550, null
  br i1 %.not317, label %553, label %551

551:                                              ; preds = %548
  %552 = invoke { ptr, i8 } @_ZN23InsertOnlyConcurrentSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ELm83EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(2664) %550, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %553 unwind label %541

553:                                              ; preds = %551, %548
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #9
  br label %581

554:                                              ; preds = %543, %541
  %.pn318 = phi { ptr, i32 } [ %542, %541 ], [ %544, %543 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #9
  br label %603

555:                                              ; preds = %534
  br i1 %432, label %556, label %559

556:                                              ; preds = %555
  %557 = load ptr, ptr %104, align 8, !tbaa !251
  %558 = invoke { ptr, i8 } @_ZN23InsertOnlyConcurrentSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ELm83EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(2664) %557, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %559 unwind label %.loopexit

559:                                              ; preds = %556, %555
  %560 = load ptr, ptr %18, align 8, !tbaa !5
  %561 = invoke noundef zeroext i1 @_ZNK18MultiMethodInliner27get_needs_constructor_fenceEPK9DexMethodS2_(ptr noundef nonnull align 8 dereferenceable(68736) %0, ptr noundef null, ptr noundef %560)
          to label %562 unwind label %.loopexit

562:                                              ; preds = %559
  br i1 %561, label %563, label %581

563:                                              ; preds = %562
  %564 = load ptr, ptr %4, align 8, !tbaa !5
  %565 = invoke noundef zeroext i1 @_ZN6method7is_initEPK12DexMethodRef(ptr noundef %564)
          to label %566 unwind label %.loopexit

566:                                              ; preds = %563
  br i1 %565, label %569, label %.invoke

.invoke:                                          ; preds = %573, %572, %566
  %567 = phi ptr [ @.str.26, %566 ], [ @.str.27, %572 ], [ @.str.28, %573 ]
  %568 = phi i32 [ 937, %566 ], [ 938, %572 ], [ 939, %573 ]
  invoke void (ptr, ptr, i32, ptr, i32, ptr, ...) @_Z11assert_failPKcS0_jS0_10RedexErrorS0_z(ptr noundef nonnull %567, ptr noundef nonnull @.str.14, i32 noundef %568, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EE, i32 noundef 2, ptr noundef nonnull @.str.15) #10
          to label %.cont unwind label %.loopexit.split-lp

.cont:                                            ; preds = %.invoke
  unreachable

569:                                              ; preds = %566
  %570 = load ptr, ptr %18, align 8, !tbaa !5
  %571 = invoke noundef zeroext i1 @_ZN6method7is_initEPK12DexMethodRef(ptr noundef %570)
          to label %572 unwind label %.loopexit

572:                                              ; preds = %569
  br i1 %571, label %573, label %.invoke

573:                                              ; preds = %572
  %574 = load ptr, ptr %4, align 8, !tbaa !5
  %575 = call noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %574)
  %576 = load ptr, ptr %18, align 8, !tbaa !5
  %577 = call noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %576)
  %578 = icmp eq ptr %575, %577
  br i1 %578, label %579, label %.invoke

579:                                              ; preds = %573
  %580 = invoke { ptr, i8 } @_ZN23InsertOnlyConcurrentMapIPK9DexMethodS2_St4hashIS2_ESt8equal_toIS2_ELm83EE7emplaceIJRPS0_SA_EEESt4pairIPKS2_bEDpOT_(ptr noundef nonnull align 8 dereferenceable(2664) %105, ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %581 unwind label %.loopexit

581:                                              ; preds = %579, %562, %553
  %.1259 = phi i64 [ %549, %553 ], [ %.0258889, %562 ], [ %.0258889, %579 ]
  invoke void @_ZNSt6vectorIP9DexMethodSaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %582 unwind label %.loopexit

582:                                              ; preds = %581
  %583 = load ptr, ptr %18, align 8, !tbaa !5
  %584 = call noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %583)
  %585 = invoke noundef ptr @_Z10type_classPK7DexType(ptr noundef %584)
          to label %586 unwind label %.loopexit

586:                                              ; preds = %582
  %587 = invoke noundef zeroext i1 @_ZN4type16is_kotlin_lambdaEPK8DexClass(ptr noundef %585)
          to label %588 unwind label %.loopexit

588:                                              ; preds = %586
  br i1 %587, label %589, label %591

589:                                              ; preds = %588
  %590 = call noundef i64 @_ZNSt13__atomic_baseImEppEi(ptr noundef nonnull align 8 dereferenceable(8) %107, i32 noundef 0) #9
  br label %591

591:                                              ; preds = %589, %588
  %592 = getelementptr inbounds i8, ptr %116, i64 17
  %593 = load i8, ptr %592, align 1, !tbaa !255, !range !220, !noundef !221
  %594 = trunc nuw i8 %593 to i1
  br i1 %594, label %595, label %598

595:                                              ; preds = %591
  %596 = call noundef i64 @_ZNSt13__atomic_baseImEppEi(ptr noundef nonnull align 8 dereferenceable(8) %108, i32 noundef 0) #9
  %597 = invoke noundef i64 @_ZN9AtomicMapIPK9DexMethodmSt4hashIS2_ESt8equal_toIS2_ELm83EE9fetch_addERKS2_mm(ptr noundef nonnull align 8 dereferenceable(2664) %109, ptr noundef nonnull align 8 dereferenceable(8) %18, i64 noundef 1, i64 noundef 0)
          to label %598 unwind label %.loopexit

598:                                              ; preds = %484, %595, %591, %456
  %.3261 = phi i64 [ %.0258889, %456 ], [ %.0258889, %484 ], [ %.1259, %595 ], [ %.1259, %591 ]
  %.3247 = phi i64 [ %.0244890, %456 ], [ %.0244890, %484 ], [ %spec.select352, %595 ], [ %spec.select352, %591 ]
  %.1227 = phi i64 [ %457, %456 ], [ %.0226894, %484 ], [ %.0226894, %595 ], [ %.0226894, %591 ]
  %.5210 = phi i64 [ %.0205899, %456 ], [ %485, %484 ], [ %.0205899, %595 ], [ %.0205899, %591 ]
  %.6194 = phi i64 [ %.4192389, %456 ], [ %.4192389, %484 ], [ %520, %595 ], [ %520, %591 ]
  call void @_ZN17AccumulatingTimer22AccumulatingTimerScopeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #9
  br label %599

599:                                              ; preds = %327, %365, %598, %.thread395
  %.4262 = phi i64 [ %.0258889, %.thread395 ], [ %.3261, %598 ], [ %.0258889, %365 ], [ %.0258889, %327 ]
  %.4248 = phi i64 [ %.0244890, %.thread395 ], [ %.3247, %598 ], [ %.0244890, %365 ], [ %.0244890, %327 ]
  %.2242 = phi i64 [ %.1241373, %.thread395 ], [ %.1241385, %598 ], [ %291, %365 ], [ %291, %327 ]
  %.2238 = phi i64 [ %.1237374, %.thread395 ], [ %.1237386, %598 ], [ %290, %365 ], [ %290, %327 ]
  %.4234 = phi i64 [ %.3233375, %.thread395 ], [ %.3233387, %598 ], [ %350, %365 ], [ %.0230893, %327 ]
  %.2228 = phi i64 [ %.0226894, %.thread395 ], [ %.1227, %598 ], [ %.0226894, %365 ], [ %.0226894, %327 ]
  %.2224 = phi i64 [ %.1223, %.thread395 ], [ %.0222895, %598 ], [ %.0222895, %365 ], [ %.0222895, %327 ]
  %.4220 = phi i64 [ %.3219376, %.thread395 ], [ %.3219388, %598 ], [ %296, %365 ], [ %296, %327 ]
  %.6211 = phi i64 [ %.0205899, %.thread395 ], [ %.5210, %598 ], [ %366, %365 ], [ %328, %327 ]
  %.6203 = phi i64 [ %.5202, %.thread395 ], [ %.0197900, %598 ], [ %.0197900, %365 ], [ %.0197900, %327 ]
  %.7195 = phi i64 [ %.4192377, %.thread395 ], [ %.6194, %598 ], [ %360, %365 ], [ %322, %327 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #9
  br label %600

600:                                              ; preds = %271, %142, %151, %599, %246, %132
  %.5263 = phi i64 [ %.0258889, %246 ], [ %.4262, %599 ], [ %.0258889, %271 ], [ %.0258889, %132 ], [ %.0258889, %151 ], [ %.0258889, %142 ]
  %.5249 = phi i64 [ %.0244890, %246 ], [ %.4248, %599 ], [ %.0244890, %271 ], [ %.0244890, %132 ], [ %.0244890, %151 ], [ %.0244890, %142 ]
  %.3243 = phi i64 [ %.0240891, %246 ], [ %.2242, %599 ], [ %.0240891, %271 ], [ %.0240891, %132 ], [ %.0240891, %151 ], [ %.0240891, %142 ]
  %.3239 = phi i64 [ %.0236892, %246 ], [ %.2238, %599 ], [ %.0236892, %271 ], [ %.0236892, %132 ], [ %.0236892, %151 ], [ %.0236892, %142 ]
  %.5235 = phi i64 [ %.0230893, %246 ], [ %.4234, %599 ], [ %.0230893, %271 ], [ %.0230893, %132 ], [ %.0230893, %151 ], [ %.0230893, %142 ]
  %.3229 = phi i64 [ %.0226894, %246 ], [ %.2228, %599 ], [ %.0226894, %271 ], [ %.0226894, %132 ], [ %.0226894, %151 ], [ %.0226894, %142 ]
  %.3225 = phi i64 [ %.0222895, %246 ], [ %.2224, %599 ], [ %.0222895, %271 ], [ %.0222895, %132 ], [ %.0222895, %151 ], [ %.0222895, %142 ]
  %.5221 = phi i64 [ %.2218, %246 ], [ %.4220, %599 ], [ %.0216896, %271 ], [ %.0216896, %132 ], [ %.0216896, %151 ], [ %.0216896, %142 ]
  %.2215 = phi i64 [ %.1214, %246 ], [ %.0213897, %599 ], [ %.0213897, %271 ], [ %.0213897, %132 ], [ %.0213897, %151 ], [ %.0213897, %142 ]
  %.7212 = phi i64 [ %.0205899, %246 ], [ %.6211, %599 ], [ %.0205899, %271 ], [ %spec.select, %132 ], [ %.0205899, %151 ], [ %.0205899, %142 ]
  %.7204 = phi i64 [ %.0197900, %246 ], [ %.6203, %599 ], [ %272, %271 ], [ %.0197900, %132 ], [ %.0197900, %151 ], [ %.0197900, %142 ]
  %.8196 = phi i64 [ %.1189, %246 ], [ %.7195, %599 ], [ %.0188901, %271 ], [ %.0188901, %132 ], [ %.0188901, %151 ], [ %.0188901, %142 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #9
  %601 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIP9InlinableSt6vectorIS1_SaIS1_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  %602 = call noundef zeroext i1 @_ZN9__gnu_cxxneIP9InlinableSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  br i1 %602, label %115, label %._crit_edge

603:                                              ; preds = %.loopexit, %.loopexit.split-lp, %517, %462, %531, %554, %518, %464, %460
  %.pn320.pn.pn.pn = phi { ptr, i32 } [ %461, %460 ], [ %463, %462 ], [ %465, %464 ], [ %.pn318, %554 ], [ %.pn313, %531 ], [ %.pn308.pn.pn.ph, %518 ], [ %.pn308.pn.ph, %517 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZN17AccumulatingTimer22AccumulatingTimerScopeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %35) #9
  br label %604

604:                                              ; preds = %603, %458
  %.pn320.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn320.pn.pn.pn, %603 ], [ %459, %458 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #9
  br label %605

605:                                              ; preds = %312, %377, %369, %367, %316, %314, %604, %410, %399, %393, %310
  %.pn320.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn320.pn.pn.pn.pn, %604 ], [ %411, %410 ], [ %.pn304, %399 ], [ %394, %393 ], [ %311, %310 ], [ %313, %312 ], [ %378, %377 ], [ %315, %314 ], [ %370, %369 ], [ %368, %367 ], [ %317, %316 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #9
  br label %606

606:                                              ; preds = %605, %273, %247, %136
  %.pn333.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn333.pn.pn.pn.pn.pn.pn, %247 ], [ %137, %136 ], [ %.pn320.pn.pn.pn.pn.pn, %605 ], [ %.pn295, %273 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #9
  br label %697

607:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #9
  %608 = invoke ptr @_Z17UnorderedIterableI12UnorderedSetIP9DexMethodSt4hashIS2_ESt8equal_toIS2_EETnNSt9enable_ifIXsr3stdE12is_base_of_vI13UnorderedBaseIT_ESA_EEbE4typeELb1EEDaRSA_(ptr noundef nonnull align 8 dereferenceable(56) %15)
          to label %609 unwind label %614

609:                                              ; preds = %607
  store ptr %608, ptr %41, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #9
  %610 = call ptr @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE17UnorderedIterable5beginEv(ptr noundef nonnull align 8 dereferenceable(8) %41)
  store ptr %610, ptr %42, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #9
  %611 = call ptr @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE17UnorderedIterable3endEv(ptr noundef nonnull align 8 dereferenceable(8) %41)
  store ptr %611, ptr %43, align 8
  %612 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseIP9DexMethodLb0EEES5_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %43) #9
  br i1 %612, label %.lr.ph912, label %._crit_edge913

._crit_edge913:                                   ; preds = %621, %609
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #9
  %613 = invoke noundef zeroext i1 @_ZNK17VisibilityChanges5emptyEv(ptr noundef nonnull align 8 dereferenceable(168) %14)
          to label %629 unwind label %637

614:                                              ; preds = %607
  %615 = landingpad { ptr, i32 }
          cleanup
  br label %697

.lr.ph912:                                        ; preds = %609, %621
  %616 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt8__detail14_Node_iteratorIP9DexMethodLb1ELb0EEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #9
  %617 = load ptr, ptr %616, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %44) #9
  %618 = load ptr, ptr %4, align 8, !tbaa !5
  %619 = call noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %618)
  invoke void @_Z22get_visibility_changesPK9DexMethodP7DexType(ptr dead_on_unwind nonnull writable sret(%struct.VisibilityChanges) align 8 %44, ptr noundef %617, ptr noundef %619)
          to label %620 unwind label %624

620:                                              ; preds = %.lr.ph912
  invoke void @_ZN17VisibilityChanges6insertERKS_(ptr noundef nonnull align 8 dereferenceable(168) %14, ptr noundef nonnull align 8 dereferenceable(168) %44)
          to label %621 unwind label %626

621:                                              ; preds = %620
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %44) #9
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %44) #9
  %622 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt8__detail14_Node_iteratorIP9DexMethodLb1ELb0EEppEv(ptr noundef nonnull align 8 dereferenceable(8) %42) #9
  %623 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseIP9DexMethodLb0EEES5_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %43) #9
  br i1 %623, label %.lr.ph912, label %._crit_edge913

624:                                              ; preds = %.lr.ph912
  %625 = landingpad { ptr, i32 }
          cleanup
  br label %628

626:                                              ; preds = %620
  %627 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %44) #9
  br label %628

628:                                              ; preds = %626, %624
  %.pn282 = phi { ptr, i32 } [ %627, %626 ], [ %625, %624 ]
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %44) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #9
  br label %697

629:                                              ; preds = %._crit_edge913
  br i1 %613, label %646, label %630

630:                                              ; preds = %629
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #9
  %631 = getelementptr inbounds i8, ptr %0, i64 36744
  invoke void @_ZNSt10lock_guardISt5mutexEC2ERS0_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(40) %631)
          to label %632 unwind label %639

632:                                              ; preds = %630
  %633 = getelementptr inbounds i8, ptr %0, i64 36736
  %634 = call noundef zeroext i1 @_ZNKSt10unique_ptrI17VisibilityChangesSt14default_deleteIS0_EEcvbEv(ptr noundef nonnull align 8 dereferenceable(8) %633) #9
  br i1 %634, label %635, label %643

635:                                              ; preds = %632
  %636 = call noundef ptr @_ZNKSt10unique_ptrI17VisibilityChangesSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %633) #9
  invoke void @_ZN17VisibilityChanges6insertERKS_(ptr noundef nonnull align 8 dereferenceable(168) %636, ptr noundef nonnull align 8 dereferenceable(168) %14)
          to label %644 unwind label %641

637:                                              ; preds = %682, %646, %._crit_edge913
  %638 = landingpad { ptr, i32 }
          cleanup
  br label %697

639:                                              ; preds = %630
  %640 = landingpad { ptr, i32 }
          cleanup
  br label %645

641:                                              ; preds = %643, %635
  %642 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt10lock_guardISt5mutexED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #9
  br label %645

643:                                              ; preds = %632
  invoke void @_ZN18MultiMethodInliner47visibility_changes_apply_and_record_make_staticERK17VisibilityChanges(ptr noundef nonnull align 8 dereferenceable(68736) %0, ptr noundef nonnull align 8 dereferenceable(168) %14)
          to label %644 unwind label %641

644:                                              ; preds = %643, %635
  call void @_ZNSt10lock_guardISt5mutexED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #9
  br label %646

645:                                              ; preds = %641, %639
  %.pn = phi { ptr, i32 } [ %642, %641 ], [ %640, %639 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #9
  br label %697

646:                                              ; preds = %644, %629
  %647 = getelementptr inbounds i8, ptr %0, i64 40
  %648 = call ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %649 = call ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  invoke void @_ZN13ConcurrentSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ELm83EE6insertIN9__gnu_cxx17__normal_iteratorIPS1_St6vectorIS1_SaIS1_EEEEEEvT_SF_(ptr noundef nonnull align 8 dereferenceable(2664) %647, ptr %648, ptr %649)
          to label %650 unwind label %637

650:                                              ; preds = %646, %._crit_edge
  %651 = call noundef i64 @_ZNKSt6vectorIP9DexMethodSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %652 = getelementptr inbounds i8, ptr %0, i64 42216
  %653 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %652, i64 noundef %651) #9
  %.not = icmp eq i64 %.0197.lcssa, 0
  br i1 %.not, label %657, label %654

654:                                              ; preds = %650
  %655 = getelementptr inbounds i8, ptr %0, i64 42240
  %656 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %655, i64 noundef %.0197.lcssa) #9
  br label %657

657:                                              ; preds = %654, %650
  %.not285 = icmp eq i64 %.0205.lcssa, 0
  br i1 %.not285, label %661, label %658

658:                                              ; preds = %657
  %659 = getelementptr inbounds i8, ptr %0, i64 42248
  %660 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %659, i64 noundef %.0205.lcssa) #9
  br label %661

661:                                              ; preds = %658, %657
  %.not286 = icmp eq i64 %.0226.lcssa, 0
  br i1 %.not286, label %665, label %662

662:                                              ; preds = %661
  %663 = getelementptr inbounds i8, ptr %0, i64 42256
  %664 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %663, i64 noundef %.0226.lcssa) #9
  br label %665

665:                                              ; preds = %662, %661
  %.not287 = icmp eq i64 %.0213.lcssa, 0
  br i1 %.not287, label %669, label %666

666:                                              ; preds = %665
  %667 = getelementptr inbounds i8, ptr %0, i64 42264
  %668 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %667, i64 noundef %.0213.lcssa) #9
  br label %669

669:                                              ; preds = %666, %665
  %.not288 = icmp eq i64 %.0216.lcssa, 0
  br i1 %.not288, label %673, label %670

670:                                              ; preds = %669
  %671 = getelementptr inbounds i8, ptr %0, i64 42272
  %672 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %671, i64 noundef %.0216.lcssa) #9
  br label %673

673:                                              ; preds = %670, %669
  %.not289 = icmp eq i64 %.0230.lcssa, 0
  br i1 %.not289, label %677, label %674

674:                                              ; preds = %673
  %675 = getelementptr inbounds i8, ptr %0, i64 42280
  %676 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %675, i64 noundef %.0230.lcssa) #9
  br label %677

677:                                              ; preds = %674, %673
  %.not290 = icmp eq i64 %.0236.lcssa, 0
  br i1 %.not290, label %681, label %678

678:                                              ; preds = %677
  %679 = getelementptr inbounds i8, ptr %0, i64 42288
  %680 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %679, i64 noundef %.0236.lcssa) #9
  br label %681

681:                                              ; preds = %678, %677
  %.not291 = icmp eq i64 %.0222.lcssa, 0
  br i1 %.not291, label %687, label %682

682:                                              ; preds = %681
  %683 = getelementptr inbounds i8, ptr %0, i64 42432
  %684 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %683, i64 noundef %.0222.lcssa) #9
  %685 = load ptr, ptr %4, align 8, !tbaa !5
  %686 = getelementptr inbounds i8, ptr %685, i64 72
  invoke void @_ZN15ReferencedState31set_too_large_for_inlining_intoEv(ptr noundef nonnull align 8 dereferenceable(16) %686)
          to label %687 unwind label %637

687:                                              ; preds = %682, %681
  %.not292 = icmp eq i64 %.0244.lcssa, 0
  br i1 %.not292, label %691, label %688

688:                                              ; preds = %687
  %689 = getelementptr inbounds i8, ptr %0, i64 42224
  %690 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %689, i64 noundef %.0244.lcssa) #9
  br label %691

691:                                              ; preds = %688, %687
  %.not293 = icmp eq i64 %.0258.lcssa, 0
  br i1 %.not293, label %695, label %692

692:                                              ; preds = %691
  %693 = getelementptr inbounds i8, ptr %0, i64 42232
  %694 = call noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8) %693, i64 noundef %.0258.lcssa) #9
  br label %695

695:                                              ; preds = %692, %691
  %696 = call noundef i64 @_ZNKSt6vectorIP9DexMethodSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %15) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %15) #9
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %14) #9
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #9
  call void @_ZNSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #9
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9
  call void @_ZNSt6vectorI9InlinableSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  call void @_ZN17AccumulatingTimer22AccumulatingTimerScopeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #9
  ret i64 %696

697:                                              ; preds = %614, %628, %645, %637, %606
  %.pn333.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn333.pn.pn.pn.pn.pn.pn.pn, %606 ], [ %638, %637 ], [ %.pn, %645 ], [ %.pn282, %628 ], [ %615, %614 ]
  call void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %15) #9
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %15) #9
  call void @_ZN17VisibilityChangesD2Ev(ptr noundef nonnull align 8 dereferenceable(168) %14) #9
  br label %698

698:                                              ; preds = %697, %113
  %.pn333.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn333.pn.pn.pn.pn.pn.pn.pn.pn, %697 ], [ %114, %113 ]
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #9
  call void @_ZNSt10unique_ptrI12UnorderedSetIPK13IRInstructionSt4hashIS3_ESt8equal_toIS3_EESt14default_deleteIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #9
  br label %699

699:                                              ; preds = %698, %92
  %.pn333.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn333.pn.pn.pn.pn.pn.pn.pn.pn.pn, %698 ], [ %93, %92 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #9
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #9
  br label %700

700:                                              ; preds = %699, %90
  %.pn333.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn333.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %699 ], [ %91, %90 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9
  call void @_ZNSt6vectorI9InlinableSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  br label %701

701:                                              ; preds = %700, %88
  %.pn333.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn333.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %700 ], [ %89, %88 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  br label %702

702:                                              ; preds = %86, %701, %52
  %.pn333.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %53, %52 ], [ %.pn333.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %701 ], [ %87, %86 ]
  call void @_ZN17AccumulatingTimer22AccumulatingTimerScopeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #9
  resume { ptr, i32 } %.pn333.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNKSt19__shared_ptr_accessI11ReducedCodeLN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #1 align 2

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

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

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

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

declare noundef i32 @_ZNK3cfg16ControlFlowGraph19estimate_code_unitsEv(ptr noundef nonnull align 8 dereferenceable(160)) local_unnamed_addr #5

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZSt11stable_sortIN9__gnu_cxx17__normal_iteratorIP9InlinableSt6vectorIS2_SaIS2_EEEEZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKS6_E3$_0EvT_SE_T0_"(ptr, ptr, ptr, ptr) local_unnamed_addr #7

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK3cfg16ControlFlowGraph18get_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160)) local_unnamed_addr #1 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN17VisibilityChangesC2Ev(ptr noundef nonnull align 8 dereferenceable(168)) unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIP9InlinableSt6vectorIS1_SaIS1_EEEEbRKNS_17__normal_iteratorIT_T0_EESB_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(56) ptr @_ZNK9__gnu_cxx17__normal_iteratorIP9InlinableSt6vectorIS1_SaIS1_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 align 2

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

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

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

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

declare void @_ZN3cfg16ControlFlowGraph9find_insnEP13IRInstructionPNS_5BlockE(ptr dead_on_unwind writable sret(%"class.cfg::InstructionIteratorImpl") align 8, ptr noundef nonnull align 8 dereferenceable(160), ptr noundef, ptr noundef) local_unnamed_addr #5

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3cfg16ControlFlowGraph18set_registers_sizeEj(ptr noundef nonnull align 8 dereferenceable(160), i32 noundef) local_unnamed_addr #1 align 2

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

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

declare void @_ZN13IRInstructionC1ERKS_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #5

declare void @_ZN13IRInstructionC1E8IROpcode(ptr noundef nonnull align 8 dereferenceable(32), i16 noundef zeroext) unnamed_addr #5

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

declare noundef ptr @_ZN13IRInstruction7set_srcEtj(ptr noundef nonnull align 8 dereferenceable(32), i16 noundef zeroext, i32 noundef) local_unnamed_addr #5

declare noundef zeroext i1 @_ZN3cfg16ControlFlowGraph13replace_insnsERKNS_23InstructionIteratorImplILb0EEERKSt6vectorIP13IRInstructionSaIS7_EE(ptr noundef nonnull align 8 dereferenceable(160), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

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

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

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

declare i64 @_ZN3cfg16ControlFlowGraph25remove_unreachable_blocksEv(ptr noundef nonnull align 8 dereferenceable(160)) local_unnamed_addr #5

declare void @_ZN3cfg16ControlFlowGraph24recompute_registers_sizeEv(ptr noundef nonnull align 8 dereferenceable(160)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEENK3$_1clEv"(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK18MultiMethodInliner9for_speedEv(ptr noundef nonnull align 8 dereferenceable(68736)) local_unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK18MultiMethodInliner17InlinableDecisioncvbEv(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #1 align 2

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

declare void @_ZN8shrinker8Shrinker13shrink_methodEP9DexMethod(ptr noundef nonnull align 8 dereferenceable(20552), ptr noundef) local_unnamed_addr #5

declare noundef zeroext i1 @_Z12traceEnabled11TraceModulei(i32 noundef, i32 noundef) local_unnamed_addr #5

declare void @_Z5trace11TraceModuleibPKcz(i32 noundef, i32 noundef, i1 noundef zeroext, ptr noundef, ...) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_125create_inlining_trace_msgB5cxx11EPK9DexMethodS2_P13IRInstruction(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN13source_blocks18method_is_not_coldEP9DexMethod(ptr noundef) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN13source_blocks16method_maybe_hotEP9DexMethod(ptr noundef) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN13source_blocks13method_is_hotEP9DexMethod(ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN7inliner15inline_with_cfgEP9DexMethodS1_P13IRInstructionP7DexTypeS5_mPKN3cfg16ControlFlowGraphES1_b(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #3

declare noundef zeroext i1 @_ZNK6IRCode9cfg_builtEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

declare void @_Z4showB5cxx11RKN3cfg16ControlFlowGraphEb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(160), i1 noundef zeroext) local_unnamed_addr #5

declare void @_Z4showB5cxx11PK6IRCodeb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, i1 noundef zeroext) local_unnamed_addr #5

declare void @_ZN17VisibilityChanges6insertERKS_(ptr noundef nonnull align 8 dereferenceable(168), ptr noundef nonnull align 8 dereferenceable(168)) local_unnamed_addr #5

declare void @_Z22get_visibility_changesRKN3cfg16ControlFlowGraphEP7DexTypePK9DexMethod(ptr dead_on_unwind writable sret(%struct.VisibilityChanges) align 8, ptr noundef nonnull align 8 dereferenceable(160), ptr noundef, ptr noundef) local_unnamed_addr #5

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZN23InsertOnlyConcurrentSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ELm83EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(2664), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZN23InsertOnlyConcurrentMapIPK9DexMethodS2_St4hashIS2_ESt8equal_toIS2_ELm83EE7emplaceIJRPS0_SA_EEESt4pairIPKS2_bEDpOT_(ptr noundef nonnull align 8 dereferenceable(2664), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3 align 2

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

declare noundef zeroext i1 @_ZN4type16is_kotlin_lambdaEPK8DexClass(ptr noundef) local_unnamed_addr #5

declare noundef ptr @_Z10type_classPK7DexType(ptr noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNSt13__atomic_baseImEppEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_Z17UnorderedIterableI12UnorderedSetIP9DexMethodSt4hashIS2_ESt8equal_toIS2_EETnNSt9enable_ifIXsr3stdE12is_base_of_vI13UnorderedBaseIT_ESA_EEbE4typeELb1EEDaRSA_(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #3

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseIP9DexMethodLb0EEES5_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

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

declare void @_Z22get_visibility_changesPK9DexMethodP7DexType(ptr dead_on_unwind writable sret(%struct.VisibilityChanges) align 8, ptr noundef, ptr noundef) local_unnamed_addr #5

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

declare noundef zeroext i1 @_ZNK17VisibilityChanges5emptyEv(ptr noundef nonnull align 8 dereferenceable(168)) local_unnamed_addr #5

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18MultiMethodInliner47visibility_changes_apply_and_record_make_staticERK17VisibilityChanges(ptr noundef nonnull align 8 dereferenceable(68736), ptr noundef nonnull align 8 dereferenceable(168)) local_unnamed_addr #3 align 2

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNSt13__atomic_baseImEpLEm(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) local_unnamed_addr #1 align 2

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

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

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

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

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { noreturn "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { "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 = { 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 #7 = { 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 #8 = { 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 #9 = { nounwind }
attributes #10 = { noreturn }
attributes #11 = { builtin allocsize(0) }
attributes #12 = { 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, !73, i64 65873}
!10 = !{!"_ZTS18MultiMethodInliner", !11, i64 0, !17, i64 8, !19, i64 40, !21, i64 2704, !21, i64 5368, !23, i64 8032, !24, i64 10696, !24, i64 16680, !26, i64 22664, !33, i64 22720, !36, i64 22776, !36, i64 22832, !36, i64 22888, !39, i64 22944, !45, i64 22952, !45, i64 25616, !47, i64 28280, !49, i64 30944, !51, i64 33608, !19, i64 34072, !94, i64 36736, !57, i64 36744, !100, i64 36784, !102, i64 39448, !108, i64 39456, !114, i64 39464, !120, i64 39472, !126, i64 39480, !132, i64 39488, !100, i64 39496, !138, i64 42160, !144, i64 42168, !6, i64 45160, !6, i64 45168, !148, i64 45176, !6, i64 45184, !73, i64 45192, !73, i64 45193, !149, i64 45200, !201, i64 65752, !201, i64 65768, !201, i64 65784, !201, i64 65800, !201, i64 65816, !201, i64 65832, !201, i64 65848, !6, i64 65864, !73, i64 65872, !73, i64 65873, !217, i64 65880, !6, i64 66056, !218, i64 66064, !6, i64 68728}
!11 = !{!"_ZTSSt10unique_ptrISt6vectorIS_I10RefCheckerSt14default_deleteIS1_EESaIS4_EES2_IS6_EE", !12, i64 0}
!12 = !{!"_ZTSSt15__uniq_ptr_dataISt6vectorISt10unique_ptrI10RefCheckerSt14default_deleteIS2_EESaIS5_EES3_IS7_ELb1ELb1EE", !13, i64 0}
!13 = !{!"_ZTSSt15__uniq_ptr_implISt6vectorISt10unique_ptrI10RefCheckerSt14default_deleteIS2_EESaIS5_EES3_IS7_EE", !14, i64 0}
!14 = !{!"_ZTSSt5tupleIJPSt6vectorISt10unique_ptrI10RefCheckerSt14default_deleteIS2_EESaIS5_EES3_IS7_EEE", !15, i64 0}
!15 = !{!"_ZTSSt11_Tuple_implILm0EJPSt6vectorISt10unique_ptrI10RefCheckerSt14default_deleteIS2_EESaIS5_EES3_IS7_EEE", !16, i64 0}
!16 = !{!"_ZTSSt10_Head_baseILm0EPSt6vectorISt10unique_ptrI10RefCheckerSt14default_deleteIS2_EESaIS5_EELb0EE", !6, i64 0}
!17 = !{!"_ZTSSt8functionIFP9DexMethodP12DexMethodRef12MethodSearchPKS0_EE", !18, i64 0, !6, i64 24}
!18 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!19 = !{!"_ZTS13ConcurrentSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ELm83EE", !20, i64 0}
!20 = !{!"_ZTS19ConcurrentContainerISt13unordered_setIP9DexMethodSt4hashIS2_ESt8equal_toIS2_ESaIS2_EELm83EE", !7, i64 8}
!21 = !{!"_ZTS23InsertOnlyConcurrentSetIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_ELm83EE", !22, i64 0}
!22 = !{!"_ZTS19ConcurrentContainerISt13unordered_setIPK9DexMethodSt4hashIS3_ESt8equal_toIS3_ESaIS3_EELm83EE", !7, i64 8}
!23 = !{!"_ZTS13ConcurrentSetIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_ELm83EE", !22, i64 0}
!24 = !{!"_ZTS13ConcurrentMapIPK9DexMethod12UnorderedMapIPS0_mSt4hashIS4_ESt8equal_toIS4_EES5_IS2_ES7_IS2_ELm83EE", !25, i64 0, !7, i64 2664}
!25 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK9DexMethod12UnorderedMapIPS1_mSt4hashIS5_ESt8equal_toIS5_EES6_IS3_ES8_IS3_ESaISt4pairIKS3_SA_EEELm83EE", !7, i64 8}
!26 = !{!"_ZTS12UnorderedMapIPK9DexMethodN18MultiMethodInliner20CallerVirtualCalleesESt4hashIS2_ESt8equal_toIS2_EE", !27, i64 0}
!27 = !{!"_ZTSSt13unordered_mapIPK9DexMethodN18MultiMethodInliner20CallerVirtualCalleesESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_S4_EEE", !28, i64 0}
!28 = !{!"_ZTSSt10_HashtableIPK9DexMethodSt4pairIKS2_N18MultiMethodInliner20CallerVirtualCalleesEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS2_ESt4hashIS2_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!29 = !{!"long", !7, i64 0}
!30 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!31 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !32, i64 0, !29, i64 8}
!32 = !{!"float", !7, i64 0}
!33 = !{!"_ZTS12UnorderedMapIP13IRInstructionP7DexTypeSt4hashIS1_ESt8equal_toIS1_EE", !34, i64 0}
!34 = !{!"_ZTSSt13unordered_mapIP13IRInstructionP7DexTypeSt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S3_EEE", !35, i64 0}
!35 = !{!"_ZTSSt10_HashtableIP13IRInstructionSt4pairIKS1_P7DexTypeESaIS6_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!36 = !{!"_ZTS12UnorderedSetIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_EE", !37, i64 0}
!37 = !{!"_ZTSSt13unordered_setIPK9DexMethodSt4hashIS2_ESt8equal_toIS2_ESaIS2_EE", !38, i64 0}
!38 = !{!"_ZTSSt10_HashtableIPK9DexMethodS2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!39 = !{!"_ZTSSt10unique_ptrI14XDexMethodRefsSt14default_deleteIS0_EE", !40, i64 0}
!40 = !{!"_ZTSSt15__uniq_ptr_dataI14XDexMethodRefsSt14default_deleteIS0_ELb1ELb1EE", !41, i64 0}
!41 = !{!"_ZTSSt15__uniq_ptr_implI14XDexMethodRefsSt14default_deleteIS0_EE", !42, i64 0}
!42 = !{!"_ZTSSt5tupleIJP14XDexMethodRefsSt14default_deleteIS0_EEE", !43, i64 0}
!43 = !{!"_ZTSSt11_Tuple_implILm0EJP14XDexMethodRefsSt14default_deleteIS0_EEE", !44, i64 0}
!44 = !{!"_ZTSSt10_Head_baseILm0EP14XDexMethodRefsLb0EE", !6, i64 0}
!45 = !{!"_ZTS23InsertOnlyConcurrentMapIPK9DexMethod11InlinedCostSt4hashIS2_ESt8equal_toIS2_ELm83EE", !46, i64 0}
!46 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK9DexMethod11InlinedCostSt4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_S4_EEELm83EE", !7, i64 8}
!47 = !{!"_ZTS23InsertOnlyConcurrentMapI21CalleeCallSiteSummary11InlinedCostN5boost4hashIS0_EESt8equal_toIS0_ELm83EE", !48, i64 0}
!48 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapI21CalleeCallSiteSummary11InlinedCostN5boost4hashIS1_EESt8equal_toIS1_ESaISt4pairIKS1_S2_EEELm83EE", !7, i64 8}
!49 = !{!"_ZTS23InsertOnlyConcurrentMapIPK13IRInstructionPK11InlinedCostSt4hashIS2_ESt8equal_toIS2_ELm83EE", !50, i64 0}
!50 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK13IRInstructionPK11InlinedCostSt4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_S6_EEELm83EE", !7, i64 8}
!51 = !{!"_ZTS30PriorityThreadPoolDAGSchedulerIP9DexMethodE", !52, i64 0, !74, i64 296, !75, i64 328, !78, i64 384, !81, i64 440, !87, i64 448, !88, i64 456}
!52 = !{!"_ZTS18PriorityThreadPool", !53, i64 0, !29, i64 24, !57, i64 32, !29, i64 72, !59, i64 80, !59, i64 128, !59, i64 176, !61, i64 224, !69, i64 272, !71, i64 280, !73, i64 288}
!53 = !{!"_ZTSSt6vectorIN5boost6threadESaIS1_EE", !54, i64 0}
!54 = !{!"_ZTSSt12_Vector_baseIN5boost6threadESaIS1_EE", !55, i64 0}
!55 = !{!"_ZTSNSt12_Vector_baseIN5boost6threadESaIS1_EE12_Vector_implE", !56, i64 0}
!56 = !{!"_ZTSNSt12_Vector_baseIN5boost6threadESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!57 = !{!"_ZTSSt5mutex", !58, i64 0}
!58 = !{!"_ZTSSt12__mutex_base", !7, i64 0}
!59 = !{!"_ZTSSt18condition_variable", !60, i64 0}
!60 = !{!"_ZTSSt9__condvar", !7, i64 0}
!61 = !{!"_ZTSSt3mapIiSt5queueISt8functionIFvvEESt5dequeIS3_SaIS3_EEESt4lessIiESaISt4pairIKiS7_EEE", !62, i64 0}
!62 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKiSt5queueISt8functionIFvvEESt5dequeIS5_SaIS5_EEEESt10_Select1stISA_ESt4lessIiESaISA_EE", !63, i64 0}
!63 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKiSt5queueISt8functionIFvvEESt5dequeIS5_SaIS5_EEEESt10_Select1stISA_ESt4lessIiESaISA_EE13_Rb_tree_implISE_Lb1EEE", !64, i64 0, !66, i64 8}
!64 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !65, i64 0}
!65 = !{!"_ZTSSt4lessIiE"}
!66 = !{!"_ZTSSt15_Rb_tree_header", !67, i64 0, !29, i64 32}
!67 = !{!"_ZTSSt18_Rb_tree_node_base", !68, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!68 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!69 = !{!"_ZTSSt6atomicImE", !70, i64 0}
!70 = !{!"_ZTSSt13__atomic_baseImE", !29, i64 0}
!71 = !{!"_ZTSNSt6chrono8durationIdSt5ratioILl1ELl1EEEE", !72, i64 0}
!72 = !{!"double", !7, i64 0}
!73 = !{!"bool", !7, i64 0}
!74 = !{!"_ZTSSt8functionIFvP9DexMethodEE", !18, i64 0, !6, i64 24}
!75 = !{!"_ZTS12UnorderedMapIP9DexMethod12UnorderedSetIS1_St4hashIS1_ESt8equal_toIS1_EES4_S6_E", !76, i64 0}
!76 = !{!"_ZTSSt13unordered_mapIP9DexMethod12UnorderedSetIS1_St4hashIS1_ESt8equal_toIS1_EES4_S6_SaISt4pairIKS1_S7_EEE", !77, i64 0}
!77 = !{!"_ZTSSt10_HashtableIP9DexMethodSt4pairIKS1_12UnorderedSetIS1_St4hashIS1_ESt8equal_toIS1_EEESaISA_ENSt8__detail10_Select1stES8_S6_NSC_18_Mod_range_hashingENSC_20_Default_ranged_hashENSC_20_Prime_rehash_policyENSC_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!78 = !{!"_ZTS12UnorderedMapIP9DexMethodSt6atomicIjESt4hashIS1_ESt8equal_toIS1_EE", !79, i64 0}
!79 = !{!"_ZTSSt13unordered_mapIP9DexMethodSt6atomicIjESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S3_EEE", !80, i64 0}
!80 = !{!"_ZTSSt10_HashtableIP9DexMethodSt4pairIKS1_St6atomicIjEESaIS6_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!81 = !{!"_ZTSSt10unique_ptrI12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EESt14default_deleteIS7_EE", !82, i64 0}
!82 = !{!"_ZTSSt15__uniq_ptr_dataI12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EESt14default_deleteIS7_ELb1ELb1EE", !83, i64 0}
!83 = !{!"_ZTSSt15__uniq_ptr_implI12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EESt14default_deleteIS7_EE", !84, i64 0}
!84 = !{!"_ZTSSt5tupleIJP12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EESt14default_deleteIS7_EEE", !85, i64 0}
!85 = !{!"_ZTSSt11_Tuple_implILm0EJP12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EESt14default_deleteIS7_EEE", !86, i64 0}
!86 = !{!"_ZTSSt10_Head_baseILm0EP12UnorderedMapIP9DexMethodiSt4hashIS2_ESt8equal_toIS2_EELb0EE", !6, i64 0}
!87 = !{!"int", !7, i64 0}
!88 = !{!"_ZTSSt10unique_ptrI13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EESt14default_deleteISD_EE", !89, i64 0}
!89 = !{!"_ZTSSt15__uniq_ptr_dataI13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EESt14default_deleteISD_ELb1ELb1EE", !90, i64 0}
!90 = !{!"_ZTSSt15__uniq_ptr_implI13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EESt14default_deleteISD_EE", !91, i64 0}
!91 = !{!"_ZTSSt5tupleIJP13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EESt14default_deleteISD_EEE", !92, i64 0}
!92 = !{!"_ZTSSt11_Tuple_implILm0EJP13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EESt14default_deleteISD_EEE", !93, i64 0}
!93 = !{!"_ZTSSt10_Head_baseILm0EP13ConcurrentMapIP9DexMethodSt6vectorISt8functionIFvvEESaIS6_EESt4hashIS2_ESt8equal_toIS2_ELm83EELb0EE", !6, i64 0}
!94 = !{!"_ZTSSt10unique_ptrI17VisibilityChangesSt14default_deleteIS0_EE", !95, i64 0}
!95 = !{!"_ZTSSt15__uniq_ptr_dataI17VisibilityChangesSt14default_deleteIS0_ELb1ELb1EE", !96, i64 0}
!96 = !{!"_ZTSSt15__uniq_ptr_implI17VisibilityChangesSt14default_deleteIS0_EE", !97, i64 0}
!97 = !{!"_ZTSSt5tupleIJP17VisibilityChangesSt14default_deleteIS0_EEE", !98, i64 0}
!98 = !{!"_ZTSSt11_Tuple_implILm0EJP17VisibilityChangesSt14default_deleteIS0_EEE", !99, i64 0}
!99 = !{!"_ZTSSt10_Head_baseILm0EP17VisibilityChangesLb0EE", !6, i64 0}
!100 = !{!"_ZTS23InsertOnlyConcurrentMapIPK9DexMethodbSt4hashIS2_ESt8equal_toIS2_ELm83EE", !101, i64 0}
!101 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK9DexMethodbSt4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_bEEELm83EE", !7, i64 8}
!102 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS8_EE", !103, i64 0}
!103 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS8_ELb1ELb1EE", !104, i64 0}
!104 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS8_EE", !105, i64 0}
!105 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS8_EEE", !106, i64 0}
!106 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS8_EEE", !107, i64 0}
!107 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethodmSt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!108 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EE", !109, i64 0}
!109 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_ELb1ELb1EE", !110, i64 0}
!110 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EE", !111, i64 0}
!111 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EEE", !112, i64 0}
!112 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EEE", !113, i64 0}
!113 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethod11PartialCodeSt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!114 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISE_EE", !115, i64 0}
!115 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISE_ELb1ELb1EE", !116, i64 0}
!116 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISE_EE", !117, i64 0}
!117 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISE_EEE", !118, i64 0}
!118 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISE_EEE", !119, i64 0}
!119 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI12UnorderedBagIP7DexTypeEESt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!120 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISB_EE", !121, i64 0}
!121 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISB_ELb1ELb1EE", !122, i64 0}
!122 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISB_EE", !123, i64 0}
!123 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISB_EEE", !124, i64 0}
!124 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISB_EEE", !125, i64 0}
!125 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrI8CodeRefsESt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!126 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EE", !127, i64 0}
!127 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_ELb1ELb1EE", !128, i64 0}
!128 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EE", !129, i64 0}
!129 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EEE", !130, i64 0}
!130 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteIS9_EEE", !131, i64 0}
!131 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethod16CalleeCallerRefsSt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!132 = !{!"_ZTSSt10unique_ptrI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISC_EE", !133, i64 0}
!133 = !{!"_ZTSSt15__uniq_ptr_dataI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISC_ELb1ELb1EE", !134, i64 0}
!134 = !{!"_ZTSSt15__uniq_ptr_implI23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISC_EE", !135, i64 0}
!135 = !{!"_ZTSSt5tupleIJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISC_EEE", !136, i64 0}
!136 = !{!"_ZTSSt11_Tuple_implILm0EJP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EESt14default_deleteISC_EEE", !137, i64 0}
!137 = !{!"_ZTSSt10_Head_baseILm0EP23InsertOnlyConcurrentMapIPK9DexMethodSt10shared_ptrIN14XDexMethodRefs4RefsEESt4hashIS3_ESt8equal_toIS3_ELm83EELb0EE", !6, i64 0}
!138 = !{!"_ZTSSt10unique_ptrIN7inliner18CallSiteSummarizerESt14default_deleteIS1_EE", !139, i64 0}
!139 = !{!"_ZTSSt15__uniq_ptr_dataIN7inliner18CallSiteSummarizerESt14default_deleteIS1_ELb1ELb1EE", !140, i64 0}
!140 = !{!"_ZTSSt15__uniq_ptr_implIN7inliner18CallSiteSummarizerESt14default_deleteIS1_EE", !141, i64 0}
!141 = !{!"_ZTSSt5tupleIJPN7inliner18CallSiteSummarizerESt14default_deleteIS1_EEE", !142, i64 0}
!142 = !{!"_ZTSSt11_Tuple_implILm0EJPN7inliner18CallSiteSummarizerESt14default_deleteIS1_EEE", !143, i64 0}
!143 = !{!"_ZTSSt10_Head_baseILm0EPN7inliner18CallSiteSummarizerELb0EE", !6, i64 0}
!144 = !{!"_ZTSN18MultiMethodInliner12InliningInfoE", !29, i64 0, !29, i64 8, !29, i64 16, !87, i64 24, !69, i64 32, !69, i64 40, !69, i64 48, !69, i64 56, !69, i64 64, !69, i64 72, !69, i64 80, !69, i64 88, !69, i64 96, !69, i64 104, !69, i64 112, !69, i64 120, !69, i64 128, !69, i64 136, !69, i64 144, !69, i64 152, !69, i64 160, !69, i64 168, !69, i64 176, !69, i64 184, !69, i64 192, !69, i64 200, !69, i64 208, !69, i64 216, !69, i64 224, !69, i64 232, !69, i64 240, !69, i64 248, !69, i64 256, !69, i64 264, !69, i64 272, !69, i64 280, !69, i64 288, !145, i64 296, !146, i64 328}
!145 = !{!"_ZTSN7inliner20CallSiteSummaryStatsE", !69, i64 0, !69, i64 8, !69, i64 16, !69, i64 24}
!146 = !{!"_ZTS9AtomicMapIPK9DexMethodmSt4hashIS2_ESt8equal_toIS2_ELm83EE", !147, i64 0}
!147 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK9DexMethodSt6atomicImESt4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_S5_EEELm83EE", !7, i64 8}
!148 = !{!"_ZTS22MultiMethodInlinerMode", !7, i64 0}
!149 = !{!"_ZTSN8shrinker8ShrinkerE", !150, i64 0, !155, i64 24, !167, i64 2864, !87, i64 2920, !73, i64 2924, !168, i64 2928, !6, i64 2936, !174, i64 2944, !177, i64 3000, !180, i64 3056, !183, i64 3112, !195, i64 19808, !199, i64 19864, !200, i64 19928, !57, i64 19992, !201, i64 20032, !205, i64 20048, !201, i64 20120, !206, i64 20136, !201, i64 20256, !210, i64 20272, !201, i64 20312, !211, i64 20328, !201, i64 20400, !29, i64 20416, !201, i64 20424, !213, i64 20440, !201, i64 20520, !29, i64 20536, !29, i64 20544}
!150 = !{!"_ZTSN13random_forest6ForestIJRKN8shrinker8Shrinker13MethodContextEEEE", !151, i64 0}
!151 = !{!"_ZTSSt6vectorISt10unique_ptrIN13random_forest6ForestIJRKN8shrinker8Shrinker13MethodContextEEE16DecisionTreeNodeESt14default_deleteIS9_EESaISC_EE", !152, i64 0}
!152 = !{!"_ZTSSt12_Vector_baseISt10unique_ptrIN13random_forest6ForestIJRKN8shrinker8Shrinker13MethodContextEEE16DecisionTreeNodeESt14default_deleteIS9_EESaISC_EE", !153, i64 0}
!153 = !{!"_ZTSNSt12_Vector_baseISt10unique_ptrIN13random_forest6ForestIJRKN8shrinker8Shrinker13MethodContextEEE16DecisionTreeNodeESt14default_deleteIS9_EESaISC_EE12_Vector_implE", !154, i64 0}
!154 = !{!"_ZTSNSt12_Vector_baseISt10unique_ptrIN13random_forest6ForestIJRKN8shrinker8Shrinker13MethodContextEEE16DecisionTreeNodeESt14default_deleteIS9_EESaISC_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!155 = !{!"_ZTS10XStoreRefs", !156, i64 0, !158, i64 2664, !29, i64 2688, !162, i64 2696, !162, i64 2752, !165, i64 2808}
!156 = !{!"_ZTS23InsertOnlyConcurrentMapIPK7DexTypemSt4hashIS2_ESt8equal_toIS2_ELm83EE", !157, i64 0}
!157 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK7DexTypemSt4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_mEEELm83EE", !7, i64 8}
!158 = !{!"_ZTSSt6vectorIPK8DexStoreSaIS2_EE", !159, i64 0}
!159 = !{!"_ZTSSt12_Vector_baseIPK8DexStoreSaIS2_EE", !160, i64 0}
!160 = !{!"_ZTSNSt12_Vector_baseIPK8DexStoreSaIS2_EE12_Vector_implE", !161, i64 0}
!161 = !{!"_ZTSNSt12_Vector_baseIPK8DexStoreSaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!162 = !{!"_ZTS12UnorderedMapIPK8DexStore12UnorderedSetIS2_St4hashIS2_ESt8equal_toIS2_EES5_S7_E", !163, i64 0}
!163 = !{!"_ZTSSt13unordered_mapIPK8DexStore12UnorderedSetIS2_St4hashIS2_ESt8equal_toIS2_EES5_S7_SaISt4pairIKS2_S8_EEE", !164, i64 0}
!164 = !{!"_ZTSSt10_HashtableIPK8DexStoreSt4pairIKS2_12UnorderedSetIS2_St4hashIS2_ESt8equal_toIS2_EEESaISB_ENSt8__detail10_Select1stES9_S7_NSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!165 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !166, i64 0, !29, i64 8, !7, i64 16}
!166 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!167 = !{!"_ZTSN8shrinker14ShrinkerConfigE", !73, i64 0, !73, i64 1, !73, i64 2, !73, i64 3, !73, i64 4, !73, i64 5, !73, i64 6, !73, i64 7, !73, i64 8, !73, i64 9, !165, i64 16, !73, i64 48}
!168 = !{!"_ZTSSt10unique_ptrIN8cse_impl11SharedStateESt14default_deleteIS1_EE", !169, i64 0}
!169 = !{!"_ZTSSt15__uniq_ptr_dataIN8cse_impl11SharedStateESt14default_deleteIS1_ELb1ELb1EE", !170, i64 0}
!170 = !{!"_ZTSSt15__uniq_ptr_implIN8cse_impl11SharedStateESt14default_deleteIS1_EE", !171, i64 0}
!171 = !{!"_ZTSSt5tupleIJPN8cse_impl11SharedStateESt14default_deleteIS1_EEE", !172, i64 0}
!172 = !{!"_ZTSSt11_Tuple_implILm0EJPN8cse_impl11SharedStateESt14default_deleteIS1_EEE", !173, i64 0}
!173 = !{!"_ZTSSt10_Head_baseILm0EPN8cse_impl11SharedStateELb0EE", !6, i64 0}
!174 = !{!"_ZTS12UnorderedSetIP12DexMethodRefSt4hashIS1_ESt8equal_toIS1_EE", !175, i64 0}
!175 = !{!"_ZTSSt13unordered_setIP12DexMethodRefSt4hashIS1_ESt8equal_toIS1_ESaIS1_EE", !176, i64 0}
!176 = !{!"_ZTSSt10_HashtableIP12DexMethodRefS1_SaIS1_ENSt8__detail9_IdentityESt8equal_toIS1_ESt4hashIS1_ENS3_18_Mod_range_hashingENS3_20_Default_ranged_hashENS3_20_Prime_rehash_policyENS3_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!177 = !{!"_ZTS12UnorderedSetIPK9DexStringSt4hashIS2_ESt8equal_toIS2_EE", !178, i64 0}
!178 = !{!"_ZTSSt13unordered_setIPK9DexStringSt4hashIS2_ESt8equal_toIS2_ESaIS2_EE", !179, i64 0}
!179 = !{!"_ZTSSt10_HashtableIPK9DexStringS2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!180 = !{!"_ZTS12UnorderedSetIPK8DexFieldSt4hashIS2_ESt8equal_toIS2_EE", !181, i64 0}
!181 = !{!"_ZTSSt13unordered_setIPK8DexFieldSt4hashIS2_ESt8equal_toIS2_ESaIS2_EE", !182, i64 0}
!182 = !{!"_ZTSSt10_HashtableIPK8DexFieldS2_SaIS2_ENSt8__detail9_IdentityESt8equal_toIS2_ESt4hashIS2_ENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!183 = !{!"_ZTSN20constant_propagation31ImmutableAttributeAnalyzerStateE", !184, i64 0, !19, i64 5984, !186, i64 8648, !188, i64 11312, !191, i64 11368, !193, i64 14032}
!184 = !{!"_ZTS13ConcurrentMapIP9DexMethodSt6vectorISt10unique_ptrIN20constant_propagation31ImmutableAttributeAnalyzerState11InitializerESt14default_deleteIS6_EESaIS9_EESt4hashIS1_ESt8equal_toIS1_ELm83EE", !185, i64 0, !7, i64 2664}
!185 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIP9DexMethodSt6vectorISt10unique_ptrIN20constant_propagation31ImmutableAttributeAnalyzerState11InitializerESt14default_deleteIS7_EESaISA_EESt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_SC_EEELm83EE", !7, i64 8}
!186 = !{!"_ZTS13ConcurrentSetIP8DexFieldSt4hashIS1_ESt8equal_toIS1_ELm83EE", !187, i64 0}
!187 = !{!"_ZTS19ConcurrentContainerISt13unordered_setIP8DexFieldSt4hashIS2_ESt8equal_toIS2_ESaIS2_EELm83EE", !7, i64 8}
!188 = !{!"_ZTS12UnorderedMapIP9DexMethodN20constant_propagation31ImmutableAttributeAnalyzerState18CachedBoxedObjectsESt4hashIS1_ESt8equal_toIS1_EE", !189, i64 0}
!189 = !{!"_ZTSSt13unordered_mapIP9DexMethodN20constant_propagation31ImmutableAttributeAnalyzerState18CachedBoxedObjectsESt4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S4_EEE", !190, i64 0}
!190 = !{!"_ZTSSt10_HashtableIP9DexMethodSt4pairIKS1_N20constant_propagation31ImmutableAttributeAnalyzerState18CachedBoxedObjectsEESaIS7_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!191 = !{!"_ZTS13ConcurrentSetIP7DexTypeSt4hashIS1_ESt8equal_toIS1_ELm83EE", !192, i64 0}
!192 = !{!"_ZTS19ConcurrentContainerISt13unordered_setIP7DexTypeSt4hashIS2_ESt8equal_toIS2_ESaIS2_EELm83EE", !7, i64 8}
!193 = !{!"_ZTS23InsertOnlyConcurrentMapIP7DexTypebSt4hashIS1_ESt8equal_toIS1_ELm83EE", !194, i64 0}
!194 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIP7DexTypebSt4hashIS2_ESt8equal_toIS2_ESaISt4pairIKS2_bEEELm83EE", !7, i64 8}
!195 = !{!"_ZTSN20constant_propagation19StringAnalyzerStateE", !196, i64 0}
!196 = !{!"_ZTS12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE", !197, i64 0}
!197 = !{!"_ZTSSt13unordered_setIP9DexMethodSt4hashIS1_ESt8equal_toIS1_ESaIS1_EE", !198, i64 0}
!198 = !{!"_ZTSSt10_HashtableIP9DexMethodS1_SaIS1_ENSt8__detail9_IdentityESt8equal_toIS1_ESt4hashIS1_ENS3_18_Mod_range_hashingENS3_20_Default_ranged_hashENS3_20_Prime_rehash_policyENS3_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!199 = !{!"_ZTSN20constant_propagation16PackageNameStateE", !174, i64 0, !6, i64 56}
!200 = !{!"_ZTSN20constant_propagation5StateE", !174, i64 0, !6, i64 56}
!201 = !{!"_ZTS17AccumulatingTimer", !202, i64 0}
!202 = !{!"_ZTSSt10shared_ptrISt6atomicImEE", !203, i64 0}
!203 = !{!"_ZTSSt12__shared_ptrISt6atomicImELN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !204, i64 8}
!204 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!205 = !{!"_ZTSN20constant_propagation9Transform5StatsE", !29, i64 0, !29, i64 8, !29, i64 16, !29, i64 24, !29, i64 32, !29, i64 40, !29, i64 48, !29, i64 56, !29, i64 64}
!206 = !{!"_ZTSN8cse_impl5StatsE", !29, i64 0, !29, i64 8, !29, i64 16, !29, i64 24, !29, i64 32, !29, i64 40, !207, i64 48, !29, i64 104, !29, i64 112}
!207 = !{!"_ZTS12UnorderedMapItmSt4hashItESt8equal_toItEE", !208, i64 0}
!208 = !{!"_ZTSSt13unordered_mapItmSt4hashItESt8equal_toItESaISt4pairIKtmEEE", !209, i64 0}
!209 = !{!"_ZTSSt10_HashtableItSt4pairIKtmESaIS2_ENSt8__detail10_Select1stESt8equal_toItESt4hashItENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!210 = !{!"_ZTSN21copy_propagation_impl5StatsE", !29, i64 0, !29, i64 8, !29, i64 16, !29, i64 24, !29, i64 32}
!211 = !{!"_ZTSN8LocalDce5StatsE", !29, i64 0, !29, i64 8, !29, i64 16, !29, i64 24, !29, i64 32, !29, i64 40, !212, i64 48}
!212 = !{!"_ZTSN12init_classes5StatsE", !29, i64 0, !29, i64 8, !29, i64 16}
!213 = !{!"_ZTSN17dedup_blocks_impl5StatsE", !87, i64 0, !87, i64 4, !87, i64 8, !87, i64 12, !87, i64 16, !214, i64 24}
!214 = !{!"_ZTS12UnorderedMapImmSt4hashImESt8equal_toImEE", !215, i64 0}
!215 = !{!"_ZTSSt13unordered_mapImmSt4hashImESt8equal_toImESaISt4pairIKmmEEE", !216, i64 0}
!216 = !{!"_ZTSSt10_HashtableImSt4pairIKmmESaIS2_ENSt8__detail10_Select1stESt8equal_toImESt4hashImENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!217 = !{!"_ZTS17InlinerCostConfig", !32, i64 0, !32, i64 4, !29, i64 8, !32, i64 16, !29, i64 24, !29, i64 32, !29, i64 40, !29, i64 48, !29, i64 56, !29, i64 64, !29, i64 72, !29, i64 80, !29, i64 88, !29, i64 96, !29, i64 104, !32, i64 112, !32, i64 116, !32, i64 120, !32, i64 124, !32, i64 128, !32, i64 132, !32, i64 136, !32, i64 140, !32, i64 144, !32, i64 148, !32, i64 152, !32, i64 156, !32, i64 160, !32, i64 164, !32, i64 168}
!218 = !{!"_ZTS23InsertOnlyConcurrentMapIPK9DexMethodS2_St4hashIS2_ESt8equal_toIS2_ELm83EE", !219, i64 0}
!219 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapIPK9DexMethodS3_St4hashIS3_ESt8equal_toIS3_ESaISt4pairIKS3_S3_EEELm83EE", !7, i64 8}
!220 = !{i8 0, i8 2}
!221 = !{}
!222 = !{!73, !73, i64 0}
!223 = !{!10, !6, i64 45168}
!224 = !{!225, !73, i64 73}
!225 = !{!"_ZTSN7inliner13InlinerConfigE", !73, i64 0, !73, i64 1, !73, i64 2, !73, i64 3, !73, i64 4, !73, i64 5, !73, i64 6, !73, i64 7, !73, i64 8, !73, i64 9, !73, i64 10, !73, i64 11, !167, i64 16, !73, i64 72, !73, i64 73, !73, i64 74, !73, i64 75, !73, i64 76, !73, i64 77, !73, i64 78, !29, i64 80, !29, i64 88, !29, i64 96, !165, i64 104, !226, i64 136, !227, i64 144, !227, i64 200, !230, i64 256, !230, i64 280, !230, i64 304, !230, i64 328, !29, i64 352, !73, i64 360, !227, i64 368, !227, i64 424, !227, i64 480}
!226 = !{!"_ZTSN7inliner18UnfinalizePerfModeE", !7, i64 0}
!227 = !{!"_ZTS12UnorderedSetIP7DexTypeSt4hashIS1_ESt8equal_toIS1_EE", !228, i64 0}
!228 = !{!"_ZTSSt13unordered_setIP7DexTypeSt4hashIS1_ESt8equal_toIS1_ESaIS1_EE", !229, i64 0}
!229 = !{!"_ZTSSt10_HashtableIP7DexTypeS1_SaIS1_ENSt8__detail9_IdentityESt8equal_toIS1_ESt4hashIS1_ENS3_18_Mod_range_hashingENS3_20_Default_ranged_hashENS3_20_Prime_rehash_policyENS3_17_Hashtable_traitsILb0ELb1ELb1EEEE", !6, i64 0, !29, i64 8, !30, i64 16, !29, i64 24, !31, i64 32, !6, i64 48}
!230 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !231, i64 0}
!231 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !232, i64 0}
!232 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !233, i64 0}
!233 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!234 = !{!87, !87, i64 0}
!235 = !{!236, !6, i64 0}
!236 = !{!"_ZTSZN18MultiMethodInliner17inline_inlinablesEP9DexMethodRKSt6vectorI9InlinableSaIS3_EEE3$_1", !6, i64 0, !6, i64 8, !6, i64 16}
!237 = !{!238, !6, i64 0}
!238 = !{!"_ZTS9Inlinable", !6, i64 0, !6, i64 8, !73, i64 16, !73, i64 17, !239, i64 24, !29, i64 40, !6, i64 48}
!239 = !{!"_ZTSSt10shared_ptrI11ReducedCodeE", !240, i64 0}
!240 = !{!"_ZTSSt12__shared_ptrI11ReducedCodeLN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !204, i64 8}
!241 = !{!238, !6, i64 8}
!242 = !{!238, !73, i64 16}
!243 = !{!225, !73, i64 7}
!244 = !{!7, !7, i64 0}
!245 = !{!10, !6, i64 45184}
!246 = !{!247, !247, i64 0}
!247 = !{!"vtable pointer", !8, i64 0}
!248 = !{!238, !29, i64 40}
!249 = !{!225, !73, i64 11}
!250 = !{!225, !73, i64 4}
!251 = !{!10, !6, i64 68728}
!252 = !{!225, !226, i64 136}
!253 = !{!238, !6, i64 48}
!254 = !{!225, !73, i64 77}
!255 = !{!238, !73, i64 17}


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