; LLVM IR from facebook/redex :: opt/builder_pattern (BuilderTransform)

; 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.UnorderedSet.643 = type { %"class.std::unordered_set.645" }
%"class.std::unordered_set.645" = type { %"class.std::_Hashtable.646" }
%"class.std::_Hashtable.646" = 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.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.771" = type { %"struct.std::_Vector_base.772" }
%"struct.std::_Vector_base.772" = 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.__gnu_cxx::__normal_iterator.781" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%class.UnorderedSet.111 = type { %"class.std::unordered_set.113" }
%"class.std::unordered_set.113" = type { %"class.std::_Hashtable.114" }
%"class.std::_Hashtable.114" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.cfg::InstructionIterableImpl" = type { ptr }
%"struct.std::pair" = type <{ %"class.UnorderedSet<IRInstruction *>::FixedIterator", i8, [7 x i8] }>
%"class.UnorderedSet<IRInstruction *>::FixedIterator" = type { %"struct.std::__detail::_Node_iterator" }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"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.std::basic_string_view" = type { i64, ptr }
%"class.builder_pattern::BuilderTransform" = type { ptr, ptr, %"class.std::unique_ptr", %"struct.inliner::InlinerConfig", %struct.ConcurrentMethodResolver, %class.UnorderedMap }
%"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 }
%"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, %class.UnorderedSet, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", i64, i8, %class.UnorderedSet, %class.UnorderedSet, %class.UnorderedSet }
%"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::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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 = type { %"class.std::unordered_set" }
%"class.std::unordered_set" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%struct.ConcurrentMethodResolver = type { %class.InsertOnlyConcurrentMap }
%class.InsertOnlyConcurrentMap = type { %class.ConcurrentContainer }
%class.ConcurrentContainer = type { ptr, [83 x %"class.cc_impl::ConcurrentHashtable"] }
%"class.cc_impl::ConcurrentHashtable" = type { %"struct.std::atomic", %"struct.std::atomic.11", %"struct.std::atomic.13", %"struct.std::atomic.15" }
%"struct.std::atomic" = type { %"struct.std::__atomic_base" }
%"struct.std::__atomic_base" = type { ptr }
%"struct.std::atomic.11" = type { %"struct.std::__atomic_base.12" }
%"struct.std::__atomic_base.12" = type { i64 }
%"struct.std::atomic.13" = type { %"struct.std::__atomic_base.14" }
%"struct.std::__atomic_base.14" = type { i8 }
%"struct.std::atomic.15" = type { %"struct.std::__atomic_base.16" }
%"struct.std::__atomic_base.16" = type { ptr }
%class.UnorderedMap = type { %"class.std::unordered_map" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.19" }
%"class.std::_Hashtable.19" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%struct.MethodItemEntry = type { %"class.boost::intrusive::list_member_hook", i32, %union.anon.746 }
%"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.746 = type { ptr }

@.str.14 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [15 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: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN15builder_pattern16BuilderTransform16try_inline_callsEP9DexMethodRK12UnorderedSetIP13IRInstructionSt4hashIS5_ESt8equal_toIS5_EE(ptr dead_on_unwind noalias writable sret(%class.UnorderedSet.643) align 8, ptr noundef nonnull align 8 dereferenceable(3280), ptr noundef, ptr noundef nonnull align 8 dereferenceable(56)) #4 align 2

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

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

; 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: inlinehint mustprogress uwtable
declare dso_local ptr @_Z19InstructionIterableRN3cfg16ControlFlowGraphE(ptr noundef nonnull align 8 dereferenceable(160)) #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3cfg23InstructionIterableImplILb0EE5beginEv(ptr dead_on_unwind noalias writable sret(%"class.cfg::InstructionIteratorImpl") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3cfg23InstructionIterableImplILb0EE3endEv(ptr dead_on_unwind noalias writable sret(%"class.cfg::InstructionIteratorImpl") align 8, ptr noundef nonnull align 8 dereferenceable(8)) #4 align 2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN15builder_pattern16BuilderTransform28inline_super_calls_and_ctorsEPK7DexType(ptr noundef nonnull align 8 dereferenceable(3280) %0, ptr noundef %1) #4 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca i1, align 1
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca %"class.std::vector.771", align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca %"class.__gnu_cxx::__normal_iterator.781", align 8
  %12 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %13 = alloca %"class.__gnu_cxx::__normal_iterator.781", align 8
  %14 = alloca %"class.__gnu_cxx::__normal_iterator.781", align 8
  %15 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %16 = alloca ptr, align 8
  %17 = alloca %"class.std::vector.771", align 8
  %18 = alloca %class.UnorderedSet.111, align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator.781", align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator.781", align 8
  %21 = alloca ptr, align 8
  %22 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %23 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %24 = alloca i32, align 4
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca %class.UnorderedSet.643, align 8
  %28 = alloca ptr, align 8
  %29 = alloca %"class.cfg::InstructionIterableImpl", align 8
  %30 = alloca %"class.cfg::InstructionIteratorImpl", align 8
  %31 = alloca %"class.cfg::InstructionIteratorImpl", align 8
  %32 = alloca ptr, align 8
  %33 = alloca ptr, align 8
  %34 = alloca %"struct.std::pair", align 8
  %35 = alloca ptr, align 8
  %36 = alloca %"struct.std::pair", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::basic_string_view", align 8
  %39 = alloca ptr, align 8
  %40 = alloca %"class.std::basic_string_view", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::basic_string_view", align 8
  %43 = alloca i64, align 8
  %44 = alloca %class.UnorderedSet.643, align 8
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  %45 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #7
  %46 = load ptr, ptr %5, align 8, !tbaa !5
  %47 = call noundef ptr @_Z10type_classPK7DexType(ptr noundef %46)
  store ptr %47, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %7) #7
  %48 = load ptr, ptr %6, align 8, !tbaa !5
  %49 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN8DexClass12get_dmethodsEv(ptr noundef nonnull align 8 dereferenceable(176) %48)
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 8 dereferenceable(24) %49)
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #7
  %50 = load ptr, ptr %6, align 8, !tbaa !5
  %51 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN8DexClass12get_vmethodsEv(ptr noundef nonnull align 8 dereferenceable(176) %50)
          to label %52 unwind label %95

52:                                               ; preds = %2
  store ptr %51, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #7
  %53 = call ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  %54 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %12, i32 0, i32 0
  store ptr %53, ptr %54, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKP9DexMethodSt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  %55 = load ptr, ptr %8, align 8, !tbaa !5
  %56 = call ptr @_ZNKSt6vectorIP9DexMethodSaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %55) #7
  %57 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.781", ptr %13, i32 0, i32 0
  store ptr %56, ptr %57, align 8
  %58 = load ptr, ptr %8, align 8, !tbaa !5
  %59 = call ptr @_ZNKSt6vectorIP9DexMethodSaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %58) #7
  %60 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.781", ptr %14, i32 0, i32 0
  store ptr %59, ptr %60, align 8
  %61 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.781", ptr %11, i32 0, i32 0
  %62 = load ptr, ptr %61, align 8
  %63 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.781", ptr %13, i32 0, i32 0
  %64 = load ptr, ptr %63, align 8
  %65 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.781", ptr %14, i32 0, i32 0
  %66 = load ptr, ptr %65, align 8
  %67 = invoke ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEvEENS6_IPS1_S3_EES9_T_SC_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr %62, ptr %64, ptr %66)
          to label %68 unwind label %99

68:                                               ; preds = %52
  %69 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %15, i32 0, i32 0
  store ptr %67, ptr %69, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #7
  %70 = getelementptr inbounds %"class.builder_pattern::BuilderTransform", ptr %45, i32 0, i32 1
  %71 = load ptr, ptr %70, align 8, !tbaa !9
  %72 = invoke noundef ptr @_Z10type_classPK7DexType(ptr noundef %71)
          to label %73 unwind label %103

