Use the llvm-upgrade program to upgrade llvm assembly.
[oota-llvm.git] / test / Transforms / Inline / 2006-11-09-InlineCGUpdate-2.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | opt -inline -prune-eh -disable-output
2 ; PR993
3 target endian = little
4 target pointersize = 32
5 target triple = "i386-unknown-openbsd3.9"
6 deplibs = [ "stdc++", "c", "crtend" ]
7         "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" = type { sbyte* }
8         "struct.__gnu_cxx::char_producer<char>" = type { int (...)** }
9         %struct.__sFILE = type { ubyte*, int, int, short, short, %struct.__sbuf, int, sbyte*, int (sbyte*)*, int (sbyte*, sbyte*, int)*, long (sbyte*, long, int)*, int (sbyte*, sbyte*, int)*, %struct.__sbuf, ubyte*, int, [3 x ubyte], [1 x ubyte], %struct.__sbuf, int, long }
10         %struct.__sbuf = type { ubyte*, int }
11         "struct.std::__basic_file<char>" = type { %struct.__sFILE*, bool }
12         "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { "struct.std::locale::facet" }
13         "struct.std::bad_alloc" = type { "struct.__gnu_cxx::char_producer<char>" }
14         "struct.std::basic_filebuf<char,std::char_traits<char> >" = type { "struct.std::basic_streambuf<char,std::char_traits<char> >", int, "struct.std::__basic_file<char>", uint, %union.__mbstate_t, %union.__mbstate_t, sbyte*, uint, bool, bool, bool, bool, sbyte, sbyte*, sbyte*, bool, "struct.std::codecvt<char,char,__mbstate_t>"*, sbyte*, int, sbyte*, sbyte* }
15         "struct.std::basic_ios<char,std::char_traits<char> >" = type { "struct.std::ios_base", "struct.std::basic_ostream<char,std::char_traits<char> >"*, sbyte, bool, "struct.std::basic_streambuf<char,std::char_traits<char> >"*, "struct.std::ctype<char>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"*, "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
16         "struct.std::basic_iostream<char,std::char_traits<char> >" = type { "struct.std::locale::facet", "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_ios<char,std::char_traits<char> >" }
17         "struct.std::basic_ofstream<char,std::char_traits<char> >" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_filebuf<char,std::char_traits<char> >", "struct.std::basic_ios<char,std::char_traits<char> >" }
18         "struct.std::basic_ostream<char,std::char_traits<char> >" = type { int (...)**, "struct.std::basic_ios<char,std::char_traits<char> >" }
19         "struct.std::basic_streambuf<char,std::char_traits<char> >" = type { int (...)**, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, sbyte*, "struct.std::locale" }
20         "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { "struct.__gnu_cxx::__normal_iterator<char*,std::basic_string<char, std::char_traits<char>, std::allocator<char> > >" }
21         "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep" = type { "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" }
22         "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Rep_base" = type { uint, uint, int }
23         "struct.std::codecvt<char,char,__mbstate_t>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", int* }
24         "struct.std::ctype<char>" = type { "struct.std::__codecvt_abstract_base<char,char,__mbstate_t>", int*, bool, int*, int*, uint* }
25         "struct.std::domain_error" = type { "struct.std::logic_error" }
26         "struct.std::ios_base" = type { int (...)**, int, int, uint, uint, uint, "struct.std::ios_base::_Callback_list"*, "struct.std::ios_base::_Words", [8 x "struct.std::ios_base::_Words"], int, "struct.std::ios_base::_Words"*, "struct.std::locale" }
27         "struct.std::ios_base::_Callback_list" = type { "struct.std::ios_base::_Callback_list"*, void (uint, "struct.std::ios_base"*, int)*, int, int }
28         "struct.std::ios_base::_Words" = type { sbyte*, int }
29         "struct.std::locale" = type { "struct.std::locale::_Impl"* }
30         "struct.std::locale::_Impl" = type { int, "struct.std::locale::facet"**, uint, "struct.std::locale::facet"**, sbyte** }
31         "struct.std::locale::facet" = type { int (...)**, int }
32         "struct.std::logic_error" = type { "struct.__gnu_cxx::char_producer<char>", "struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" }
33         %union.__mbstate_t = type { long, [120 x ubyte] }
34 %.str_1 = external global [17 x sbyte]          ; <[17 x sbyte]*> [#uses=0]
35 %.str_9 = external global [24 x sbyte]          ; <[24 x sbyte]*> [#uses=0]
36
37 implementation   ; Functions:
38
39 void %main() {
40 entry:
41         call fastcc void %_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode( )
42         ret void
43 }
44
45 fastcc void %_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode() {
46 entry:
47         %tmp.6 = seteq "struct.std::basic_filebuf<char,std::char_traits<char> >"* null, null            ; <bool> [#uses=1]
48         br bool %tmp.6, label %then, label %UnifiedReturnBlock
49
50 then:           ; preds = %entry
51         tail call fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate( )
52         ret void
53
54 UnifiedReturnBlock:             ; preds = %entry
55         ret void
56 }
57
58 fastcc void %_ZN10__cxxabiv111__terminateEPFvvE() {
59 entry:
60         unreachable
61 }
62
63 void %_ZNSdD0Ev() {
64 entry:
65         unreachable
66 }
67
68 void %_ZThn8_NSdD1Ev() {
69 entry:
70         ret void
71 }
72
73 void %_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev() {
74 entry:
75         ret void
76 }
77
78 void %_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi() {
79 entry:
80         unreachable
81 }
82
83 fastcc void %_ZNSoD2Ev() {
84 entry:
85         unreachable
86 }
87
88 fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev() {
89 entry:
90         unreachable
91 }
92
93 fastcc void %_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate() {
94 entry:
95         tail call fastcc void %_ZSt19__throw_ios_failurePKc( )
96         ret void
97 }
98
99 declare fastcc void %_ZNSaIcED1Ev()
100
101 fastcc void %_ZNSsC1EPKcRKSaIcE() {
102 entry:
103         tail call fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type( )
104         unreachable
105 }
106
107 fastcc void %_ZSt14__convert_to_vIyEvPKcRT_RSt12_Ios_IostateRKPii() {
108 entry:
109         ret void
110 }
111
112 fastcc void %_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej() {
113 entry:
114         ret void
115 }
116
117 fastcc void %_ZSt19__throw_ios_failurePKc() {
118 entry:
119         call fastcc void %_ZNSsC1EPKcRKSaIcE( )
120         unwind
121 }
122
123 void %_GLOBAL__D__ZSt23lexicographical_compareIPKaS1_EbT_S2_T0_S3_() {
124 entry:
125         ret void
126 }
127
128 void %_ZNSt9bad_allocD1Ev() {
129 entry:
130         unreachable
131 }
132
133 fastcc void %_ZSt19__throw_logic_errorPKc() {
134 entry:
135         invoke fastcc void %_ZNSt11logic_errorC1ERKSs( )
136                         to label %try_exit.0 unwind label %try_catch.0
137
138 try_catch.0:            ; preds = %entry
139         unreachable
140
141 try_exit.0:             ; preds = %entry
142         unwind
143 }
144
145 fastcc void %_ZNSt11logic_errorC1ERKSs() {
146 entry:
147         call fastcc void %_ZNSsC1ERKSs( )
148         ret void
149 }
150
151 void %_ZNSt12domain_errorD1Ev() {
152 entry:
153         unreachable
154 }
155
156 fastcc void %_ZSt20__throw_length_errorPKc() {
157 entry:
158         call fastcc void %_ZNSt12length_errorC1ERKSs( )
159         unwind
160 }
161
162 fastcc void %_ZNSt12length_errorC1ERKSs() {
163 entry:
164         invoke fastcc void %_ZNSsC1ERKSs( )
165                         to label %_ZNSt11logic_errorC2ERKSs.exit unwind label %invoke_catch.i
166
167 invoke_catch.i:         ; preds = %entry
168         unwind
169
170 _ZNSt11logic_errorC2ERKSs.exit:         ; preds = %entry
171         ret void
172 }
173
174 fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE() {
175 entry:
176         call fastcc void %_ZSt20__throw_length_errorPKc( )
177         unreachable
178 }
179
180 fastcc void %_ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag() {
181 entry:
182         unreachable
183 }
184
185 fastcc void %_ZNSs16_S_construct_auxIPKcEEPcT_S3_RKSaIcE12__false_type() {
186 entry:
187         br bool false, label %then.1.i, label %endif.1.i
188
189 then.1.i:               ; preds = %entry
190         call fastcc void %_ZSt19__throw_logic_errorPKc( )
191         br label %endif.1.i
192
193 endif.1.i:              ; preds = %then.1.i, %entry
194         call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( )
195         unreachable
196 }
197
198 fastcc void %_ZNSsC1ERKSs() {
199 entry:
200         call fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_( )
201         invoke fastcc void %_ZNSaIcEC1ERKS_( )
202                         to label %invoke_cont.1 unwind label %invoke_catch.1
203
204 invoke_catch.1:         ; preds = %entry
205         call fastcc void %_ZNSaIcED1Ev( )
206         unwind
207
208 invoke_cont.1:          ; preds = %entry
209         call fastcc void %_ZNSaIcEC2ERKS_( )
210         ret void
211 }
212
213 fastcc void %_ZNSaIcEC1ERKS_() {
214 entry:
215         ret void
216 }
217
218 fastcc void %_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc() {
219 entry:
220         ret void
221 }
222
223 fastcc void %_ZNSs4_Rep7_M_grabERKSaIcES2_() {
224 entry:
225         br bool false, label %else.i, label %cond_true
226
227 cond_true:              ; preds = %entry
228         ret void
229
230 else.i:         ; preds = %entry
231         tail call fastcc void %_ZNSs4_Rep9_S_createEjRKSaIcE( )
232         unreachable
233 }
234
235 fastcc void %_ZNSaIcEC2ERKS_() {
236 entry:
237         ret void
238 }
239
240 fastcc void %_ZN9__gnu_cxx12__pool_allocILb1ELi0EE8allocateEj() {
241 entry:
242         ret void
243 }
244
245 fastcc void %_ZN9__gnu_cxx12__pool_allocILb1ELi0EE9_S_refillEj() {
246 entry:
247         unreachable
248 }