[Alignment][NFC] Use Align with TargetLowering::setMinFunctionAlignment
[llvm-core.git] / test / CodeGen / X86 / scev-interchange.ll
blob9cbb462e47da41a68da65deead0ae43a6e5f2ca2
1 ; RUN: llc < %s -mtriple=x86_64-linux
3 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
4         %"struct.DataOutBase::GmvFlags" = type { i32 }
5         %"struct.FE_DGPNonparametric<3>" = type { [1156 x i8], i32, %"struct.PolynomialSpace<1>" }
6         %"struct.FiniteElementData<1>" = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
7         %struct.Line = type { [2 x i32] }
8         %"struct.PolynomialSpace<1>" = type { %"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >", i32, %"struct.std::vector<int,std::allocator<int> >", %"struct.std::vector<int,std::allocator<int> >" }
9         %"struct.Polynomials::Polynomial<double>" = type { %struct.Subscriptor, %"struct.std::vector<double,std::allocator<double> >" }
10         %struct.Subscriptor = type { i32 (...)**, i32, %"struct.std::type_info"* }
11         %"struct.TableBase<2,double>" = type { %struct.Subscriptor, double*, i32, %"struct.TableIndices<2>" }
12         %"struct.TableIndices<2>" = type { %struct.Line }
13         %"struct.std::_Bit_const_iterator" = type { %"struct.std::_Bit_iterator_base" }
14         %"struct.std::_Bit_iterator_base" = type { i64*, i32 }
15         %"struct.std::_Bvector_base<std::allocator<bool> >" = type { %"struct.std::_Bvector_base<std::allocator<bool> >::_Bvector_impl" }
16         %"struct.std::_Bvector_base<std::allocator<bool> >::_Bvector_impl" = type { %"struct.std::_Bit_const_iterator", %"struct.std::_Bit_const_iterator", i64* }
17         %"struct.std::_Vector_base<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >" = type { %"struct.std::_Vector_base<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >::_Vector_impl" }
18         %"struct.std::_Vector_base<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >::_Vector_impl" = type { %"struct.Polynomials::Polynomial<double>"*, %"struct.Polynomials::Polynomial<double>"*, %"struct.Polynomials::Polynomial<double>"* }
19         %"struct.std::_Vector_base<double,std::allocator<double> >" = type { %"struct.std::_Vector_base<double,std::allocator<double> >::_Vector_impl" }
20         %"struct.std::_Vector_base<double,std::allocator<double> >::_Vector_impl" = type { double*, double*, double* }
21         %"struct.std::_Vector_base<int,std::allocator<int> >" = type { %"struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" }
22         %"struct.std::_Vector_base<int,std::allocator<int> >::_Vector_impl" = type { i32*, i32*, i32* }
23         %"struct.std::_Vector_base<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >" = type { %"struct.std::_Vector_base<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >::_Vector_impl" }
24         %"struct.std::_Vector_base<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >::_Vector_impl" = type { %"struct.std::vector<bool,std::allocator<bool> >"*, %"struct.std::vector<bool,std::allocator<bool> >"*, %"struct.std::vector<bool,std::allocator<bool> >"* }
25         %"struct.std::type_info" = type { i32 (...)**, i8* }
26         %"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >" = type { %"struct.std::_Vector_base<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >" }
27         %"struct.std::vector<bool,std::allocator<bool> >" = type { %"struct.std::_Bvector_base<std::allocator<bool> >" }
28         %"struct.std::vector<double,std::allocator<double> >" = type { %"struct.std::_Vector_base<double,std::allocator<double> >" }
29         %"struct.std::vector<int,std::allocator<int> >" = type { %"struct.std::_Vector_base<int,std::allocator<int> >" }
30         %"struct.std::vector<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >" = type { %"struct.std::_Vector_base<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >" }
32 declare void @_Unwind_Resume(i8*)
34 declare i8* @_Znwm(i64)
36 declare fastcc void @_ZNSt6vectorIjSaIjEEaSERKS1_(%"struct.std::vector<int,std::allocator<int> >"*, %"struct.std::vector<int,std::allocator<int> >"*)
38 declare fastcc void @_ZN9TableBaseILi2EdE6reinitERK12TableIndicesILi2EE(%"struct.TableBase<2,double>"* nocapture, i32, i32)
40 declare fastcc void @_ZNSt6vectorIbSaIbEEC1EmRKbRKS0_(%"struct.std::vector<bool,std::allocator<bool> >"* nocapture, i64, i8* nocapture)
42 declare fastcc void @_ZNSt6vectorIS_IbSaIbEESaIS1_EEC2EmRKS1_RKS2_(%"struct.std::vector<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >"* nocapture, i64, %"struct.std::vector<bool,std::allocator<bool> >"* nocapture)
44 declare fastcc void @_ZNSt6vectorIN11Polynomials10PolynomialIdEESaIS2_EED1Ev(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* nocapture)
46 declare fastcc void @_ZN24TensorProductPolynomialsILi3EEC2IN11Polynomials10PolynomialIdEEEERKSt6vectorIT_SaIS6_EE(%"struct.PolynomialSpace<1>"* nocapture, %"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* nocapture)
48 declare fastcc void @_ZN7FE_PolyI24TensorProductPolynomialsILi3EELi3EEC2EjRKS1_RK17FiniteElementDataILi3EERKSt6vectorIbSaIbEERKS9_ISB_SaISB_EE(%"struct.FE_DGPNonparametric<3>"*, i32, %"struct.PolynomialSpace<1>"* nocapture, %"struct.FiniteElementData<1>"* nocapture, %"struct.std::vector<bool,std::allocator<bool> >"* nocapture, %"struct.std::vector<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >"* nocapture)
50 declare fastcc void @_ZN11FE_Q_Helper12_GLOBAL__N_116invert_numberingERKSt6vectorIjSaIjEE(%"struct.std::vector<int,std::allocator<int> >"* noalias nocapture sret, %"struct.std::vector<int,std::allocator<int> >"* nocapture)
52 declare fastcc void @_ZN4FE_QILi3EE14get_dpo_vectorEj(%"struct.std::vector<int,std::allocator<int> >"* noalias nocapture sret, i32)
54 define fastcc void @_ZN4FE_QILi3EEC1Ej(i32 %degree) personality i32 (...)* @__gxx_personality_v0 {
55 entry:
56         invoke fastcc void @_ZNSt6vectorIbSaIbEEC1EmRKbRKS0_(%"struct.std::vector<bool,std::allocator<bool> >"* undef, i64 1, i8* undef)
57                         to label %invcont.i unwind label %lpad.i
59 invcont.i:              ; preds = %entry
60         invoke fastcc void @_ZN4FE_QILi3EE14get_dpo_vectorEj(%"struct.std::vector<int,std::allocator<int> >"* noalias sret undef, i32 %degree)
61                         to label %invcont1.i unwind label %lpad120.i
63 invcont1.i:             ; preds = %invcont.i
64         invoke fastcc void @_ZNSt6vectorIS_IbSaIbEESaIS1_EEC2EmRKS1_RKS2_(%"struct.std::vector<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >"* undef, i64 undef, %"struct.std::vector<bool,std::allocator<bool> >"* undef)
65                         to label %invcont3.i unwind label %lpad124.i
67 invcont3.i:             ; preds = %invcont1.i
68         invoke fastcc void @_ZN4FE_QILi3EE14get_dpo_vectorEj(%"struct.std::vector<int,std::allocator<int> >"* noalias sret undef, i32 %degree)
69                         to label %invcont4.i unwind label %lpad128.i
71 invcont4.i:             ; preds = %invcont3.i
72         invoke fastcc void @_ZNSt6vectorIbSaIbEEC1EmRKbRKS0_(%"struct.std::vector<bool,std::allocator<bool> >"* undef, i64 undef, i8* undef)
73                         to label %invcont6.i unwind label %lpad132.i
75 invcont6.i:             ; preds = %invcont4.i
76         invoke fastcc void @_ZN4FE_QILi3EE14get_dpo_vectorEj(%"struct.std::vector<int,std::allocator<int> >"* noalias sret undef, i32 %degree)
77                         to label %invcont7.i unwind label %lpad136.i
79 invcont7.i:             ; preds = %invcont6.i
80         invoke fastcc void @_ZN11Polynomials19LagrangeEquidistant23generate_complete_basisEj(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* noalias sret undef, i32 %degree)
81                         to label %invcont9.i unwind label %lpad140.i
83 invcont9.i:             ; preds = %invcont7.i
84         invoke fastcc void @_ZN24TensorProductPolynomialsILi3EEC2IN11Polynomials10PolynomialIdEEEERKSt6vectorIT_SaIS6_EE(%"struct.PolynomialSpace<1>"* undef, %"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* undef)
85                         to label %invcont10.i unwind label %lpad144.i
87 invcont10.i:            ; preds = %invcont9.i
88         invoke fastcc void @_ZN7FE_PolyI24TensorProductPolynomialsILi3EELi3EEC2EjRKS1_RK17FiniteElementDataILi3EERKSt6vectorIbSaIbEERKS9_ISB_SaISB_EE(%"struct.FE_DGPNonparametric<3>"* undef, i32 %degree, %"struct.PolynomialSpace<1>"* undef, %"struct.FiniteElementData<1>"* undef, %"struct.std::vector<bool,std::allocator<bool> >"* undef, %"struct.std::vector<std::vector<bool, std::allocator<bool> >,std::allocator<std::vector<bool, std::allocator<bool> > > >"* undef)
89                         to label %bb14.i unwind label %lpad148.i
91 bb14.i:         ; preds = %invcont10.i
92         br i1 false, label %bb3.i164.i, label %bb.i.i.i.i160.i
94 bb.i.i.i.i160.i:                ; preds = %bb14.i
95         unreachable
97 bb3.i164.i:             ; preds = %bb14.i
98         br i1 undef, label %bb10.i168.i, label %bb.i.i.i20.i166.i
100 bb.i.i.i20.i166.i:              ; preds = %bb3.i164.i
101         unreachable
103 bb10.i168.i:            ; preds = %bb3.i164.i
104         invoke fastcc void @_ZNSt6vectorIN11Polynomials10PolynomialIdEESaIS2_EED1Ev(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* undef)
105                         to label %bb21.i unwind label %lpad144.i
107 bb21.i:         ; preds = %bb10.i168.i
108         invoke fastcc void @_ZNSt6vectorIN11Polynomials10PolynomialIdEESaIS2_EED1Ev(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* undef)
109                         to label %bb28.i unwind label %lpad140.i
111 bb28.i:         ; preds = %bb21.i
112         br i1 undef, label %bb35.i, label %bb.i.i.i175.i
114 bb.i.i.i175.i:          ; preds = %bb28.i
115         br label %bb35.i
117 bb35.i:         ; preds = %bb.i.i.i175.i, %bb28.i
118         br i1 undef, label %bb42.i, label %bb.i.i.i205.i
120 bb.i.i.i205.i:          ; preds = %bb35.i
121         unreachable
123 bb42.i:         ; preds = %bb35.i
124         br i1 undef, label %bb47.i, label %bb.i.i.i213.i
126 bb.i.i.i213.i:          ; preds = %bb42.i
127         unreachable
129 bb47.i:         ; preds = %bb42.i
130         br i1 undef, label %bb59.i, label %bb.i.i.i247.i
132 bb.i.i.i247.i:          ; preds = %bb47.i
133         unreachable
135 bb59.i:         ; preds = %bb47.i
136         br i1 undef, label %bb66.i, label %bb.i.i.i255.i
138 bb.i.i.i255.i:          ; preds = %bb59.i
139         unreachable
141 bb66.i:         ; preds = %bb59.i
142         br i1 undef, label %bb71.i, label %bb.i.i.i262.i
144 bb.i.i.i262.i:          ; preds = %bb66.i
145         br label %bb71.i
147 bb71.i:         ; preds = %bb.i.i.i262.i, %bb66.i
148         %tmp11.i.i29.i.i.i.i.i.i = invoke i8* @_Znwm(i64 12)
149                         to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i unwind label %lpad.i.i.i.i.i.i            ; <i8*> [#uses=0]
151 lpad.i.i.i.i.i.i:               ; preds = %bb71.i
152         %exn.i.i.i.i.i.i = landingpad {i8*, i32}
153                  cleanup
154         unreachable
156 _ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i:            ; preds = %bb71.i
157         br i1 undef, label %_ZNSt6vectorIjSaIjEED1Ev.exit.i.i, label %bb.i.i.i.i94.i
159 bb.i.i.i.i94.i:         ; preds = %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i
160         unreachable
162 _ZNSt6vectorIjSaIjEED1Ev.exit.i.i:              ; preds = %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i.i
163         %tmp11.i.i29.i.i.i.i5.i.i = invoke i8* @_Znwm(i64 undef)
164                         to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i12.i.i unwind label %lpad.i.i.i.i8.i.i         ; <i8*> [#uses=0]
166 lpad.i.i.i.i8.i.i:              ; preds = %_ZNSt6vectorIjSaIjEED1Ev.exit.i.i
167         %exn.i.i.i.i8.i.i = landingpad {i8*, i32}
168                  cleanup
169         invoke void @_Unwind_Resume(i8* undef)
170                         to label %.noexc.i9.i.i unwind label %lpad.i19.i.i
172 .noexc.i9.i.i:          ; preds = %lpad.i.i.i.i8.i.i
173         unreachable
175 _ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i12.i.i:          ; preds = %_ZNSt6vectorIjSaIjEED1Ev.exit.i.i
176         br i1 undef, label %bb50.i.i.i, label %bb.i.i.i.i.i.i.i.i.i.i
178 bb.i.i.i.i.i.i.i.i.i.i:         ; preds = %bb.i.i.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i12.i.i
179         br i1 undef, label %bb50.i.i.i, label %bb.i.i.i.i.i.i.i.i.i.i
181 bb50.i.i.i:             ; preds = %bb.i.i.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i12.i.i
182         invoke fastcc void @_ZN11FE_Q_Helper12_GLOBAL__N_116invert_numberingERKSt6vectorIjSaIjEE(%"struct.std::vector<int,std::allocator<int> >"* noalias sret undef, %"struct.std::vector<int,std::allocator<int> >"* undef)
183                         to label %bb83.i unwind label %lpad188.i
185 lpad.i19.i.i:           ; preds = %lpad.i.i.i.i8.i.i
186         %exn.i19.i.i = landingpad {i8*, i32}
187                  cleanup
188         unreachable
190 bb83.i:         ; preds = %bb50.i.i.i
191         br i1 undef, label %invcont84.i, label %bb.i.i.i221.i
193 bb.i.i.i221.i:          ; preds = %bb83.i
194         unreachable
196 invcont84.i:            ; preds = %bb83.i
197         %tmp11.i.i29.i.i.i.i.i = invoke i8* @_Znwm(i64 undef)
198                         to label %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i unwind label %lpad.i.i.i.i315.i             ; <i8*> [#uses=0]
200 lpad.i.i.i.i315.i:              ; preds = %invcont84.i
201         %exn.i.i.i.i315.i = landingpad {i8*, i32}
202                  cleanup
203         invoke void @_Unwind_Resume(i8* undef)
204                         to label %.noexc.i316.i unwind label %lpad.i352.i
206 .noexc.i316.i:          ; preds = %lpad.i.i.i.i315.i
207         unreachable
209 _ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i:              ; preds = %invcont84.i
210         br i1 undef, label %bb50.i.i, label %bb.i.i.i.i.i.i.i.i320.i
212 bb.i.i.i.i.i.i.i.i320.i:                ; preds = %bb.i.i.i.i.i.i.i.i320.i, %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i
213         br i1 undef, label %bb50.i.i, label %bb.i.i.i.i.i.i.i.i320.i
215 bb50.i.i:               ; preds = %bb.i.i.i.i.i.i.i.i320.i, %_ZNSt12_Vector_baseIjSaIjEEC2EmRKS0_.exit.i.i.i.i
216         invoke fastcc void @_ZN11FE_Q_Helper12_GLOBAL__N_116invert_numberingERKSt6vectorIjSaIjEE(%"struct.std::vector<int,std::allocator<int> >"* noalias sret undef, %"struct.std::vector<int,std::allocator<int> >"* undef)
217                         to label %invcont86.i unwind label %lpad200.i
219 lpad.i352.i:            ; preds = %lpad.i.i.i.i315.i
220         %exn.i352.i = landingpad {i8*, i32}
221                  cleanup
222         unreachable
224 invcont86.i:            ; preds = %bb50.i.i
225         invoke fastcc void @_ZNSt6vectorIjSaIjEEaSERKS1_(%"struct.std::vector<int,std::allocator<int> >"* undef, %"struct.std::vector<int,std::allocator<int> >"* undef)
226                         to label %.noexc380.i unwind label %lpad204.i
228 .noexc380.i:            ; preds = %invcont86.i
229         br i1 undef, label %bb100.i, label %bb.i.i.i198.i
231 bb.i.i.i198.i:          ; preds = %.noexc380.i
232         unreachable
234 bb100.i:                ; preds = %.noexc380.i
235         br i1 undef, label %invcont101.i, label %bb.i.i.i190.i
237 bb.i.i.i190.i:          ; preds = %bb100.i
238         unreachable
240 invcont101.i:           ; preds = %bb100.i
241         invoke fastcc void @_ZN9TableBaseILi2EdE6reinitERK12TableIndicesILi2EE(%"struct.TableBase<2,double>"* undef, i32 undef, i32 undef)
242                         to label %_ZN10FullMatrixIdEC1Ejj.exit.i.i unwind label %lpad.i.i.i.i.i
244 lpad.i.i.i.i.i:         ; preds = %invcont101.i
245         %exn.i.i.i.i.i = landingpad {i8*, i32}
246                  cleanup
247         unreachable
249 _ZN10FullMatrixIdEC1Ejj.exit.i.i:               ; preds = %invcont101.i
250         invoke fastcc void @_ZN9TableBaseILi2EdE6reinitERK12TableIndicesILi2EE(%"struct.TableBase<2,double>"* undef, i32 undef, i32 undef)
251                         to label %_ZN10FullMatrixIdEC1Ejj.exit28.i.i unwind label %lpad.i.i.i27.i.i
253 lpad.i.i.i27.i.i:               ; preds = %_ZN10FullMatrixIdEC1Ejj.exit.i.i
254         %exn.i.i.i27.i.i = landingpad {i8*, i32}
255                  cleanup
256         invoke void @_Unwind_Resume(i8* undef)
257                         to label %.noexc.i.i unwind label %lpad.i.i
259 .noexc.i.i:             ; preds = %lpad.i.i.i27.i.i
260         unreachable
262 _ZN10FullMatrixIdEC1Ejj.exit28.i.i:             ; preds = %_ZN10FullMatrixIdEC1Ejj.exit.i.i
263         br i1 undef, label %bb58.i.i, label %bb.i.i.i304.i.i
265 bb.i.i.i304.i.i:                ; preds = %_ZN10FullMatrixIdEC1Ejj.exit28.i.i
266         unreachable
268 bb58.i.i:               ; preds = %_ZN10FullMatrixIdEC1Ejj.exit28.i.i
269         br i1 false, label %bb.i191.i, label %bb.i.i.i297.i.i
271 bb.i.i.i297.i.i:                ; preds = %bb58.i.i
272         unreachable
274 lpad.i.i:               ; preds = %lpad.i.i.i27.i.i
275         %exn.i.i = landingpad {i8*, i32}
276                  cleanup
277         unreachable
279 bb.i191.i:              ; preds = %.noexc232.i, %bb58.i.i
280         invoke fastcc void @_ZN9TableBaseILi2EdE6reinitERK12TableIndicesILi2EE(%"struct.TableBase<2,double>"* undef, i32 undef, i32 undef)
281                         to label %.noexc232.i unwind label %lpad196.i
283 .noexc232.i:            ; preds = %bb.i191.i
284         br i1 undef, label %bb29.loopexit.i.i, label %bb.i191.i
286 bb7.i215.i:             ; preds = %bb9.i216.i
287         br i1 undef, label %bb16.preheader.i.i, label %bb8.i.i
289 bb8.i.i:                ; preds = %bb7.i215.i
290         %tmp60.i.i = add i32 %0, 1              ; <i32> [#uses=1]
291         br label %bb9.i216.i
293 bb9.i216.i:             ; preds = %bb29.loopexit.i.i, %bb8.i.i
294         %0 = phi i32 [ 0, %bb29.loopexit.i.i ], [ %tmp60.i.i, %bb8.i.i ]                ; <i32> [#uses=2]
295         br i1 undef, label %bb7.i215.i, label %bb16.preheader.i.i
297 bb15.i.i:               ; preds = %bb16.preheader.i.i, %bb15.i.i
298         %j1.0212.i.i = phi i32 [ %1, %bb15.i.i ], [ 0, %bb16.preheader.i.i ]            ; <i32> [#uses=2]
299         %tmp6.i.i195.i.i = load i32, i32* undef, align 4                ; <i32> [#uses=1]
300         %tmp231.i.i = mul i32 %0, %tmp6.i.i195.i.i              ; <i32> [#uses=1]
301         %tmp13.i197.i.i = add i32 %j1.0212.i.i, %tmp231.i.i             ; <i32> [#uses=0]
302         %1 = add i32 %j1.0212.i.i, 1            ; <i32> [#uses=1]
303         br i1 undef, label %bb15.i.i, label %bb17.i.i
305 bb17.i.i:               ; preds = %bb16.preheader.i.i, %bb15.i.i
306         br label %bb16.preheader.i.i
308 bb16.preheader.i.i:             ; preds = %bb17.i.i, %bb9.i216.i, %bb7.i215.i
309         br i1 undef, label %bb17.i.i, label %bb15.i.i
311 bb29.loopexit.i.i:              ; preds = %.noexc232.i
312         br label %bb9.i216.i
314 lpad.i:         ; preds = %entry
315         %exn.i = landingpad {i8*, i32}
316                  cleanup
317         unreachable
319 lpad120.i:              ; preds = %invcont.i
320         %exn120.i = landingpad {i8*, i32}
321                  cleanup
322         unreachable
324 lpad124.i:              ; preds = %invcont1.i
325         %exn124.i = landingpad {i8*, i32}
326                  cleanup
327         unreachable
329 lpad128.i:              ; preds = %invcont3.i
330         %exn128.i = landingpad {i8*, i32}
331                  cleanup
332         unreachable
334 lpad132.i:              ; preds = %invcont4.i
335         %exn132.i = landingpad {i8*, i32}
336                  cleanup
337         unreachable
339 lpad136.i:              ; preds = %invcont6.i
340         %exn136.i = landingpad {i8*, i32}
341                  cleanup
342         unreachable
344 lpad140.i:              ; preds = %bb21.i, %invcont7.i
345         %exn140.i = landingpad {i8*, i32}
346                  cleanup
347         unreachable
349 lpad144.i:              ; preds = %bb10.i168.i, %invcont9.i
350         %exn144.i = landingpad {i8*, i32}
351                  cleanup
352         unreachable
354 lpad148.i:              ; preds = %invcont10.i
355         %exn148.i = landingpad {i8*, i32}
356                  cleanup
357         unreachable
359 lpad188.i:              ; preds = %bb50.i.i.i
360         %exn188.i = landingpad {i8*, i32}
361                  cleanup
362         unreachable
364 lpad196.i:              ; preds = %bb.i191.i
365         %exn196 = landingpad {i8*, i32}
366                  cleanup
367         unreachable
369 lpad200.i:              ; preds = %bb50.i.i
370         %exn200.i = landingpad {i8*, i32}
371                  cleanup
372         unreachable
374 lpad204.i:              ; preds = %invcont86.i
375         %exn204.i = landingpad {i8*, i32}
376                  cleanup
377         unreachable
380 declare fastcc void @_ZN11Polynomials19LagrangeEquidistant23generate_complete_basisEj(%"struct.std::vector<Polynomials::Polynomial<double>,std::allocator<Polynomials::Polynomial<double> > >"* noalias nocapture sret, i32)
382 declare i32 @__gxx_personality_v0(...)