73:                                               ; preds = %68
  invoke void @_ZNK8DexClass9get_ctorsEv(ptr dead_on_unwind writable sret(%"class.std::vector.771") align 8 %17, ptr noundef nonnull align 8 dereferenceable(176) %72)
          to label %74 unwind label %103

74:                                               ; preds = %73
  store ptr %17, ptr %16, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 56, ptr %18) #7
  %75 = load ptr, ptr %16, align 8, !tbaa !5
  %76 = call ptr @_ZNKSt6vectorIP9DexMethodSaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %75) #7
  %77 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.781", ptr %19, i32 0, i32 0
  store ptr %76, ptr %77, align 8
  %78 = load ptr, ptr %16, align 8, !tbaa !5
  %79 = call ptr @_ZNKSt6vectorIP9DexMethodSaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %78) #7
  %80 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.781", ptr %20, i32 0, i32 0
  store ptr %79, ptr %80, align 8
  %81 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.781", ptr %19, i32 0, i32 0
  %82 = load ptr, ptr %81, align 8
  %83 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.781", ptr %20, i32 0, i32 0
  %84 = load ptr, ptr %83, align 8
  invoke void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EEC2IN9__gnu_cxx17__normal_iteratorIPKS1_St6vectorIS1_SaIS1_EEEEEET_SG_(ptr noundef nonnull align 8 dereferenceable(56) %18, ptr %82, ptr %84)
          to label %85 unwind label %107

85:                                               ; preds = %74
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #7
  store ptr %7, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #7
  %86 = load ptr, ptr %21, align 8, !tbaa !5
  %87 = call ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %86) #7
  %88 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %22, i32 0, i32 0
  store ptr %87, ptr %88, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  %89 = load ptr, ptr %21, align 8, !tbaa !5
  %90 = call ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %89) #7
  %91 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %23, i32 0, i32 0
  store ptr %90, ptr %91, align 8
  br label %92

92:                                               ; preds = %334, %85
  %93 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPP9DexMethodSt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %23) #7
  br i1 %93, label %111, label %94

94:                                               ; preds = %92
  store i32 2, ptr %24, align 4
  br label %340

95:                                               ; preds = %2
  %96 = landingpad { ptr, i32 }
          cleanup
  %97 = extractvalue { ptr, i32 } %96, 0
  store ptr %97, ptr %9, align 8
  %98 = extractvalue { ptr, i32 } %96, 1
  store i32 %98, ptr %10, align 4
  br label %347

99:                                               ; preds = %52
  %100 = landingpad { ptr, i32 }
          cleanup
  %101 = extractvalue { ptr, i32 } %100, 0
  store ptr %101, ptr %9, align 8
  %102 = extractvalue { ptr, i32 } %100, 1
  store i32 %102, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #7
  br label %347

103:                                              ; preds = %73, %68
  %104 = landingpad { ptr, i32 }
          cleanup
  %105 = extractvalue { ptr, i32 } %104, 0
  store ptr %105, ptr %9, align 8
  %106 = extractvalue { ptr, i32 } %104, 1
  store i32 %106, ptr %10, align 4
  br label %346

107:                                              ; preds = %74
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %9, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %10, align 4
  br label %345

111:                                              ; preds = %92
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #7
  %112 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPP9DexMethodSt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  %113 = load ptr, ptr %112, align 8, !tbaa !5
  store ptr %113, ptr %25, align 8, !tbaa !5
  %114 = load ptr, ptr %25, align 8, !tbaa !5
  %115 = invoke noundef ptr @_ZN9DexMethod8get_codeEv(ptr noundef nonnull align 8 dereferenceable(88) %114)
          to label %116 unwind label %119

116:                                              ; preds = %111
  %117 = icmp ne ptr %115, null
  br i1 %117, label %123, label %118

118:                                              ; preds = %116
  store i32 3, ptr %24, align 4
  br label %331

119:                                              ; preds = %111
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %9, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %10, align 4
  br label %339

123:                                              ; preds = %116
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #7
  %124 = load ptr, ptr %25, align 8, !tbaa !5
  %125 = invoke noundef ptr @_ZN9DexMethod8get_codeEv(ptr noundef nonnull align 8 dereferenceable(88) %124)
          to label %126 unwind label %142

126:                                              ; preds = %123
  %127 = invoke noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %125)
          to label %128 unwind label %142

128:                                              ; preds = %126
  store ptr %127, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 56, ptr %27) #7
  invoke void @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %27)
          to label %129 unwind label %146

129:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #7
  %130 = load ptr, ptr %26, align 8, !tbaa !5
  %131 = invoke ptr @_Z19InstructionIterableRN3cfg16ControlFlowGraphE(ptr noundef nonnull align 8 dereferenceable(160) %130)
          to label %132 unwind label %150

132:                                              ; preds = %129
  %133 = getelementptr inbounds %"class.cfg::InstructionIterableImpl", ptr %29, i32 0, i32 0
  store ptr %131, ptr %133, align 8
  store ptr %29, ptr %28, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #7
  %134 = load ptr, ptr %28, align 8, !tbaa !5
  invoke void @_ZN3cfg23InstructionIterableImplILb0EE5beginEv(ptr dead_on_unwind writable sret(%"class.cfg::InstructionIteratorImpl") align 8 %30, ptr noundef nonnull align 8 dereferenceable(8) %134)
          to label %135 unwind label %154

135:                                              ; preds = %132
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #7
  %136 = load ptr, ptr %28, align 8, !tbaa !5
  invoke void @_ZN3cfg23InstructionIterableImplILb0EE3endEv(ptr dead_on_unwind writable sret(%"class.cfg::InstructionIteratorImpl") align 8 %31, ptr noundef nonnull align 8 dereferenceable(8) %136)
          to label %137 unwind label %158

137:                                              ; preds = %135
  br label %138

138:                                              ; preds = %219, %137
  %139 = invoke noundef zeroext i1 @_ZNK3cfg23InstructionIteratorImplILb0EEneERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %140 unwind label %158

140:                                              ; preds = %138
  br i1 %139, label %162, label %141

141:                                              ; preds = %140
  store i32 4, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  br label %225

142:                                              ; preds = %126, %123
  %143 = landingpad { ptr, i32 }
          cleanup
  %144 = extractvalue { ptr, i32 } %143, 0
  store ptr %144, ptr %9, align 8
  %145 = extractvalue { ptr, i32 } %143, 1
  store i32 %145, ptr %10, align 4
  br label %338

146:                                              ; preds = %128
  %147 = landingpad { ptr, i32 }
          cleanup
  %148 = extractvalue { ptr, i32 } %147, 0
  store ptr %148, ptr %9, align 8
  %149 = extractvalue { ptr, i32 } %147, 1
  store i32 %149, ptr %10, align 4
  br label %337

150:                                              ; preds = %129
  %151 = landingpad { ptr, i32 }
          cleanup
  %152 = extractvalue { ptr, i32 } %151, 0
  store ptr %152, ptr %9, align 8
  %153 = extractvalue { ptr, i32 } %151, 1
  store i32 %153, ptr %10, align 4
  br label %224

154:                                              ; preds = %132
  %155 = landingpad { ptr, i32 }
          cleanup
  %156 = extractvalue { ptr, i32 } %155, 0
  store ptr %156, ptr %9, align 8
  %157 = extractvalue { ptr, i32 } %155, 1
  store i32 %157, ptr %10, align 4
  br label %223

158:                                              ; preds = %217, %138, %135
  %159 = landingpad { ptr, i32 }
          cleanup
  %160 = extractvalue { ptr, i32 } %159, 0
  store ptr %160, ptr %9, align 8
  %161 = extractvalue { ptr, i32 } %159, 1
  store i32 %161, ptr %10, align 4
  br label %222

