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