1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
; RUN: opt < %s -passes=globalopt -disable-output
; PR820
target datalayout = "e-p:32:32"
target triple = "i686-pc-linux-gnu"
%struct..0FileDescriptor = type { i32 }
%"struct.FlagDescription<int32>" = type { ptr, ptr, i1, i1, i32, ptr }
%"struct.FlagRegisterer<bool>" = type { i8 }
%struct.MutexLock = type { ptr }
%"struct.std::DisabledRangeMap" = type { %"struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >" }
%"struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >" = type { %"struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >::_Rb_tree_impl<StringCmp,false>" }
%"struct.std::_Rb_tree<const char*,std::pair<const char* const, FlagDescription<bool> >,std::_Select1st<std::pair<const char* const, FlagDescription<bool> > >,StringCmp,std::allocator<std::pair<const char* const, FlagDescription<bool> > > >::_Rb_tree_impl<StringCmp,false>" = type { %"struct.FlagRegisterer<bool>", %"struct.std::_Rb_tree_node_base", i32 }
%"struct.std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { ptr }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"struct.std::_Vector_base<int,std::allocator<int> >" = type { %"struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" }
%"struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" = type { ptr, ptr, ptr }
%"struct.std::vector<int,std::allocator<int> >" = type { %"struct.std::_Vector_base<int,std::allocator<int> >" }
@registry_lock = external global %struct..0FileDescriptor ; <ptr> [#uses=0]
@_ZN61FLAG__foo_int32_44FLAGS_E = external global %"struct.FlagRegisterer<bool>" ; <ptr> [#uses=0]
@llvm.global_ctors = appending global [20 x { i32, ptr, ptr }] [ { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN62FLAG__foo_string_10FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN60FLAG__foo_bool_19FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZNK5Bzh4Enum13is_contiguousEv, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN61FLAG__foo_int32_21FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN7ScannerC2Ev, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__Z11StripStringPSsPKcc, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZNK9__gnu_cxx4hashI11StringPieceEclERKS1_, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN8Hasher325ResetEj, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__Z25ACLRv, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN61FLAG__foo_int64_25FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN61FLAG__foo_int32_7FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN62FLAG__foo_string_18FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN61FLAG__foo_int32_25FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I_eventbuf, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN61FLAG__foo_int32_26FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN62FLAG__foo_string_16FLAGS_E, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__ZN17InitializerC2EPKcS1_PFvvE, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I__checker_bcad_variable, ptr null } ] ; <ptr> [#uses=0]
declare void @_GLOBAL__I__ZN62FLAG__foo_string_10FLAGS_E()
declare void @_GLOBAL__I__ZN60FLAG__foo_bool_19FLAGS_E()
declare void @_GLOBAL__I__ZNK5Bzh4Enum13is_contiguousEv()
declare void @_GLOBAL__I__ZN62FLAG__foo_string_17FLAGS_E()
declare void @_GLOBAL__I__ZN61FLAG__foo_int32_21FLAGS_E()
define void @_ZN14FlagRegistererIiEC1EPKcRK15FlagDescriptionIiE() {
entry:
call void @_Z12RegisterFlagIiEvPKcRK15FlagDescriptionIT_E( )
ret void
}
define void @_Z12RegisterFlagIiEvPKcRK15FlagDescriptionIT_E() {
entry:
call void @_ZN9MutexLockC1EP5Mutex( )
ret void
}
declare void @_GLOBAL__I__ZN7ScannerC2Ev()
declare void @_GLOBAL__I__Z11StripStringPSsPKcc()
define void @_ZNSt6vectorIiSaIiEEC1ERKS0_() {
entry:
unreachable
}
declare void @_GLOBAL__I__ZNK9__gnu_cxx4hashI11StringPieceEclERKS1_()
declare void @_GLOBAL__I__ZN8Hasher325ResetEj()
declare void @_GLOBAL__I__Z25ACLRv()
define void @_ZN9MutexLockC1EP5Mutex() {
entry:
call void @_ZN5Mutex4LockEv( )
ret void
}
define void @_ZN5Mutex4LockEv() {
entry:
call void @_Z22Acquire_CASPViii( )
ret void
}
define void @_ZNSt3mapIPKc15FlagDescriptionIiE9StringCmpSaISt4pairIKS1_S3_EEE3endEv(ptr sret(%"struct.std::_Rb_tree_const_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >") %agg.result) {
entry:
unreachable
}
declare void @_GLOBAL__I__ZN61FLAG__foo_int64_25FLAGS_E()
define void @_Z14CASPViii() {
entry:
%tmp3 = call i32 asm sideeffect "lock; cmpxchg $1,$2", "={ax},q,m,0,~{dirflag},~{fpsr},~{flags},~{memory}"( i32 0, ptr null, i32 0 ) ; <i32> [#uses=0]
unreachable
}
declare void @_GLOBAL__I__ZN61FLAG__foo_int32_7FLAGS_E()
declare void @_GLOBAL__I__ZN62FLAG__foo_string_18FLAGS_E()
define void @_Z22Acquire_CASPViii() {
entry:
call void @_Z14CASPViii( )
unreachable
}
declare void @_GLOBAL__I__ZN61FLAG__foo_int32_25FLAGS_E()
declare void @_GLOBAL__I_eventbuf()
define void @_GLOBAL__I__ZN61FLAG__foo_int32_26FLAGS_E() {
entry:
call void @_Z41__static_initialization_and_destruction_0ii1662( i32 1, i32 65535 )
ret void
}
define void @_Z41__static_initialization_and_destruction_0ii1662(i32 %__initialize_p, i32 %__priority) {
entry:
%__initialize_p_addr = alloca i32 ; <ptr> [#uses=2]
%__priority_addr = alloca i32 ; <ptr> [#uses=2]
store i32 %__initialize_p, ptr %__initialize_p_addr
store i32 %__priority, ptr %__priority_addr
%tmp = load i32, ptr %__priority_addr ; <i32> [#uses=1]
%tmp.upgrd.1 = icmp eq i32 %tmp, 65535 ; <i1> [#uses=1]
br i1 %tmp.upgrd.1, label %cond_true, label %cond_next14
cond_true: ; preds = %entry
%tmp8 = load i32, ptr %__initialize_p_addr ; <i32> [#uses=1]
%tmp9 = icmp eq i32 %tmp8, 1 ; <i1> [#uses=1]
br i1 %tmp9, label %cond_true10, label %cond_next14
cond_true10: ; preds = %cond_true
call void @_ZN14FlagRegistererIiEC1EPKcRK15FlagDescriptionIiE( )
ret void
cond_next14: ; preds = %cond_true, %entry
ret void
}
declare void @_GLOBAL__I__ZN62FLAG__foo_string_16FLAGS_E()
define void @_ZN9__gnu_cxx13new_allocatorIPNS_15_Hashtable_nodeIjEEEC2Ev() {
entry:
unreachable
}
declare void @_GLOBAL__I__ZN17InitializerC2EPKcS1_PFvvE()
declare void @_GLOBAL__I__checker_bcad_variable()
|