162:                                              ; preds = %140
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #7
  %163 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK3cfg23InstructionIteratorImplILb0EEdeEv(ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %164 unwind label %180

164:                                              ; preds = %162
  store ptr %163, ptr %32, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #7
  %165 = load ptr, ptr %32, align 8, !tbaa !5
  %166 = getelementptr inbounds %struct.MethodItemEntry, ptr %165, i32 0, i32 2
  %167 = load ptr, ptr %166, align 8, !tbaa !40
  store ptr %167, ptr %33, align 8, !tbaa !5
  %168 = load ptr, ptr %33, align 8, !tbaa !5
  %169 = invoke noundef zeroext i16 @_ZNK13IRInstruction6opcodeEv(ptr noundef nonnull align 8 dereferenceable(32) %168)
          to label %170 unwind label %184

170:                                              ; preds = %164
  %171 = zext i16 %169 to i32
  %172 = icmp eq i32 %171, 88
  br i1 %172, label %173, label %188

173:                                              ; preds = %170
  %174 = invoke { ptr, i8 } @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE7emplaceIJRS1_EEESt4pairINS6_13FixedIteratorEbEDpOT_(ptr noundef nonnull align 8 dereferenceable(56) %27, ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %175 unwind label %184

175:                                              ; preds = %173
  %176 = getelementptr inbounds { ptr, i8 }, ptr %34, i32 0, i32 0
  %177 = extractvalue { ptr, i8 } %174, 0
  store ptr %177, ptr %176, align 8
  %178 = getelementptr inbounds { ptr, i8 }, ptr %34, i32 0, i32 1
  %179 = extractvalue { ptr, i8 } %174, 1
  store i8 %179, ptr %178, align 8
  br label %216

180:                                              ; preds = %162
  %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
  br label %221

184:                                              ; preds = %191, %188, %173, %164
  %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 %220

188:                                              ; preds = %170
  %189 = load ptr, ptr %33, align 8, !tbaa !5
  %190 = invoke noundef zeroext i16 @_ZNK13IRInstruction6opcodeEv(ptr noundef nonnull align 8 dereferenceable(32) %189)
          to label %191 unwind label %184

191:                                              ; preds = %188
  %192 = invoke noundef zeroext i1 @_ZN6opcode16is_invoke_directE8IROpcode(i16 noundef zeroext %190)
          to label %193 unwind label %184

193:                                              ; preds = %191
  br i1 %192, label %194, label %215

194:                                              ; preds = %193
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #7
  %195 = load ptr, ptr %33, align 8, !tbaa !5
  %196 = invoke noundef ptr @_ZNK13IRInstruction10get_methodEv(ptr noundef nonnull align 8 dereferenceable(32) %195)
          to label %197 unwind label %210

197:                                              ; preds = %194
  %198 = invoke noundef ptr @_Z14resolve_methodP12DexMethodRef12MethodSearchPK9DexMethod(ptr noundef %196, i32 noundef 0, ptr noundef null)
          to label %199 unwind label %210

199:                                              ; preds = %197
  store ptr %198, ptr %35, align 8, !tbaa !5
  %200 = invoke noundef i64 @_ZNK12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE5countERKS1_(ptr noundef nonnull align 8 dereferenceable(56) %18, ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %201 unwind label %210

201:                                              ; preds = %199
  %202 = icmp ne i64 %200, 0
  br i1 %202, label %203, label %214

203:                                              ; preds = %201
  %204 = invoke { ptr, i8 } @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE7emplaceIJRS1_EEESt4pairINS6_13FixedIteratorEbEDpOT_(ptr noundef nonnull align 8 dereferenceable(56) %27, ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %205 unwind label %210

205:                                              ; preds = %203
  %206 = getelementptr inbounds { ptr, i8 }, ptr %36, i32 0, i32 0
  %207 = extractvalue { ptr, i8 } %204, 0
  store ptr %207, ptr %206, align 8
  %208 = getelementptr inbounds { ptr, i8 }, ptr %36, i32 0, i32 1
  %209 = extractvalue { ptr, i8 } %204, 1
  store i8 %209, ptr %208, align 8
  br label %214

210:                                              ; preds = %203, %199, %197, %194
  %211 = landingpad { ptr, i32 }
          cleanup
  %212 = extractvalue { ptr, i32 } %211, 0
  store ptr %212, ptr %9, align 8
  %213 = extractvalue { ptr, i32 } %211, 1
  store i32 %213, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  br label %220

214:                                              ; preds = %205, %201
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  br label %215

215:                                              ; preds = %214, %193
  br label %216

216:                                              ; preds = %215, %175
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  br label %217

217:                                              ; preds = %216
  %218 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN3cfg23InstructionIteratorImplILb0EEppEv(ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %219 unwind label %158

219:                                              ; preds = %217
  br label %138

220:                                              ; preds = %210, %184
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %221

221:                                              ; preds = %220, %180
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  br label %222

222:                                              ; preds = %221, %158
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #7
  br label %223

223:                                              ; preds = %222, %154
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #7
  br label %224

224:                                              ; preds = %223, %150
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #7
  br label %336

225:                                              ; preds = %141
  %226 = invoke noundef zeroext i1 @_ZNK12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56) %27)
          to label %227 unwind label %237

227:                                              ; preds = %225
  br i1 %226, label %327, label %228

228:                                              ; preds = %227
  br label %229

229:                                              ; preds = %228
  %230 = invoke noundef zeroext i1 @_Z12traceEnabled11TraceModulei(i32 noundef 11, i32 noundef 8)
          to label %231 unwind label %237

231:                                              ; preds = %229
  br i1 %230, label %232, label %250

232:                                              ; preds = %231
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #7
  %233 = load ptr, ptr %25, align 8, !tbaa !5
  invoke void @_Z4showB5cxx11PK12DexMethodRef(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef %233)
          to label %234 unwind label %241

234:                                              ; preds = %232
  %235 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  invoke void (i32, i32, i1, ptr, ...) @_Z5trace11TraceModuleibPKcz(i32 noundef 11, i32 noundef 8, i1 noundef zeroext false, ptr noundef @.str.14, ptr noundef %235)
          to label %236 unwind label %245

236:                                              ; preds = %234
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #7
  br label %250

237:                                              ; preds = %229, %225
  %238 = landingpad { ptr, i32 }
          cleanup
  %239 = extractvalue { ptr, i32 } %238, 0
  store ptr %239, ptr %9, align 8
  %240 = extractvalue { ptr, i32 } %238, 1
  store i32 %240, ptr %10, align 4
  br label %336

241:                                              ; preds = %232
  %242 = landingpad { ptr, i32 }
          cleanup
  %243 = extractvalue { ptr, i32 } %242, 0
  store ptr %243, ptr %9, align 8
  %244 = extractvalue { ptr, i32 } %242, 1
  store i32 %244, ptr %10, align 4
  br label %249

245:                                              ; preds = %234
  %246 = landingpad { ptr, i32 }
          cleanup
  %247 = extractvalue { ptr, i32 } %246, 0
  store ptr %247, ptr %9, align 8
  %248 = extractvalue { ptr, i32 } %246, 1
  store i32 %248, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %249

249:                                              ; preds = %245, %241
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #7
  br label %336

250:                                              ; preds = %236, %231
  br label %251

251:                                              ; preds = %250
  br label %252

252:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #7
  %253 = load ptr, ptr %25, align 8, !tbaa !5
  %254 = invoke noundef ptr @_ZNK12DexMethodRef8get_nameEv(ptr noundef nonnull align 8 dereferenceable(26) %253)
          to label %255 unwind label %295

255:                                              ; preds = %252
  %256 = invoke { i64, ptr } @_ZNK9DexString3strEv(ptr noundef nonnull align 8 dereferenceable(16) %254)
          to label %257 unwind label %295

257:                                              ; preds = %255
  %258 = getelementptr inbounds { i64, ptr }, ptr %38, i32 0, i32 0
  %259 = extractvalue { i64, ptr } %256, 0
  store i64 %259, ptr %258, align 8
  %260 = getelementptr inbounds { i64, ptr }, ptr %38, i32 0, i32 1
  %261 = extractvalue { i64, ptr } %256, 1
  store ptr %261, ptr %260, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #7
  %262 = load ptr, ptr %25, align 8, !tbaa !5
  %263 = load ptr, ptr %25, align 8, !tbaa !5
  %264 = invoke noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %263)
          to label %265 unwind label %299

265:                                              ; preds = %257
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %42, ptr align 8 %38, i64 16, i1 false), !tbaa.struct !41
  %266 = getelementptr inbounds { i64, ptr }, ptr %42, i32 0, i32 0
  %267 = load i64, ptr %266, align 8
  %268 = getelementptr inbounds { i64, ptr }, ptr %42, i32 0, i32 1
  %269 = load ptr, ptr %268, align 8
  invoke void @_ZplB5cxx11St17basic_string_viewIcSt11char_traitsIcEEPKc(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, i64 %267, ptr %269, ptr noundef @.str.15)
          to label %270 unwind label %303

270:                                              ; preds = %265
  %271 = call { i64, ptr } @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  %272 = getelementptr inbounds { i64, ptr }, ptr %40, i32 0, i32 0
  %273 = extractvalue { i64, ptr } %271, 0
  store i64 %273, ptr %272, align 8
  %274 = getelementptr inbounds { i64, ptr }, ptr %40, i32 0, i32 1
  %275 = extractvalue { i64, ptr } %271, 1
  store ptr %275, ptr %274, align 8
  %276 = getelementptr inbounds { i64, ptr }, ptr %40, i32 0, i32 0
  %277 = load i64, ptr %276, align 8
  %278 = getelementptr inbounds { i64, ptr }, ptr %40, i32 0, i32 1
  %279 = load ptr, ptr %278, align 8
  %280 = invoke noundef ptr @_ZN9DexString11make_stringESt17basic_string_viewIcSt11char_traitsIcEE(i64 %277, ptr %279)
          to label %281 unwind label %307

281:                                              ; preds = %270
  %282 = invoke noundef ptr @_ZN9DexMethod16make_method_fromEPS_P7DexTypePK9DexString(ptr noundef %262, ptr noundef %264, ptr noundef %280)
          to label %283 unwind label %307

283:                                              ; preds = %281
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #7
  store ptr %282, ptr %39, align 8, !tbaa !5
  %284 = load ptr, ptr %39, align 8, !tbaa !5
  %285 = getelementptr inbounds %"class.builder_pattern::BuilderTransform", ptr %45, i32 0, i32 5
  %286 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12UnorderedMapIP9DexMethodS1_St4hashIS1_ESt8equal_toIS1_EEixERKS1_(ptr noundef nonnull align 8 dereferenceable(56) %285, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %287 unwind label %299

287:                                              ; preds = %283
  store ptr %284, ptr %286, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #7
  call void @llvm.lifetime.start.p0(i64 56, ptr %44) #7
  %288 = load ptr, ptr %25, align 8, !tbaa !5
  invoke void @_ZN15builder_pattern16BuilderTransform16try_inline_callsEP9DexMethodRK12UnorderedSetIP13IRInstructionSt4hashIS5_ESt8equal_toIS5_EE(ptr dead_on_unwind writable sret(%class.UnorderedSet.643) align 8 %44, ptr noundef nonnull align 8 dereferenceable(3280) %45, ptr noundef %288, ptr noundef nonnull align 8 dereferenceable(56) %27)
          to label %289 unwind label %312

289:                                              ; preds = %287
  %290 = invoke noundef i64 @_ZNK12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %44)
          to label %291 unwind label %316

291:                                              ; preds = %289
  call void @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %44) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %44) #7
  store i64 %290, ptr %43, align 8, !tbaa !42
  %292 = load i64, ptr %43, align 8, !tbaa !42
  %293 = icmp ugt i64 %292, 0
  br i1 %293, label %294, label %321

