blob: 10202dcf98ce3f6f37a9823460d13ca61fced3bd [file] [log] [blame]
Dan Gohman3c7d3082009-09-11 18:01:28 +00001; RUN: opt < %s -loopsimplify -disable-output
Chris Lattner55fb7932007-10-29 02:30:37 +00002; PR1752
3target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-s0:0:64-f80:32:32"
4target triple = "i686-pc-mingw32"
5 %struct.BigInt = type { %"struct.std::vector<ulong,std::allocator<ulong> >" }
6 %struct.Fibonacci = type { %"struct.std::vector<BigInt,std::allocator<BigInt> >" }
7 %struct.__false_type = type <{ i8 }>
8 %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >" = type { %struct.BigInt* }
9 %"struct.std::_Vector_base<BigInt,std::allocator<BigInt> >" = type { %"struct.std::_Vector_base<BigInt,std::allocator<BigInt> >::_Vector_impl" }
10 %"struct.std::_Vector_base<BigInt,std::allocator<BigInt> >::_Vector_impl" = type { %struct.BigInt*, %struct.BigInt*, %struct.BigInt* }
11 %"struct.std::_Vector_base<ulong,std::allocator<ulong> >" = type { %"struct.std::_Vector_base<ulong,std::allocator<ulong> >::_Vector_impl" }
12 %"struct.std::_Vector_base<ulong,std::allocator<ulong> >::_Vector_impl" = type { i32*, i32*, i32* }
13 %"struct.std::basic_ios<char,std::char_traits<char> >" = type { %"struct.std::ios_base", %"struct.std::basic_ostream<char,std::char_traits<char> >"*, i8, i8, %"struct.std::basic_streambuf<char,std::char_traits<char> >"*, %"struct.std::ctype<char>"*, %"struct.std::num_get<char,std::istreambuf_iterator<char, std::char_traits<char> > >"*, %"struct.std::num_get<char,std::istreambuf_iterator<char, std::char_traits<char> > >"* }
14 %"struct.std::basic_ostream<char,std::char_traits<char> >" = type { i32 (...)**, %"struct.std::basic_ios<char,std::char_traits<char> >" }
15 %"struct.std::basic_streambuf<char,std::char_traits<char> >" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"struct.std::locale" }
16 %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" = type { %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider" }
17 %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider" = type { i8* }
18 %"struct.std::basic_stringbuf<char,std::char_traits<char>,std::allocator<char> >" = type { %"struct.std::basic_streambuf<char,std::char_traits<char> >", i32, %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >" }
19 %"struct.std::ctype<char>" = type { %"struct.std::locale::facet", i32*, i8, i32*, i32*, i16*, i8, [256 x i8], [256 x i8], i8 }
20 %"struct.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"struct.std::locale" }
21 %"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 }
22 %"struct.std::ios_base::_Words" = type { i8*, i32 }
23 %"struct.std::locale" = type { %"struct.std::locale::_Impl"* }
24 %"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** }
25 %"struct.std::locale::facet" = type { i32 (...)**, i32 }
26 %"struct.std::num_get<char,std::istreambuf_iterator<char, std::char_traits<char> > >" = type { %"struct.std::locale::facet" }
27 %"struct.std::ostringstream" = type { [4 x i8], %"struct.std::basic_stringbuf<char,std::char_traits<char>,std::allocator<char> >", %"struct.std::basic_ios<char,std::char_traits<char> >" }
28 %"struct.std::vector<BigInt,std::allocator<BigInt> >" = type { %"struct.std::_Vector_base<BigInt,std::allocator<BigInt> >" }
29 %"struct.std::vector<ulong,std::allocator<ulong> >" = type { %"struct.std::_Vector_base<ulong,std::allocator<ulong> >" }
30@.str13 = external constant [6 x i8] ; <[6 x i8]*> [#uses=1]
31@.str14 = external constant [5 x i8] ; <[5 x i8]*> [#uses=1]
32@.str15 = external constant [2 x i8] ; <[2 x i8]*> [#uses=1]
33@_ZSt4cout = external global %"struct.std::basic_ostream<char,std::char_traits<char> >" ; <%"struct.std::basic_ostream<char,std::char_traits<char> >"*> [#uses=1]
34
35declare void @_ZN9Fibonacci10get_numberEj(%struct.BigInt* sret , %struct.Fibonacci*, i32)
36
37declare %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"struct.std::basic_ostream<char,std::char_traits<char> >"*, i8*)
38
39declare void @_ZNSsD1Ev(%"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"*)
40
41declare %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZNSolsEm(%"struct.std::basic_ostream<char,std::char_traits<char> >"*, i32)
42
43declare void @_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv(%"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* sret , %"struct.std::ostringstream"*)
44
45declare %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E(%"struct.std::basic_ostream<char,std::char_traits<char> >"*, %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"*)
46
47declare void @_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(%"struct.std::ostringstream"*)
48
49declare %"struct.std::basic_ostream<char,std::char_traits<char> >"* @___ZlsRSoRK6BigInt___ZN9__gnu_cxx13new_allocatorI6BigIntE10deallocateEPS1_j(i32, %"struct.std::basic_ostream<char,std::char_traits<char> >"*, %struct.BigInt*, %struct.__false_type*, i32)
50
51declare void @___ZNSt12_Vector_baseI6BigIntSaIS0_EE13_M_deallocateEPS0_j___ZNSt12_Vector_baseI6BigIntSaIS0_EED2Ev___ZNSt6vectorI6BigIntSaIS0_EEC1ERKS1_(%"struct.std::_Vector_base<BigInt,std::allocator<BigInt> >"*, i32, %struct.BigInt*, i32, %"struct.std::vector<BigInt,std::allocator<BigInt> >"*, %struct.__false_type*)
52
53declare i32 @___ZN9__gnu_cxxmiIPK6BigIntS3_St6vectorIS1_SaIS1_EEEENS_17__normal_iteratorIT_T1_E15difference_typeERKSA_RKNS7_IT0_S9_EE___ZNKSt6vectorI6BigIntSaIS0_EE4sizeEv___ZNK9Fibonacci16show_all_numbersEv___ZNKSt6vectorI6BigIntSaIS0_EE8capacityEv(%"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"*, %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"*, %"struct.std::vector<BigInt,std::allocator<BigInt> >"*, i32, %struct.Fibonacci*)
54
55declare %struct.BigInt* @___ZNSt6vectorI6BigIntSaIS0_EEixEj___ZNSt6vectorI6BigIntSaIS0_EE3endEv(%"struct.std::vector<BigInt,std::allocator<BigInt> >"*, i32, i32)
56
57declare %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* @___ZN9__gnu_cxx17__normal_iteratorIP6BigIntSt6vectorIS1_SaIS1_EEEppEv___ZNSt6vectorImSaImEED1Ev___ZN6BigIntD1Ev___ZN9__gnu_cxx13new_allocatorI6BigIntE7destroyEPS1____ZSt8_DestroyIP6BigIntSaIS0_EEvT_S3_T0_(i32, %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"*, %"struct.std::vector<ulong,std::allocator<ulong> >"*, %struct.BigInt*, %struct.__false_type*, %struct.BigInt*, %struct.__false_type* noalias )
58
59declare void @___ZNSt6vectorI6BigIntSaIS0_EED1Ev___ZN9FibonacciD1Ev___ZNSt6vectorImSaImEEC1ERKS0_(i32, %"struct.std::vector<BigInt,std::allocator<BigInt> >"*, %struct.Fibonacci*, %"struct.std::vector<ulong,std::allocator<ulong> >"*, %struct.__false_type*)
60
61define void @___ZN9FibonacciC1Ej___ZN9Fibonacci11show_numberEm(%struct.Fibonacci* %this_this, i32 %functionID, i32 %n_i_n_i) {
62bb_init:
63 br label %bb_main
64
65bb_main: ; preds = %meshBB349, %meshBB348, %meshBB347, %meshBB346, %meshBB345.unwinddest, %meshBB345, %meshBB344, %meshBB343, %meshBB342, %meshBB341, %meshBB340.normaldest, %meshBB340, %meshBB339, %invcont17.normaldest.normaldest, %invcont17.normaldest, %meshBB338.unwinddest, %meshBB338, %meshBB337.unwinddest, %meshBB337, %meshBB336.unwinddest, %meshBB336, %meshBB335, %meshBB334, %meshBB333, %meshBB332, %meshBB331, %meshBB330.normaldest, %meshBB330, %meshBB329.normaldest, %meshBB329, %meshBB328, %meshBB327, %meshBB326, %meshBB325.unwinddest, %meshBB325, %meshBB324, %meshBB323.normaldest, %meshBB323, %meshBB322.unwinddest, %meshBB322, %meshBB321, %meshBB320.unwinddest, %meshBB320, %meshBB319.unwinddest, %meshBB319, %meshBB318.unwinddest, %meshBB318, %meshBB317, %meshBB37.fragment, %meshBB37.unwinddest, %meshBB37, %meshBB36.fragment, %meshBB36, %meshBB35.fragment, %meshBB35, %meshBB34.fragment, %meshBB34, %meshBB33.fragment, %meshBB33, %meshBB32.fragment, %meshBB32, %meshBB31.fragment, %meshBB31, %meshBB30.fragment, %meshBB30.normaldest, %meshBB30, %meshBB29.fragment, %meshBB29.unwinddest, %meshBB29, %meshBB28.fragment, %meshBB28.unwinddest, %meshBB28, %meshBB27.fragment, %meshBB27, %meshBB26.fragment, %meshBB26.normaldest, %meshBB26, %meshBB25.fragment, %meshBB25, %meshBB24.fragment, %meshBB24.unwinddest, %meshBB24, %meshBB23.fragment, %meshBB23.normaldest, %meshBB23, %entry1.fragment.normaldest.normaldest, %entry1.fragment.normaldest, %meshBB22.fragment, %meshBB22.unwinddest, %meshBB22, %meshBB.fragment, %meshBB.unwinddest, %meshBB, %Unwind20, %unwind78.Unwind_crit_edge, %unwind78.fragment.fragment, %unwind78.fragment, %unwind78.fragment316, %unwind78, %invcont70, %unwind66.Unwind_crit_edge, %unwind66.fragment.fragment, %unwind66.fragment, %unwind66.fragment315, %unwind66, %unwind53.nofilter_crit_edge, %unwind53.fragment.fragment, %unwind53.fragment, %unwind53.fragment314, %unwind53, %nofilter.Unwind_crit_edge.normaldest, %nofilter.Unwind_crit_edge, %nofilter, %unwind43.nofilter_crit_edge, %unwind43.fragment.fragment, %unwind43.fragment, %unwind43.fragment313, %unwind43, %invcont41.normaldest, %invcont41, %unwind37.nofilter_crit_edge, %unwind37, %invcont36, %invcont33.unwind_crit_edge.unwinddest, %invcont33.unwind_crit_edge, %invcont30.unwind_crit_edge.unwinddest, %invcont30.unwind_crit_edge, %invcont30.normaldest, %invcont30, %invcont28.unwind_crit_edge, %invcont28.normaldest, %invcont28, %invcont25.unwind_crit_edge.unwinddest, %invcont25.unwind_crit_edge, %invcont25, %invcont22.unwind_crit_edge, %invcont22, %invcont17.unwind_crit_edge, %invcont17, %cond_next.unwind_crit_edge, %cond_next, %invcont12.cond_next_crit_edge, %invcont12.unwind_crit_edge, %invcont12, %cond_true.unwind_crit_edge.unwinddest, %cond_true.unwind_crit_edge, %invcont.cond_next_crit_edge, %invcont16.fragment, %invcont16, %unwind11.fragment, %unwind11, %entry.unwind_crit_edge, %entry1.fragment, %entry1.fragment312, %entry1, %Unwind, %unwind20.Unwind_crit_edge, %unwind20.fragment.fragment, %unwind20.fragment, %unwind20.fragment311, %unwind20, %invcont15, %invcont14.unwind10_crit_edge, %invcont14, %unwind10.Unwind_crit_edge, %unwind10.fragment, %unwind10.fragment310, %unwind10, %invcont.unwind10_crit_edge, %invcont, %unwind.fragment, %unwind, %entry.fragment, %entry.fragment309, %entry, %NewDefault, %LeafBlock, %LeafBlock914, %NodeBlock, %comb_entry.fragment, %old_entry, %bb_init
66 switch i32 0, label %old_entry [
67 i32 2739, label %invcont28.fragment
68 i32 2688, label %meshBB28.fragment
69 i32 1318, label %meshBB32.fragment
70 i32 2964, label %unwind53.fragment.fragment
71 i32 824, label %unwind78.fragment.fragment
72 i32 1983, label %meshBB33.fragment
73 i32 2582, label %invcont30.fragment
74 i32 2235, label %meshBB36.fragment
75 i32 1275, label %meshBB343
76 i32 2719, label %invcont.fragment
77 i32 1500, label %entry1.fragment.fragment
78 i32 815, label %unwind11.fragment
79 i32 1051, label %entry
80 i32 2342, label %unwind
81 i32 1814, label %invcont
82 i32 315, label %invcont.unwind10_crit_edge
83 i32 2422, label %unwind10
84 i32 2663, label %unwind10.Unwind_crit_edge
85 i32 266, label %invcont14
86 i32 367, label %invcont14.unwind10_crit_edge
87 i32 2242, label %invcont15
88 i32 452, label %unwind20
89 i32 419, label %invcont.cond_next_crit_edge
90 i32 181, label %cond_true
91 i32 2089, label %unwind20.Unwind_crit_edge
92 i32 633, label %filter
93 i32 455, label %Unwind
94 i32 2016, label %entry1
95 i32 263, label %invcont33.unwind_crit_edge
96 i32 2498, label %invcont36
97 i32 2992, label %unwind37
98 i32 616, label %entry.unwind_crit_edge
99 i32 622, label %unwind11
100 i32 875, label %invcont16
101 i32 766, label %unwind53.nofilter_crit_edge
102 i32 668, label %filter62
103 i32 2138, label %unwind66
104 i32 713, label %unwind66.Unwind_crit_edge
105 i32 1422, label %invcont70
106 i32 1976, label %cond_true.unwind_crit_edge
107 i32 1263, label %invcont12
108 i32 2453, label %invcont12.unwind_crit_edge
109 i32 2876, label %invcont12.cond_next_crit_edge
110 i32 2271, label %cond_next
111 i32 2938, label %cond_next.unwind_crit_edge
112 i32 1082, label %invcont17
113 i32 531, label %invcont17.unwind_crit_edge
114 i32 111, label %invcont22
115 i32 1935, label %invcont22.unwind_crit_edge
116 i32 2004, label %invcont25
117 i32 1725, label %invcont25.unwind_crit_edge
118 i32 1701, label %invcont28
119 i32 957, label %invcont28.unwind_crit_edge
120 i32 165, label %invcont30
121 i32 899, label %invcont30.unwind_crit_edge
122 i32 1092, label %invcont33
123 i32 2869, label %unwind37.nofilter_crit_edge
124 i32 203, label %invcont41
125 i32 693, label %unwind43
126 i32 2895, label %unwind43.nofilter_crit_edge
127 i32 1174, label %invcont47
128 i32 1153, label %filter19
129 i32 2304, label %nofilter
130 i32 848, label %nofilter.Unwind_crit_edge
131 i32 1207, label %unwind53
132 i32 2848, label %filter75
133 i32 59, label %unwind78
134 i32 1213, label %unwind78.Unwind_crit_edge
135 i32 2199, label %filter87
136 i32 1268, label %Unwind20
137 i32 743, label %old_entry
138 i32 1276, label %meshBB319
139 i32 1619, label %meshBB320
140 i32 2047, label %meshBB331
141 i32 2828, label %meshBB23.fragment
142 i32 2530, label %meshBB332
143 i32 1389, label %meshBB318
144 i32 1450, label %meshBB317
145 i32 1416, label %meshBB31.fragment
146 i32 82, label %meshBB322
147 i32 853, label %unwind78.fragment316
148 i32 107, label %meshBB24.fragment
149 i32 1200, label %meshBB37.fragment
150 i32 605, label %unwind53.fragment314
151 i32 209, label %meshBB29.fragment
152 i32 1513, label %meshBB27.fragment
153 i32 1542, label %meshBB35.fragment
154 i32 1873, label %meshBB348
155 i32 472, label %meshBB325
156 i32 2615, label %meshBB22.fragment
157 i32 359, label %meshBB.fragment
158 i32 2467, label %Unwind20.fragment
159 i32 1671, label %unwind66.fragment.fragment
160 i32 1006, label %meshBB25.fragment
161 i32 1243, label %meshBB333
162 i32 2795, label %unwind43.fragment313
163 i32 1591, label %meshBB335
164 i32 773, label %meshBB341
165 i32 2440, label %cond_next.fragment
166 i32 487, label %meshBB326
167 i32 394, label %meshBB324
168 i32 14, label %invcont16.fragment
169 i32 574, label %entry1.fragment312
170 i32 1453, label %meshBB35
171 i32 345, label %entry1.fragment
172 i32 2951, label %unwind20.fragment
173 i32 1960, label %meshBB31
174 i32 2163, label %meshBB32
175 i32 1978, label %Unwind.fragment
176 i32 1559, label %unwind20.fragment.fragment
177 i32 950, label %unwind10.fragment
178 i32 1724, label %unwind53.fragment
179 i32 514, label %meshBB36
180 i32 1928, label %unwind10.fragment.fragment
181 i32 1266, label %meshBB26
182 i32 3148, label %unwind20.fragment311
183 i32 1581, label %unwind43.fragment
184 i32 1829, label %meshBB34
185 i32 1472, label %meshBB28
186 i32 2657, label %unwind66.fragment
187 i32 2169, label %meshBB22
188 i32 2619, label %meshBB
189 i32 1397, label %entry.fragment
190 i32 231, label %invcont41.fragment
191 i32 2557, label %meshBB338
192 i32 2387, label %meshBB30.fragment
193 i32 2927, label %meshBB340
194 i32 2331, label %meshBB321
195 i32 47, label %meshBB328
196 i32 1753, label %meshBB342
197 i32 2074, label %meshBB323
198 i32 2128, label %meshBB334
199 i32 2396, label %meshBB337
200 i32 1811, label %meshBB29
201 i32 1113, label %meshBB27
202 i32 2232, label %unwind10.fragment310
203 i32 804, label %meshBB24
204 i32 3099, label %meshBB30
205 i32 564, label %meshBB33
206 i32 1359, label %unwind.fragment
207 i32 1906, label %entry.fragment309
208 i32 2644, label %entry.fragment.fragment
209 i32 134, label %entry1.fragment.normaldest
210 i32 2767, label %comb_entry.fragment
211 i32 2577, label %meshBB25
212 i32 3128, label %meshBB37
213 i32 2360, label %meshBB23
214 i32 286, label %unwind78.fragment
215 i32 976, label %meshBB346
216 i32 2412, label %meshBB339
217 i32 876, label %meshBB345
218 i32 3078, label %meshBB329
219 i32 1297, label %meshBB347
220 i32 3051, label %meshBB336
221 i32 1342, label %meshBB344
222 i32 728, label %meshBB330
223 i32 1778, label %meshBB349
224 i32 2784, label %meshBB327
225 i32 1854, label %meshBB26.fragment
226 i32 1025, label %meshBB34.fragment
227 i32 2139, label %unwind43.fragment.fragment
228 i32 2217, label %nofilter.fragment
229 i32 665, label %invcont12.fragment
230 i32 316, label %invcont22.fragment
231 i32 1467, label %unwind66.fragment315
232 i32 3018, label %unwind37.fragment
233 i32 1123, label %invcont17.normaldest
234 i32 2104, label %NewDefault
235 i32 1639, label %LeafBlock
236 i32 925, label %LeafBlock914
237 i32 2880, label %NodeBlock
238 ]
239
240old_entry: ; preds = %bb_main, %bb_main
241 br label %bb_main
242
243comb_entry.fragment: ; preds = %bb_main
244 br label %bb_main
245
246NodeBlock: ; preds = %bb_main
247 br label %bb_main
248
249LeafBlock914: ; preds = %bb_main
250 br label %bb_main
251
252LeafBlock: ; preds = %bb_main
253 br label %bb_main
254
255NewDefault: ; preds = %bb_main
256 br label %bb_main
257
258entry: ; preds = %bb_main
259 br label %bb_main
260
261entry.fragment309: ; preds = %bb_main
262 br label %bb_main
263
264entry.fragment: ; preds = %bb_main
265 br label %bb_main
266
267entry.fragment.fragment: ; preds = %bb_main
268 invoke void @___ZNSt12_Vector_baseI6BigIntSaIS0_EE13_M_deallocateEPS0_j___ZNSt12_Vector_baseI6BigIntSaIS0_EED2Ev___ZNSt6vectorI6BigIntSaIS0_EEC1ERKS1_( %"struct.std::_Vector_base<BigInt,std::allocator<BigInt> >"* null, i32 28, %struct.BigInt* null, i32 0, %"struct.std::vector<BigInt,std::allocator<BigInt> >"* null, %struct.__false_type* null )
269 to label %meshBB340 unwind label %meshBB325
270
271unwind: ; preds = %bb_main
272 br label %bb_main
273
274unwind.fragment: ; preds = %bb_main
275 br label %bb_main
276
277invcont: ; preds = %bb_main
278 br label %bb_main
279
280invcont.fragment: ; preds = %bb_main
281 invoke void @_ZN9Fibonacci10get_numberEj( %struct.BigInt* null sret , %struct.Fibonacci* %this_this, i32 %n_i_n_i )
282 to label %invcont14 unwind label %meshBB37
283
284invcont.unwind10_crit_edge: ; preds = %bb_main
285 br label %bb_main
286
287unwind10: ; preds = %bb_main
288 br label %bb_main
289
290unwind10.fragment310: ; preds = %bb_main
291 br label %bb_main
292
293unwind10.fragment: ; preds = %bb_main
294 br label %bb_main
295
296unwind10.fragment.fragment: ; preds = %bb_main
297 invoke void @___ZNSt6vectorI6BigIntSaIS0_EED1Ev___ZN9FibonacciD1Ev___ZNSt6vectorImSaImEEC1ERKS0_( i32 57, %"struct.std::vector<BigInt,std::allocator<BigInt> >"* null, %struct.Fibonacci* null, %"struct.std::vector<ulong,std::allocator<ulong> >"* null, %struct.__false_type* null )
298 to label %meshBB329 unwind label %meshBB24
299
300unwind10.Unwind_crit_edge: ; preds = %bb_main
301 br label %bb_main
302
303invcont14: ; preds = %invcont.fragment, %bb_main
304 br label %bb_main
305
306invcont14.normaldest: ; No predecessors!
307 invoke %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* @___ZN9__gnu_cxx17__normal_iteratorIP6BigIntSt6vectorIS1_SaIS1_EEEppEv___ZNSt6vectorImSaImEED1Ev___ZN6BigIntD1Ev___ZN9__gnu_cxx13new_allocatorI6BigIntE7destroyEPS1____ZSt8_DestroyIP6BigIntSaIS0_EEvT_S3_T0_( i32 14, %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* null, %"struct.std::vector<ulong,std::allocator<ulong> >"* null, %struct.BigInt* null, %struct.__false_type* null, %struct.BigInt* null, %struct.__false_type* null noalias )
308 to label %invcont15 unwind label %meshBB345 ; <%"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"*>:0 [#uses=0]
309
310invcont14.unwind10_crit_edge: ; preds = %bb_main
311 br label %bb_main
312
313invcont15: ; preds = %invcont14.normaldest, %bb_main
314 br label %bb_main
315
316invcont15.normaldest: ; No predecessors!
317 br label %UnifiedReturnBlock
318
319unwind20: ; preds = %bb_main
320 br label %bb_main
321
322unwind20.fragment311: ; preds = %bb_main
323 br label %bb_main
324
325unwind20.fragment: ; preds = %bb_main
326 br label %bb_main
327
328unwind20.fragment.fragment: ; preds = %bb_main
329 br label %bb_main
330
331unwind20.Unwind_crit_edge: ; preds = %bb_main
332 br label %bb_main
333
334filter: ; preds = %bb_main
335 br label %UnifiedUnreachableBlock
336
337Unwind: ; preds = %bb_main
338 br label %bb_main
339
340Unwind.fragment: ; preds = %bb_main
341 br label %UnifiedUnreachableBlock
342
343entry1: ; preds = %bb_main
344 br label %bb_main
345
346entry1.fragment312: ; preds = %bb_main
347 br label %bb_main
348
349entry1.fragment: ; preds = %bb_main
350 br label %bb_main
351
352entry1.fragment.fragment: ; preds = %bb_main
353 %tmp52 = invoke i32 @___ZN9__gnu_cxxmiIPK6BigIntS3_St6vectorIS1_SaIS1_EEEENS_17__normal_iteratorIT_T1_E15difference_typeERKSA_RKNS7_IT0_S9_EE___ZNKSt6vectorI6BigIntSaIS0_EE4sizeEv___ZNK9Fibonacci16show_all_numbersEv___ZNKSt6vectorI6BigIntSaIS0_EE8capacityEv( %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* null, %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* null, %"struct.std::vector<BigInt,std::allocator<BigInt> >"* null, i32 16, %struct.Fibonacci* null )
354 to label %entry1.fragment.normaldest unwind label %meshBB320 ; <i32> [#uses=0]
355
356entry.unwind_crit_edge: ; preds = %bb_main
357 br label %bb_main
358
359unwind11: ; preds = %bb_main
360 br label %bb_main
361
362unwind11.fragment: ; preds = %bb_main
363 br label %bb_main
364
365invcont16: ; preds = %bb_main
366 br label %bb_main
367
368invcont16.fragment: ; preds = %bb_main
369 br label %bb_main
370
371invcont.cond_next_crit_edge: ; preds = %bb_main
372 br label %bb_main
373
374cond_true: ; preds = %bb_main
375 invoke void @_ZN9Fibonacci10get_numberEj( %struct.BigInt* null sret , %struct.Fibonacci* %this_this, i32 %n_i_n_i )
376 to label %meshBB323 unwind label %cond_true.unwind_crit_edge
377
378cond_true.unwind_crit_edge: ; preds = %cond_true, %bb_main
379 br label %bb_main
380
381cond_true.unwind_crit_edge.unwinddest: ; No predecessors!
382 br label %bb_main
383
384invcont12: ; preds = %bb_main
385 br label %bb_main
386
387invcont12.fragment: ; preds = %bb_main
388 invoke %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* @___ZN9__gnu_cxx17__normal_iteratorIP6BigIntSt6vectorIS1_SaIS1_EEEppEv___ZNSt6vectorImSaImEED1Ev___ZN6BigIntD1Ev___ZN9__gnu_cxx13new_allocatorI6BigIntE7destroyEPS1____ZSt8_DestroyIP6BigIntSaIS0_EEvT_S3_T0_( i32 14, %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* null, %"struct.std::vector<ulong,std::allocator<ulong> >"* null, %struct.BigInt* null, %struct.__false_type* null, %struct.BigInt* null, %struct.__false_type* null noalias )
389 to label %meshBB30 unwind label %meshBB337 ; <%"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"*>:1 [#uses=0]
390
391invcont12.unwind_crit_edge: ; preds = %bb_main
392 br label %bb_main
393
394invcont12.cond_next_crit_edge: ; preds = %bb_main
395 br label %bb_main
396
397cond_next: ; preds = %bb_main
398 br label %bb_main
399
400cond_next.fragment: ; preds = %bb_main
401 %tmp183 = invoke %struct.BigInt* @___ZNSt6vectorI6BigIntSaIS0_EEixEj___ZNSt6vectorI6BigIntSaIS0_EE3endEv( %"struct.std::vector<BigInt,std::allocator<BigInt> >"* null, i32 %n_i_n_i, i32 29 )
402 to label %invcont17 unwind label %meshBB336 ; <%struct.BigInt*> [#uses=0]
403
404cond_next.unwind_crit_edge: ; preds = %bb_main
405 br label %bb_main
406
407invcont17: ; preds = %cond_next.fragment, %bb_main
408 br label %bb_main
409
410invcont17.normaldest917: ; No predecessors!
411 %tmp23 = invoke %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc( %"struct.std::basic_ostream<char,std::char_traits<char> >"* null, i8* getelementptr ([6 x i8]* @.str13, i32 0, i32 0) )
412 to label %invcont17.normaldest unwind label %meshBB318 ; <%"struct.std::basic_ostream<char,std::char_traits<char> >"*> [#uses=1]
413
414invcont17.unwind_crit_edge: ; preds = %bb_main
415 br label %bb_main
416
417invcont22: ; preds = %bb_main
418 br label %bb_main
419
420invcont22.fragment: ; preds = %bb_main
421 %tmp26 = invoke %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZNSolsEm( %"struct.std::basic_ostream<char,std::char_traits<char> >"* undef, i32 %n_i_n_i )
422 to label %invcont25 unwind label %meshBB319 ; <%"struct.std::basic_ostream<char,std::char_traits<char> >"*> [#uses=1]
423
424invcont22.unwind_crit_edge: ; preds = %bb_main
425 br label %bb_main
426
427invcont25: ; preds = %invcont22.fragment, %bb_main
428 br label %bb_main
429
430invcont25.normaldest: ; No predecessors!
431 %tmp2918 = invoke %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc( %"struct.std::basic_ostream<char,std::char_traits<char> >"* %tmp26, i8* getelementptr ([5 x i8]* @.str14, i32 0, i32 0) )
432 to label %invcont28 unwind label %invcont25.unwind_crit_edge ; <%"struct.std::basic_ostream<char,std::char_traits<char> >"*> [#uses=0]
433
434invcont25.unwind_crit_edge: ; preds = %invcont25.normaldest, %bb_main
435 br label %bb_main
436
437invcont25.unwind_crit_edge.unwinddest: ; No predecessors!
438 br label %bb_main
439
440invcont28: ; preds = %invcont25.normaldest, %bb_main
441 br label %bb_main
442
443invcont28.normaldest: ; No predecessors!
444 br label %bb_main
445
446invcont28.fragment: ; preds = %bb_main
447 %tmp311 = invoke %"struct.std::basic_ostream<char,std::char_traits<char> >"* @___ZlsRSoRK6BigInt___ZN9__gnu_cxx13new_allocatorI6BigIntE10deallocateEPS1_j( i32 32, %"struct.std::basic_ostream<char,std::char_traits<char> >"* undef, %struct.BigInt* undef, %struct.__false_type* null, i32 0 )
448 to label %invcont30 unwind label %meshBB322 ; <%"struct.std::basic_ostream<char,std::char_traits<char> >"*> [#uses=0]
449
450invcont28.unwind_crit_edge: ; preds = %bb_main
451 br label %bb_main
452
453invcont30: ; preds = %invcont28.fragment, %bb_main
454 br label %bb_main
455
456invcont30.normaldest: ; No predecessors!
457 br label %bb_main
458
459invcont30.fragment: ; preds = %bb_main
460 %tmp34 = invoke %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc( %"struct.std::basic_ostream<char,std::char_traits<char> >"* undef, i8* getelementptr ([2 x i8]* @.str15, i32 0, i32 0) )
461 to label %meshBB26 unwind label %invcont30.unwind_crit_edge ; <%"struct.std::basic_ostream<char,std::char_traits<char> >"*> [#uses=0]
462
463invcont30.unwind_crit_edge: ; preds = %invcont30.fragment, %bb_main
464 br label %bb_main
465
466invcont30.unwind_crit_edge.unwinddest: ; No predecessors!
467 br label %bb_main
468
469invcont33: ; preds = %bb_main
470 invoke void @_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv( %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* null sret , %"struct.std::ostringstream"* null )
471 to label %invcont36 unwind label %invcont33.unwind_crit_edge
472
473invcont33.unwind_crit_edge: ; preds = %invcont33, %bb_main
474 br label %bb_main
475
476invcont33.unwind_crit_edge.unwinddest: ; No predecessors!
477 br label %bb_main
478
479invcont36: ; preds = %invcont33, %bb_main
480 br label %bb_main
481
482invcont36.normaldest: ; No predecessors!
483 %tmp42 = invoke %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E( %"struct.std::basic_ostream<char,std::char_traits<char> >"* @_ZSt4cout, %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* null )
484 to label %invcont41 unwind label %meshBB338 ; <%"struct.std::basic_ostream<char,std::char_traits<char> >"*> [#uses=0]
485
486unwind37: ; preds = %bb_main
487 br label %bb_main
488
489unwind37.fragment: ; preds = %bb_main
490 invoke void @_ZNSsD1Ev( %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* null )
491 to label %meshBB330 unwind label %meshBB22
492
493unwind37.nofilter_crit_edge: ; preds = %bb_main
494 br label %bb_main
495
496invcont41: ; preds = %invcont36.normaldest, %bb_main
497 br label %bb_main
498
499invcont41.normaldest: ; No predecessors!
500 br label %bb_main
501
502invcont41.fragment: ; preds = %bb_main
503 invoke void @_ZNSsD1Ev( %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* null )
504 to label %meshBB23 unwind label %meshBB29
505
506unwind43: ; preds = %bb_main
507 br label %bb_main
508
509unwind43.fragment313: ; preds = %bb_main
510 br label %bb_main
511
512unwind43.fragment: ; preds = %bb_main
513 br label %bb_main
514
515unwind43.fragment.fragment: ; preds = %bb_main
516 br label %bb_main
517
518unwind43.nofilter_crit_edge: ; preds = %bb_main
519 br label %bb_main
520
521invcont47: ; preds = %bb_main
522 invoke void @_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev( %"struct.std::ostringstream"* null )
523 to label %invcont70 unwind label %meshBB28
524
525filter19: ; preds = %bb_main
526 br label %UnifiedUnreachableBlock
527
528nofilter: ; preds = %bb_main
529 br label %bb_main
530
531nofilter.fragment: ; preds = %bb_main
532 invoke void @_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev( %"struct.std::ostringstream"* null )
533 to label %nofilter.Unwind_crit_edge unwind label %meshBB
534
535nofilter.Unwind_crit_edge: ; preds = %nofilter.fragment, %bb_main
536 br label %bb_main
537
538nofilter.Unwind_crit_edge.normaldest: ; No predecessors!
539 br label %bb_main
540
541unwind53: ; preds = %bb_main
542 br label %bb_main
543
544unwind53.fragment314: ; preds = %bb_main
545 br label %bb_main
546
547unwind53.fragment: ; preds = %bb_main
548 br label %bb_main
549
550unwind53.fragment.fragment: ; preds = %bb_main
551 br label %bb_main
552
553unwind53.nofilter_crit_edge: ; preds = %bb_main
554 br label %bb_main
555
556filter62: ; preds = %bb_main
557 br label %UnifiedUnreachableBlock
558
559unwind66: ; preds = %bb_main
560 br label %bb_main
561
562unwind66.fragment315: ; preds = %bb_main
563 br label %bb_main
564
565unwind66.fragment: ; preds = %bb_main
566 br label %bb_main
567
568unwind66.fragment.fragment: ; preds = %bb_main
569 br label %bb_main
570
571unwind66.Unwind_crit_edge: ; preds = %bb_main
572 br label %bb_main
573
574invcont70: ; preds = %invcont47, %bb_main
575 br label %bb_main
576
577invcont70.normaldest: ; No predecessors!
578 br label %UnifiedReturnBlock
579
580filter75: ; preds = %bb_main
581 br label %UnifiedUnreachableBlock
582
583unwind78: ; preds = %bb_main
584 br label %bb_main
585
586unwind78.fragment316: ; preds = %bb_main
587 br label %bb_main
588
589unwind78.fragment: ; preds = %bb_main
590 br label %bb_main
591
592unwind78.fragment.fragment: ; preds = %bb_main
593 br label %bb_main
594
595unwind78.Unwind_crit_edge: ; preds = %bb_main
596 br label %bb_main
597
598filter87: ; preds = %bb_main
599 br label %UnifiedUnreachableBlock
600
601Unwind20: ; preds = %bb_main
602 br label %bb_main
603
604Unwind20.fragment: ; preds = %bb_main
605 br label %UnifiedUnreachableBlock
606
607meshBB: ; preds = %nofilter.fragment, %bb_main
608 br label %bb_main
609
610meshBB.unwinddest: ; No predecessors!
611 br label %bb_main
612
613meshBB.fragment: ; preds = %bb_main
614 br label %bb_main
615
616meshBB22: ; preds = %unwind37.fragment, %bb_main
617 br label %bb_main
618
619meshBB22.unwinddest: ; No predecessors!
620 br label %bb_main
621
622meshBB22.fragment: ; preds = %bb_main
623 br label %bb_main
624
625entry1.fragment.normaldest: ; preds = %entry1.fragment.fragment, %bb_main
626 br label %bb_main
627
628entry1.fragment.normaldest.normaldest: ; No predecessors!
629 br label %bb_main
630
631meshBB23: ; preds = %invcont41.fragment, %bb_main
632 br label %bb_main
633
634meshBB23.normaldest: ; No predecessors!
635 br label %bb_main
636
637meshBB23.fragment: ; preds = %bb_main
638 br label %bb_main
639
640meshBB24: ; preds = %unwind10.fragment.fragment, %bb_main
641 br label %bb_main
642
643meshBB24.unwinddest: ; No predecessors!
644 br label %bb_main
645
646meshBB24.fragment: ; preds = %bb_main
647 br label %bb_main
648
649meshBB25: ; preds = %bb_main
650 br label %bb_main
651
652meshBB25.fragment: ; preds = %bb_main
653 br label %bb_main
654
655meshBB26: ; preds = %invcont30.fragment, %bb_main
656 br label %bb_main
657
658meshBB26.normaldest: ; No predecessors!
659 br label %bb_main
660
661meshBB26.fragment: ; preds = %bb_main
662 br label %bb_main
663
664meshBB27: ; preds = %bb_main
665 br label %bb_main
666
667meshBB27.fragment: ; preds = %bb_main
668 br label %bb_main
669
670meshBB28: ; preds = %invcont47, %bb_main
671 br label %bb_main
672
673meshBB28.unwinddest: ; No predecessors!
674 br label %bb_main
675
676meshBB28.fragment: ; preds = %bb_main
677 br label %bb_main
678
679meshBB29: ; preds = %invcont41.fragment, %bb_main
680 br label %bb_main
681
682meshBB29.unwinddest: ; No predecessors!
683 br label %bb_main
684
685meshBB29.fragment: ; preds = %bb_main
686 br label %bb_main
687
688meshBB30: ; preds = %invcont12.fragment, %bb_main
689 br label %bb_main
690
691meshBB30.normaldest: ; No predecessors!
692 br label %bb_main
693
694meshBB30.fragment: ; preds = %bb_main
695 br label %bb_main
696
697meshBB31: ; preds = %bb_main
698 br label %bb_main
699
700meshBB31.fragment: ; preds = %bb_main
701 br label %bb_main
702
703meshBB32: ; preds = %bb_main
704 br label %bb_main
705
706meshBB32.fragment: ; preds = %bb_main
707 br label %bb_main
708
709meshBB33: ; preds = %bb_main
710 br label %bb_main
711
712meshBB33.fragment: ; preds = %bb_main
713 br label %bb_main
714
715meshBB34: ; preds = %bb_main
716 br label %bb_main
717
718meshBB34.fragment: ; preds = %bb_main
719 br label %bb_main
720
721meshBB35: ; preds = %bb_main
722 br label %bb_main
723
724meshBB35.fragment: ; preds = %bb_main
725 br label %bb_main
726
727meshBB36: ; preds = %bb_main
728 br label %bb_main
729
730meshBB36.fragment: ; preds = %bb_main
731 br label %bb_main
732
733meshBB37: ; preds = %invcont.fragment, %bb_main
734 br label %bb_main
735
736meshBB37.unwinddest: ; No predecessors!
737 br label %bb_main
738
739meshBB37.fragment: ; preds = %bb_main
740 br label %bb_main
741
742meshBB317: ; preds = %bb_main
743 br label %bb_main
744
745meshBB318: ; preds = %invcont17.normaldest917, %bb_main
746 br label %bb_main
747
748meshBB318.unwinddest: ; No predecessors!
749 br label %bb_main
750
751meshBB319: ; preds = %invcont22.fragment, %bb_main
752 br label %bb_main
753
754meshBB319.unwinddest: ; No predecessors!
755 br label %bb_main
756
757meshBB320: ; preds = %entry1.fragment.fragment, %bb_main
758 br label %bb_main
759
760meshBB320.unwinddest: ; No predecessors!
761 br label %bb_main
762
763meshBB321: ; preds = %bb_main
764 br label %bb_main
765
766meshBB322: ; preds = %invcont28.fragment, %bb_main
767 br label %bb_main
768
769meshBB322.unwinddest: ; No predecessors!
770 br label %bb_main
771
772meshBB323: ; preds = %cond_true, %bb_main
773 br label %bb_main
774
775meshBB323.normaldest: ; No predecessors!
776 br label %bb_main
777
778meshBB324: ; preds = %bb_main
779 br label %bb_main
780
781meshBB325: ; preds = %entry.fragment.fragment, %bb_main
782 br label %bb_main
783
784meshBB325.unwinddest: ; No predecessors!
785 br label %bb_main
786
787meshBB326: ; preds = %bb_main
788 br label %bb_main
789
790meshBB327: ; preds = %bb_main
791 br label %bb_main
792
793meshBB328: ; preds = %bb_main
794 br label %bb_main
795
796meshBB329: ; preds = %unwind10.fragment.fragment, %bb_main
797 br label %bb_main
798
799meshBB329.normaldest: ; No predecessors!
800 br label %bb_main
801
802meshBB330: ; preds = %unwind37.fragment, %bb_main
803 br label %bb_main
804
805meshBB330.normaldest: ; No predecessors!
806 br label %bb_main
807
808meshBB331: ; preds = %bb_main
809 br label %bb_main
810
811meshBB332: ; preds = %bb_main
812 br label %bb_main
813
814meshBB333: ; preds = %bb_main
815 br label %bb_main
816
817meshBB334: ; preds = %bb_main
818 br label %bb_main
819
820meshBB335: ; preds = %bb_main
821 br label %bb_main
822
823meshBB336: ; preds = %cond_next.fragment, %bb_main
824 br label %bb_main
825
826meshBB336.unwinddest: ; No predecessors!
827 br label %bb_main
828
829meshBB337: ; preds = %invcont12.fragment, %bb_main
830 br label %bb_main
831
832meshBB337.unwinddest: ; No predecessors!
833 br label %bb_main
834
835meshBB338: ; preds = %invcont36.normaldest, %bb_main
836 br label %bb_main
837
838meshBB338.unwinddest: ; No predecessors!
839 br label %bb_main
840
841invcont17.normaldest: ; preds = %invcont17.normaldest917, %bb_main
842 br label %bb_main
843
844invcont17.normaldest.normaldest: ; No predecessors!
845 store %"struct.std::basic_ostream<char,std::char_traits<char> >"* %tmp23, %"struct.std::basic_ostream<char,std::char_traits<char> >"** undef
846 br label %bb_main
847
848meshBB339: ; preds = %bb_main
849 br label %bb_main
850
851meshBB340: ; preds = %entry.fragment.fragment, %bb_main
852 br label %bb_main
853
854meshBB340.normaldest: ; No predecessors!
855 br label %bb_main
856
857meshBB341: ; preds = %bb_main
858 br label %bb_main
859
860meshBB342: ; preds = %bb_main
861 br label %bb_main
862
863meshBB343: ; preds = %bb_main
864 br label %bb_main
865
866meshBB344: ; preds = %bb_main
867 br label %bb_main
868
869meshBB345: ; preds = %invcont14.normaldest, %bb_main
870 br label %bb_main
871
872meshBB345.unwinddest: ; No predecessors!
873 br label %bb_main
874
875meshBB346: ; preds = %bb_main
876 br label %bb_main
877
878meshBB347: ; preds = %bb_main
879 br label %bb_main
880
881meshBB348: ; preds = %bb_main
882 br label %bb_main
883
884meshBB349: ; preds = %bb_main
885 br label %bb_main
886
887UnifiedUnreachableBlock: ; preds = %Unwind20.fragment, %filter87, %filter75, %filter62, %filter19, %Unwind.fragment, %filter
888 unreachable
889
890UnifiedReturnBlock: ; preds = %invcont70.normaldest, %invcont15.normaldest
891 ret void
892}