294:                                              ; preds = %291
  store i1 false, ptr %3, align 1
  store i32 1, ptr %24, align 4
  br label %322

295:                                              ; preds = %255, %252
  %296 = landingpad { ptr, i32 }
          cleanup
  %297 = extractvalue { ptr, i32 } %296, 0
  store ptr %297, ptr %9, align 8
  %298 = extractvalue { ptr, i32 } %296, 1
  store i32 %298, ptr %10, align 4
  br label %326

299:                                              ; preds = %283, %257
  %300 = landingpad { ptr, i32 }
          cleanup
  %301 = extractvalue { ptr, i32 } %300, 0
  store ptr %301, ptr %9, align 8
  %302 = extractvalue { ptr, i32 } %300, 1
  store i32 %302, ptr %10, align 4
  br label %325

303:                                              ; preds = %265
  %304 = landingpad { ptr, i32 }
          cleanup
  %305 = extractvalue { ptr, i32 } %304, 0
  store ptr %305, ptr %9, align 8
  %306 = extractvalue { ptr, i32 } %304, 1
  store i32 %306, ptr %10, align 4
  br label %311

307:                                              ; preds = %281, %270
  %308 = landingpad { ptr, i32 }
          cleanup
  %309 = extractvalue { ptr, i32 } %308, 0
  store ptr %309, ptr %9, align 8
  %310 = extractvalue { ptr, i32 } %308, 1
  store i32 %310, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %311

311:                                              ; preds = %307, %303
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #7
  br label %325

312:                                              ; preds = %287
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %9, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %10, align 4
  br label %320

316:                                              ; preds = %289
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %9, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %10, align 4
  call void @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %44) #7
  br label %320

320:                                              ; preds = %316, %312
  call void @llvm.lifetime.end.p0(i64 56, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #7
  br label %325

321:                                              ; preds = %291
  store i32 0, ptr %24, align 4
  br label %322

322:                                              ; preds = %321, %294
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %38) #7
  %323 = load i32, ptr %24, align 4
  switch i32 %323, label %328 [
    i32 0, label %324
  ]

324:                                              ; preds = %322
  br label %327

325:                                              ; preds = %320, %311, %299
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  br label %326

326:                                              ; preds = %325, %295
  call void @llvm.lifetime.end.p0(i64 16, ptr %38) #7
  br label %336

327:                                              ; preds = %324, %227
  store i32 0, ptr %24, align 4
  br label %328

328:                                              ; preds = %327, %322
  call void @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %27) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #7
  %329 = load i32, ptr %24, align 4
  switch i32 %329, label %331 [
    i32 0, label %330
  ]

330:                                              ; preds = %328
  store i32 0, ptr %24, align 4
  br label %331

331:                                              ; preds = %330, %328, %118
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  %332 = load i32, ptr %24, align 4
  switch i32 %332, label %340 [
    i32 0, label %333
    i32 3, label %334
  ]

333:                                              ; preds = %331
  br label %334

334:                                              ; preds = %333, %331
  %335 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPP9DexMethodSt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #7
  br label %92

336:                                              ; preds = %326, %249, %237, %224
  call void @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %27) #7
  br label %337

337:                                              ; preds = %336, %146
  call void @llvm.lifetime.end.p0(i64 56, ptr %27) #7
  br label %338

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

339:                                              ; preds = %338, %119
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  call void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %18) #7
  br label %345

340:                                              ; preds = %331, %94
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  %341 = load i32, ptr %24, align 4
  switch i32 %341, label %343 [
    i32 2, label %342
  ]

342:                                              ; preds = %340
  store i1 true, ptr %3, align 1
  store i32 1, ptr %24, align 4
  br label %343

343:                                              ; preds = %342, %340
  call void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %18) #7
  call void @llvm.lifetime.end.p0(i64 56, ptr %18) #7
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #7
  %344 = load i1, ptr %3, align 1
  ret i1 %344

345:                                              ; preds = %339, %107
  call void @llvm.lifetime.end.p0(i64 56, ptr %18) #7
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #7
  br label %346

346:                                              ; preds = %345, %103
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #7
  br label %347

347:                                              ; preds = %346, %99, %95
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #7
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #7
  br label %348

348:                                              ; preds = %347
  %349 = load ptr, ptr %9, align 8
  %350 = load i32, ptr %10, align 4
  %351 = insertvalue { ptr, i32 } poison, ptr %349, 0
  %352 = insertvalue { ptr, i32 } %351, i32 %350, 1
  resume { ptr, i32 } %352
}

declare noundef ptr @_Z10type_classPK7DexType(ptr noundef) #6

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEvEENS6_IPS1_S3_EES9_T_SC_(ptr noundef nonnull align 8 dereferenceable(24), ptr, ptr, ptr) #4 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 void @_ZN9__gnu_cxx17__normal_iteratorIPKP9DexMethodSt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK8DexClass9get_ctorsEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.771") align 8, ptr noundef nonnull align 8 dereferenceable(176)) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EEC2IN9__gnu_cxx17__normal_iteratorIPKS1_St6vectorIS1_SaIS1_EEEEEET_SG_(ptr noundef nonnull align 8 dereferenceable(56), ptr, ptr) unnamed_addr #4 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: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPP9DexMethodSt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #3

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN6opcode16is_invoke_directE8IROpcode(i16 noundef zeroext) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_Z14resolve_methodP12DexMethodRef12MethodSearchPK9DexMethod(ptr noundef, i32 noundef, ptr noundef) #5

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

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

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

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

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

declare void @_Z4showB5cxx11PK12DexMethodRef(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef) #6

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

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

declare noundef ptr @_ZN9DexMethod16make_method_fromEPS_P7DexTypePK9DexString(ptr noundef, ptr noundef, ptr noundef) #6

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

declare noundef ptr @_ZN9DexString11make_stringESt17basic_string_viewIcSt11char_traitsIcEE(i64, ptr) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZplB5cxx11St17basic_string_viewIcSt11char_traitsIcEEPKc(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64, ptr, ptr noundef) #5

; Function Attrs: mustprogress nounwind uwtable
declare { i64, ptr } @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPP9DexMethodSt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8)) #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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !6, i64 8}
!10 = !{!"_ZTSN15builder_pattern16BuilderTransformE", !6, i64 0, !6, i64 8, !11, i64 16, !17, i64 24, !34, i64 560, !37, i64 3224}
!11 = !{!"_ZTSSt10unique_ptrI18MultiMethodInlinerSt14default_deleteIS0_EE", !12, i64 0}
!12 = !{!"_ZTSSt15__uniq_ptr_dataI18MultiMethodInlinerSt14default_deleteIS0_ELb1ELb1EE", !13, i64 0}
!13 = !{!"_ZTSSt15__uniq_ptr_implI18MultiMethodInlinerSt14default_deleteIS0_EE", !14, i64 0}
!14 = !{!"_ZTSSt5tupleIJP18MultiMethodInlinerSt14default_deleteIS0_EEE", !15, i64 0}
!15 = !{!"_ZTSSt11_Tuple_implILm0EJP18MultiMethodInlinerSt14default_deleteIS0_EEE", !16, i64 0}
!16 = !{!"_ZTSSt10_Head_baseILm0EP18MultiMethodInlinerLb0EE", !6, i64 0}
!17 = !{!"_ZTSN7inliner13InlinerConfigE", !18, i64 0, !18, i64 1, !18, i64 2, !18, i64 3, !18, i64 4, !18, i64 5, !18, i64 6, !18, i64 7, !18, i64 8, !18, i64 9, !18, i64 10, !18, i64 11, !19, i64 16, !18, i64 72, !18, i64 73, !18, i64 74, !18, i64 75, !18, i64 76, !18, i64 77, !18, i64 78, !22, i64 80, !22, i64 88, !22, i64 96, !20, i64 104, !23, i64 136, !24, i64 144, !24, i64 200, !30, i64 256, !30, i64 280, !30, i64 304, !30, i64 328, !22, i64 352, !18, i64 360, !24, i64 368, !24, i64 424, !24, i64 480}
!18 = !{!"bool", !7, i64 0}
!19 = !{!"_ZTSN8shrinker14ShrinkerConfigE", !18, i64 0, !18, i64 1, !18, i64 2, !18, i64 3, !18, i64 4, !18, i64 5, !18, i64 6, !18, i64 7, !18, i64 8, !18, i64 9, !20, i64 16, !18, i64 48}
!20 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !21, i64 0, !22, i64 8, !7, i64 16}
!21 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!22 = !{!"long", !7, i64 0}
!23 = !{!"_ZTSN7inliner18UnfinalizePerfModeE", !7, i64 0}
!24 = !{!"_ZTS12UnorderedSetIP7DexTypeSt4hashIS1_ESt8equal_toIS1_EE", !25, i64 0}
!25 = !{!"_ZTSSt13unordered_setIP7DexTypeSt4hashIS1_ESt8equal_toIS1_ESaIS1_EE", !26, i64 0}
!26 = !{!"_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, !22, i64 8, !27, i64 16, !22, i64 24, !28, i64 32, !6, i64 48}
!27 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!28 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !29, i64 0, !22, i64 8}
!29 = !{!"float", !7, i64 0}
!30 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !31, i64 0}
!31 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!34 = !{!"_ZTS24ConcurrentMethodResolver", !35, i64 0}
!35 = !{!"_ZTS23InsertOnlyConcurrentMapI17MethodRefCacheKeyP9DexMethod21MethodRefCacheKeyHashSt8equal_toIS0_ELm83EE", !36, i64 0}
!36 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapI17MethodRefCacheKeyP9DexMethod21MethodRefCacheKeyHashSt8equal_toIS1_ESaISt4pairIKS1_S3_EEELm83EE", !7, i64 8}
!37 = !{!"_ZTS12UnorderedMapIP9DexMethodS1_St4hashIS1_ESt8equal_toIS1_EE", !38, i64 0}
!38 = !{!"_ZTSSt13unordered_mapIP9DexMethodS1_St4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S1_EEE", !39, i64 0}
!39 = !{!"_ZTSSt10_HashtableIP9DexMethodSt4pairIKS1_S1_ESaIS4_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENS6_18_Mod_range_hashingENS6_20_Default_ranged_hashENS6_20_Prime_rehash_policyENS6_17_Hashtable_traitsILb0ELb0ELb1EEEE", !6, i64 0, !22, i64 8, !27, i64 16, !22, i64 24, !28, i64 32, !6, i64 48}
!40 = !{!7, !7, i64 0}
!41 = !{i64 0, i64 8, !42, i64 8, i64 8, !5}
!42 = !{!22, !22, i64 0}


; 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.UnorderedSet.643 = type { %"class.std::unordered_set.645" }
%"class.std::unordered_set.645" = type { %"class.std::_Hashtable.646" }
%"class.std::_Hashtable.646" = 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.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.771" = type { %"struct.std::_Vector_base.772" }
%"struct.std::_Vector_base.772" = 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.__gnu_cxx::__normal_iterator.781" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%class.UnorderedSet.111 = type { %"class.std::unordered_set.113" }
%"class.std::unordered_set.113" = type { %"class.std::_Hashtable.114" }
%"class.std::_Hashtable.114" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.cfg::InstructionIterableImpl" = type { ptr }
%"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] }

@.str.14 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [15 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: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN15builder_pattern16BuilderTransform16try_inline_callsEP9DexMethodRK12UnorderedSetIP13IRInstructionSt4hashIS5_ESt8equal_toIS5_EE(ptr dead_on_unwind noalias writable sret(%class.UnorderedSet.643) align 8, ptr noundef nonnull align 8 dereferenceable(3280), ptr noundef, ptr noundef nonnull align 8 dereferenceable(56)) 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

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

; 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: inlinehint mustprogress uwtable
declare dso_local ptr @_Z19InstructionIterableRN3cfg16ControlFlowGraphE(ptr noundef nonnull align 8 dereferenceable(160)) local_unnamed_addr #4

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE7emplaceIJRS1_EEESt4pairINS6_13FixedIteratorEbEDpOT_(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 nonnull align 8 dereferenceable(32) ptr @_ZN3cfg23InstructionIteratorImplILb0EEppEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN15builder_pattern16BuilderTransform28inline_super_calls_and_ctorsEPK7DexType(ptr noundef nonnull align 8 dereferenceable(3280) %0, ptr noundef %1) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::vector.771", align 8
  %4 = alloca %"class.__gnu_cxx::__normal_iterator.781", align 8
  %5 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %6 = alloca %"class.std::vector.771", align 8
  %7 = alloca %class.UnorderedSet.111, align 8
  %8 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %10 = alloca ptr, align 8
  %11 = alloca %class.UnorderedSet.643, align 8
  %12 = alloca %"class.cfg::InstructionIterableImpl", align 8
  %13 = alloca %"class.cfg::InstructionIteratorImpl", align 8
  %14 = alloca %"class.cfg::InstructionIteratorImpl", align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %class.UnorderedSet.643, align 8
  %20 = tail call noundef ptr @_Z10type_classPK7DexType(ptr noundef %1)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #6
  %21 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZN8DexClass12get_dmethodsEv(ptr noundef nonnull align 8 dereferenceable(176) %20)
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %21)
  %22 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN8DexClass12get_vmethodsEv(ptr noundef nonnull align 8 dereferenceable(176) %20)
          to label %23 unwind label %42

23:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #6
  %24 = call ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %24, ptr %5, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKP9DexMethodSt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %5) #6
  %25 = call ptr @_ZNKSt6vectorIP9DexMethodSaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #6
  %26 = call ptr @_ZNKSt6vectorIP9DexMethodSaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #6
  %27 = load ptr, ptr %4, align 8
  %28 = invoke ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEvEENS6_IPS1_S3_EES9_T_SC_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr %27, ptr %25, ptr %26)
          to label %29 unwind label %44

29:                                               ; preds = %23
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #6
  %30 = getelementptr inbounds i8, ptr %0, i64 8
  %31 = load ptr, ptr %30, align 8, !tbaa !5
  %32 = invoke noundef ptr @_Z10type_classPK7DexType(ptr noundef %31)
          to label %33 unwind label %46

33:                                               ; preds = %29
  invoke void @_ZNK8DexClass9get_ctorsEv(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.771") align 8 %6, ptr noundef nonnull align 8 dereferenceable(176) %32)
          to label %34 unwind label %46

34:                                               ; preds = %33
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %7) #6
  %35 = call ptr @_ZNKSt6vectorIP9DexMethodSaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #6
  %36 = call ptr @_ZNKSt6vectorIP9DexMethodSaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #6
  invoke void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EEC2IN9__gnu_cxx17__normal_iteratorIPKS1_St6vectorIS1_SaIS1_EEEEEET_SG_(ptr noundef nonnull align 8 dereferenceable(56) %7, ptr %35, ptr %36)
          to label %37 unwind label %48

37:                                               ; preds = %34
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #6
  %38 = call ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %38, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #6
  %39 = call ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %39, ptr %9, align 8
  %40 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPP9DexMethodSt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  br i1 %40, label %.lr.ph, label %.critedge

.lr.ph:                                           ; preds = %37
  %41 = getelementptr inbounds i8, ptr %0, i64 3224
  br label %50

42:                                               ; preds = %2
  %43 = landingpad { ptr, i32 }
          cleanup
  br label %157

44:                                               ; preds = %23
  %45 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #6
  br label %157

46:                                               ; preds = %33, %29
  %47 = landingpad { ptr, i32 }
          cleanup
  br label %157

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

50:                                               ; preds = %.lr.ph, %150
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #6
  %51 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPP9DexMethodSt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %52 = load ptr, ptr %51, align 8, !tbaa !39
  store ptr %52, ptr %10, align 8, !tbaa !39
  %53 = call noundef ptr @_ZN9DexMethod8get_codeEv(ptr noundef nonnull align 8 dereferenceable(88) %52)
  %.not = icmp eq ptr %53, null
  br i1 %.not, label %.thread, label %54

.thread:                                          ; preds = %50
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #6
  br label %150

54:                                               ; preds = %50
  %55 = load ptr, ptr %10, align 8, !tbaa !39
  %56 = call noundef ptr @_ZN9DexMethod8get_codeEv(ptr noundef nonnull align 8 dereferenceable(88) %55)
  %57 = call noundef nonnull align 8 dereferenceable(160) ptr @_ZN6IRCode3cfgEv(ptr noundef nonnull align 8 dereferenceable(32) %56)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %11) #6
  call void @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(56) %11)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #6
  %58 = invoke ptr @_Z19InstructionIterableRN3cfg16ControlFlowGraphE(ptr noundef nonnull align 8 dereferenceable(160) %57)
          to label %59 unwind label %65

59:                                               ; preds = %54
  store ptr %58, ptr %12, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #6
  invoke void @_ZN3cfg23InstructionIterableImplILb0EE5beginEv(ptr dead_on_unwind nonnull writable sret(%"class.cfg::InstructionIteratorImpl") align 8 %13, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %60 unwind label %67

60:                                               ; preds = %59
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #6
  invoke void @_ZN3cfg23InstructionIterableImplILb0EE3endEv(ptr dead_on_unwind nonnull writable sret(%"class.cfg::InstructionIteratorImpl") align 8 %14, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %.preheader unwind label %.loopexit.split-lp

.preheader:                                       ; preds = %60, %99
  %61 = invoke noundef zeroext i1 @_ZNK3cfg23InstructionIteratorImplILb0EEneERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %62 unwind label %.loopexit

62:                                               ; preds = %.preheader
  br i1 %61, label %69, label %63

63:                                               ; preds = %62
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  %64 = call noundef zeroext i1 @_ZNK12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56) %11)
  br i1 %64, label %149, label %104

65:                                               ; preds = %54
  %66 = landingpad { ptr, i32 }
          cleanup
  br label %153

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

.loopexit:                                        ; preds = %.preheader, %99
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %102

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

69:                                               ; preds = %62
  %70 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNK3cfg23InstructionIteratorImplILb0EEdeEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %71 unwind label %78

71:                                               ; preds = %69
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #6
  %72 = getelementptr inbounds i8, ptr %70, i64 24
  %73 = load ptr, ptr %72, align 8, !tbaa !40
  store ptr %73, ptr %15, align 8, !tbaa !39
  %74 = call noundef zeroext i16 @_ZNK13IRInstruction6opcodeEv(ptr noundef nonnull align 8 dereferenceable(32) %73)
  %75 = icmp eq i16 %74, 88
  br i1 %75, label %76, label %82

76:                                               ; preds = %71
  %77 = invoke { ptr, i8 } @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE7emplaceIJRS1_EEESt4pairINS6_13FixedIteratorEbEDpOT_(ptr noundef nonnull align 8 dereferenceable(56) %11, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %99 unwind label %80

78:                                               ; preds = %69
  %79 = landingpad { ptr, i32 }
          cleanup
  br label %102

80:                                               ; preds = %76
  %81 = landingpad { ptr, i32 }
          cleanup
  br label %101

82:                                               ; preds = %71
  %83 = load ptr, ptr %15, align 8, !tbaa !39
  %84 = call noundef zeroext i16 @_ZNK13IRInstruction6opcodeEv(ptr noundef nonnull align 8 dereferenceable(32) %83)
  %85 = call noundef zeroext i1 @_ZN6opcode16is_invoke_directE8IROpcode(i16 noundef zeroext %84)
  br i1 %85, label %86, label %99

86:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #6
  %87 = load ptr, ptr %15, align 8, !tbaa !39
  %88 = invoke noundef ptr @_ZNK13IRInstruction10get_methodEv(ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %89 unwind label %96

89:                                               ; preds = %86
  %90 = invoke noundef ptr @_Z14resolve_methodP12DexMethodRef12MethodSearchPK9DexMethod(ptr noundef %88, i32 noundef 0, ptr noundef null)
          to label %91 unwind label %96

91:                                               ; preds = %89
  store ptr %90, ptr %16, align 8, !tbaa !39
  %92 = invoke noundef i64 @_ZNK12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE5countERKS1_(ptr noundef nonnull align 8 dereferenceable(56) %7, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %93 unwind label %96

93:                                               ; preds = %91
  %.not64 = icmp eq i64 %92, 0
  br i1 %.not64, label %98, label %94

94:                                               ; preds = %93
  %95 = invoke { ptr, i8 } @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE7emplaceIJRS1_EEESt4pairINS6_13FixedIteratorEbEDpOT_(ptr noundef nonnull align 8 dereferenceable(56) %11, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %98 unwind label %96

96:                                               ; preds = %94, %91, %89, %86
  %97 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  br label %101

98:                                               ; preds = %94, %93
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  br label %99

99:                                               ; preds = %76, %82, %98
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #6
  %100 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN3cfg23InstructionIteratorImplILb0EEppEv(ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %.preheader unwind label %.loopexit

101:                                              ; preds = %96, %80
  %.pn65 = phi { ptr, i32 } [ %81, %80 ], [ %97, %96 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #6
  br label %102

102:                                              ; preds = %.loopexit, %.loopexit.split-lp, %78, %101
  %.pn68 = phi { ptr, i32 } [ %.pn65, %101 ], [ %79, %78 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  br label %103

103:                                              ; preds = %102, %67
  %.pn68.pn = phi { ptr, i32 } [ %.pn68, %102 ], [ %68, %67 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  br label %153

104:                                              ; preds = %63
  %105 = invoke noundef zeroext i1 @_Z12traceEnabled11TraceModulei(i32 noundef 11, i32 noundef 8)
          to label %106 unwind label %112

106:                                              ; preds = %104
  br i1 %105, label %107, label %119

107:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #6
  %108 = load ptr, ptr %10, align 8, !tbaa !39
  invoke void @_Z4showB5cxx11PK12DexMethodRef(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef %108)
          to label %109 unwind label %114

109:                                              ; preds = %107
  %110 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  invoke void (i32, i32, i1, ptr, ...) @_Z5trace11TraceModuleibPKcz(i32 noundef 11, i32 noundef 8, i1 noundef zeroext false, ptr noundef nonnull @.str.14, ptr noundef %110)
          to label %111 unwind label %116

111:                                              ; preds = %109
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  br label %119

112:                                              ; preds = %104
  %113 = landingpad { ptr, i32 }
          cleanup
  br label %153

114:                                              ; preds = %107
  %115 = landingpad { ptr, i32 }
          cleanup
  br label %118

116:                                              ; preds = %109
  %117 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %118

118:                                              ; preds = %116, %114
  %.pn = phi { ptr, i32 } [ %117, %116 ], [ %115, %114 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #6
  br label %153

119:                                              ; preds = %111, %106
  %120 = load ptr, ptr %10, align 8, !tbaa !39
  %121 = call noundef ptr @_ZNK12DexMethodRef8get_nameEv(ptr noundef nonnull align 8 dereferenceable(26) %120)
  %122 = call { i64, ptr } @_ZNK9DexString3strEv(ptr noundef nonnull align 8 dereferenceable(16) %121)
  %123 = extractvalue { i64, ptr } %122, 0
  %124 = extractvalue { i64, ptr } %122, 1
  %125 = load ptr, ptr %10, align 8, !tbaa !39
  %126 = call noundef ptr @_ZNK12DexMethodRef9get_classEv(ptr noundef nonnull align 8 dereferenceable(26) %125)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #6
  invoke void @_ZplB5cxx11St17basic_string_viewIcSt11char_traitsIcEEPKc(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, i64 %123, ptr %124, ptr noundef nonnull @.str.15)
          to label %127 unwind label %142

127:                                              ; preds = %119
  %128 = call { i64, ptr } @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  %129 = extractvalue { i64, ptr } %128, 0
  %130 = extractvalue { i64, ptr } %128, 1
  %131 = invoke noundef ptr @_ZN9DexString11make_stringESt17basic_string_viewIcSt11char_traitsIcEE(i64 %129, ptr %130)
          to label %132 unwind label %144

132:                                              ; preds = %127
  %133 = invoke noundef ptr @_ZN9DexMethod16make_method_fromEPS_P7DexTypePK9DexString(ptr noundef nonnull %125, ptr noundef %126, ptr noundef %131)
          to label %134 unwind label %144

134:                                              ; preds = %132
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  %135 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN12UnorderedMapIP9DexMethodS1_St4hashIS1_ESt8equal_toIS1_EEixERKS1_(ptr noundef nonnull align 8 dereferenceable(56) %41, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %136 unwind label %140

136:                                              ; preds = %134
  store ptr %133, ptr %135, align 8, !tbaa !39
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %19) #6
  %137 = load ptr, ptr %10, align 8, !tbaa !39
  invoke void @_ZN15builder_pattern16BuilderTransform16try_inline_callsEP9DexMethodRK12UnorderedSetIP13IRInstructionSt4hashIS5_ESt8equal_toIS5_EE(ptr dead_on_unwind nonnull writable sret(%class.UnorderedSet.643) align 8 %19, ptr noundef nonnull align 8 dereferenceable(3280) %0, ptr noundef %137, ptr noundef nonnull align 8 dereferenceable(56) %11)
          to label %138 unwind label %147

138:                                              ; preds = %136
  %139 = call noundef i64 @_ZNK12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %19)
  call void @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %19) #6
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %19) #6
  %.not63 = icmp eq i64 %139, 0
  br i1 %.not63, label %149, label %154

140:                                              ; preds = %134
  %141 = landingpad { ptr, i32 }
          cleanup
  br label %153

142:                                              ; preds = %119
  %143 = landingpad { ptr, i32 }
          cleanup
  br label %146

144:                                              ; preds = %132, %127
  %145 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #6
  br label %146

146:                                              ; preds = %144, %142
  %.pn59 = phi { ptr, i32 } [ %145, %144 ], [ %143, %142 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #6
  br label %153

147:                                              ; preds = %136
  %148 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %19) #6
  br label %153

149:                                              ; preds = %63, %138
  call void @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %11) #6
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #6
  br label %150

150:                                              ; preds = %149, %.thread
  %151 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPP9DexMethodSt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %8) #6
  %152 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPP9DexMethodSt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9) #6
  br i1 %152, label %50, label %.critedge

153:                                              ; preds = %140, %146, %147, %65, %103, %118, %112
  %.pn68.pn.pn.pn = phi { ptr, i32 } [ %.pn, %118 ], [ %113, %112 ], [ %.pn68.pn, %103 ], [ %66, %65 ], [ %148, %147 ], [ %141, %140 ], [ %.pn59, %146 ]
  call void @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %11) #6
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #6
  call void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %7) #6
  br label %156

154:                                              ; preds = %138
  call void @_ZN12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %11) #6
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #6
  br label %155

.critedge:                                        ; preds = %150, %37
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #6
  br label %155

155:                                              ; preds = %154, %.critedge
  %.6 = phi i1 [ false, %154 ], [ true, %.critedge ]
  call void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %7) #6
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %7) #6
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #6
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  ret i1 %.6

156:                                              ; preds = %153, %48
  %.pn68.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn68.pn.pn.pn, %153 ], [ %49, %48 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %7) #6
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #6
  br label %157

157:                                              ; preds = %46, %156, %44, %42
  %.pn68.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %45, %44 ], [ %43, %42 ], [ %.pn68.pn.pn.pn.pn, %156 ], [ %47, %46 ]
  call void @_ZNSt6vectorIP9DexMethodSaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  resume { ptr, i32 } %.pn68.pn.pn.pn.pn.pn.pn
}

declare noundef ptr @_Z10type_classPK7DexType(ptr noundef) local_unnamed_addr #5

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt6vectorIP9DexMethodSaIS1_EE6insertIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEvEENS6_IPS1_S3_EES9_T_SC_(ptr noundef nonnull align 8 dereferenceable(24), ptr, ptr, ptr) local_unnamed_addr #3 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 void @_ZN9__gnu_cxx17__normal_iteratorIPKP9DexMethodSt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK8DexClass9get_ctorsEv(ptr dead_on_unwind noalias writable sret(%"class.std::vector.771") align 8, ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EEC2IN9__gnu_cxx17__normal_iteratorIPKS1_St6vectorIS1_SaIS1_EEEEEET_SG_(ptr noundef nonnull align 8 dereferenceable(56), ptr, ptr) 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: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPP9DexMethodSt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN6opcode16is_invoke_directE8IROpcode(i16 noundef zeroext) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_Z14resolve_methodP12DexMethodRef12MethodSearchPK9DexMethod(ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #4

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK12UnorderedSetIP9DexMethodSt4hashIS1_ESt8equal_toIS1_EE5countERKS1_(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 noundef zeroext i1 @_ZNK12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local { i64, ptr } @_ZNK9DexString3strEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1 align 2

declare noundef ptr @_ZN9DexMethod16make_method_fromEPS_P7DexTypePK9DexString(ptr noundef, ptr noundef, 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

declare noundef ptr @_ZN9DexString11make_stringESt17basic_string_viewIcSt11char_traitsIcEE(i64, ptr) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZplB5cxx11St17basic_string_viewIcSt11char_traitsIcEEPKc(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64, ptr, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare { i64, ptr } @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN12UnorderedMapIP9DexMethodS1_St4hashIS1_ESt8equal_toIS1_EEixERKS1_(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 noundef i64 @_ZNK12UnorderedSetIP13IRInstructionSt4hashIS1_ESt8equal_toIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPP9DexMethodSt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8)) local_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

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 = { 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 #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 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 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 8}
!6 = !{!"_ZTSN15builder_pattern16BuilderTransformE", !7, i64 0, !7, i64 8, !10, i64 16, !16, i64 24, !33, i64 560, !36, i64 3224}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTSSt10unique_ptrI18MultiMethodInlinerSt14default_deleteIS0_EE", !11, i64 0}
!11 = !{!"_ZTSSt15__uniq_ptr_dataI18MultiMethodInlinerSt14default_deleteIS0_ELb1ELb1EE", !12, i64 0}
!12 = !{!"_ZTSSt15__uniq_ptr_implI18MultiMethodInlinerSt14default_deleteIS0_EE", !13, i64 0}
!13 = !{!"_ZTSSt5tupleIJP18MultiMethodInlinerSt14default_deleteIS0_EEE", !14, i64 0}
!14 = !{!"_ZTSSt11_Tuple_implILm0EJP18MultiMethodInlinerSt14default_deleteIS0_EEE", !15, i64 0}
!15 = !{!"_ZTSSt10_Head_baseILm0EP18MultiMethodInlinerLb0EE", !7, i64 0}
!16 = !{!"_ZTSN7inliner13InlinerConfigE", !17, i64 0, !17, i64 1, !17, i64 2, !17, i64 3, !17, i64 4, !17, i64 5, !17, i64 6, !17, i64 7, !17, i64 8, !17, i64 9, !17, i64 10, !17, i64 11, !18, i64 16, !17, i64 72, !17, i64 73, !17, i64 74, !17, i64 75, !17, i64 76, !17, i64 77, !17, i64 78, !21, i64 80, !21, i64 88, !21, i64 96, !19, i64 104, !22, i64 136, !23, i64 144, !23, i64 200, !29, i64 256, !29, i64 280, !29, i64 304, !29, i64 328, !21, i64 352, !17, i64 360, !23, i64 368, !23, i64 424, !23, i64 480}
!17 = !{!"bool", !8, i64 0}
!18 = !{!"_ZTSN8shrinker14ShrinkerConfigE", !17, i64 0, !17, i64 1, !17, i64 2, !17, i64 3, !17, i64 4, !17, i64 5, !17, i64 6, !17, i64 7, !17, i64 8, !17, i64 9, !19, i64 16, !17, i64 48}
!19 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !20, i64 0, !21, i64 8, !8, i64 16}
!20 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !7, i64 0}
!21 = !{!"long", !8, i64 0}
!22 = !{!"_ZTSN7inliner18UnfinalizePerfModeE", !8, i64 0}
!23 = !{!"_ZTS12UnorderedSetIP7DexTypeSt4hashIS1_ESt8equal_toIS1_EE", !24, i64 0}
!24 = !{!"_ZTSSt13unordered_setIP7DexTypeSt4hashIS1_ESt8equal_toIS1_ESaIS1_EE", !25, i64 0}
!25 = !{!"_ZTSSt10_HashtableIP7DexTypeS1_SaIS1_ENSt8__detail9_IdentityESt8equal_toIS1_ESt4hashIS1_ENS3_18_Mod_range_hashingENS3_20_Default_ranged_hashENS3_20_Prime_rehash_policyENS3_17_Hashtable_traitsILb0ELb1ELb1EEEE", !7, i64 0, !21, i64 8, !26, i64 16, !21, i64 24, !27, i64 32, !7, i64 48}
!26 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !7, i64 0}
!27 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !28, i64 0, !21, i64 8}
!28 = !{!"float", !8, i64 0}
!29 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !30, i64 0}
!30 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!33 = !{!"_ZTS24ConcurrentMethodResolver", !34, i64 0}
!34 = !{!"_ZTS23InsertOnlyConcurrentMapI17MethodRefCacheKeyP9DexMethod21MethodRefCacheKeyHashSt8equal_toIS0_ELm83EE", !35, i64 0}
!35 = !{!"_ZTS19ConcurrentContainerISt13unordered_mapI17MethodRefCacheKeyP9DexMethod21MethodRefCacheKeyHashSt8equal_toIS1_ESaISt4pairIKS1_S3_EEELm83EE", !8, i64 8}
!36 = !{!"_ZTS12UnorderedMapIP9DexMethodS1_St4hashIS1_ESt8equal_toIS1_EE", !37, i64 0}
!37 = !{!"_ZTSSt13unordered_mapIP9DexMethodS1_St4hashIS1_ESt8equal_toIS1_ESaISt4pairIKS1_S1_EEE", !38, i64 0}
!38 = !{!"_ZTSSt10_HashtableIP9DexMethodSt4pairIKS1_S1_ESaIS4_ENSt8__detail10_Select1stESt8equal_toIS1_ESt4hashIS1_ENS6_18_Mod_range_hashingENS6_20_Default_ranged_hashENS6_20_Prime_rehash_policyENS6_17_Hashtable_traitsILb0ELb0ELb1EEEE", !7, i64 0, !21, i64 8, !26, i64 16, !21, i64 24, !27, i64 32, !7, i64 48}
!39 = !{!7, !7, i64 0}
!40 = !{!8, !8, i64 0}


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