Optimized FCMP_OEQ and FCMP_UNE for x86.
[oota-llvm.git] / test / CodeGen / X86 / 2007-12-11-FoldImpDefSpill.ll
1 ; RUN: llvm-as < %s | llc -mtriple=i686-apple-darwin | not grep IMPLICIT_DEF
2
3         %struct.__sbuf = type { i8*, i32 }
4         %struct.ggBRDF = type { i32 (...)** }
5         %"struct.ggBST<ggMaterial>" = type { %"struct.ggBSTNode<ggMaterial>"*, i32 }
6         %"struct.ggBST<ggRasterSurfaceTexture>" = type { %"struct.ggBSTNode<ggRasterSurfaceTexture>"*, i32 }
7         %"struct.ggBST<ggSolidTexture>" = type { %"struct.ggBSTNode<ggSolidTexture>"*, i32 }
8         %"struct.ggBST<ggSpectrum>" = type { %"struct.ggBSTNode<ggSpectrum>"*, i32 }
9         %"struct.ggBST<mrObjectRecord>" = type { %"struct.ggBSTNode<mrObjectRecord>"*, i32 }
10         %"struct.ggBSTNode<ggMaterial>" = type { %"struct.ggBSTNode<ggMaterial>"*, %"struct.ggBSTNode<ggMaterial>"*, %struct.ggString, %struct.ggMaterial* }
11         %"struct.ggBSTNode<ggRasterSurfaceTexture>" = type { %"struct.ggBSTNode<ggRasterSurfaceTexture>"*, %"struct.ggBSTNode<ggRasterSurfaceTexture>"*, %struct.ggString, %struct.ggRasterSurfaceTexture* }
12         %"struct.ggBSTNode<ggSolidTexture>" = type { %"struct.ggBSTNode<ggSolidTexture>"*, %"struct.ggBSTNode<ggSolidTexture>"*, %struct.ggString, %struct.ggBRDF* }
13         %"struct.ggBSTNode<ggSpectrum>" = type { %"struct.ggBSTNode<ggSpectrum>"*, %"struct.ggBSTNode<ggSpectrum>"*, %struct.ggString, %struct.ggSpectrum* }
14         %"struct.ggBSTNode<mrObjectRecord>" = type { %"struct.ggBSTNode<mrObjectRecord>"*, %"struct.ggBSTNode<mrObjectRecord>"*, %struct.ggString, %struct.mrObjectRecord* }
15         %"struct.ggDictionary<ggMaterial>" = type { %"struct.ggBST<ggMaterial>" }
16         %"struct.ggDictionary<ggRasterSurfaceTexture>" = type { %"struct.ggBST<ggRasterSurfaceTexture>" }
17         %"struct.ggDictionary<ggSolidTexture>" = type { %"struct.ggBST<ggSolidTexture>" }
18         %"struct.ggDictionary<ggSpectrum>" = type { %"struct.ggBST<ggSpectrum>" }
19         %"struct.ggDictionary<mrObjectRecord>" = type { %"struct.ggBST<mrObjectRecord>" }
20         %struct.ggHAffineMatrix3 = type { %struct.ggHMatrix3 }
21         %struct.ggHBoxMatrix3 = type { %struct.ggHAffineMatrix3 }
22         %struct.ggHMatrix3 = type { [4 x [4 x double]] }
23         %struct.ggMaterial = type { i32 (...)**, %struct.ggBRDF* }
24         %struct.ggPoint3 = type { [3 x double] }
25         %"struct.ggRGBPixel<char>" = type { [3 x i8], i8 }
26         %"struct.ggRaster<ggRGBPixel<unsigned char> >" = type { i32, i32, %"struct.ggRGBPixel<char>"* }
27         %struct.ggRasterSurfaceTexture = type { %"struct.ggRaster<ggRGBPixel<unsigned char> >"* }
28         %struct.ggSolidNoise3 = type { i32, [256 x %struct.ggPoint3], [256 x i32] }
29         %struct.ggSpectrum = type { [8 x float] }
30         %struct.ggString = type { %"struct.ggString::StringRep"* }
31         %"struct.ggString::StringRep" = type { i32, i32, [1 x i8] }
32         %"struct.ggTrain<mrPixelRenderer*>" = type { %struct.ggBRDF**, i32, i32 }
33         %struct.mrObjectRecord = type { %struct.ggHBoxMatrix3, %struct.ggHBoxMatrix3, %struct.mrSurfaceList, %struct.ggMaterial*, i32, %struct.ggRasterSurfaceTexture*, %struct.ggBRDF*, i32, i32 }
34         %struct.mrScene = type { %struct.ggSpectrum, %struct.ggSpectrum, %struct.ggBRDF*, %struct.ggBRDF*, %struct.ggBRDF*, i32, double, %"struct.ggDictionary<mrObjectRecord>", %"struct.ggDictionary<ggRasterSurfaceTexture>", %"struct.ggDictionary<ggSolidTexture>", %"struct.ggDictionary<ggSpectrum>", %"struct.ggDictionary<ggMaterial>" }
35         %struct.mrSurfaceList = type { %struct.ggBRDF, %"struct.ggTrain<mrPixelRenderer*>" }
36         %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>" = type { %"struct.std::locale::facet" }
37         %"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::__codecvt_abstract_base<char,char,__mbstate_t>"*, %"struct.std::__codecvt_abstract_base<char,char,__mbstate_t>"* }
38         %"struct.std::basic_istream<char,std::char_traits<char> >" = type { i32 (...)**, i32, %"struct.std::basic_ios<char,std::char_traits<char> >" }
39         %"struct.std::basic_ostream<char,std::char_traits<char> >" = type { i32 (...)**, %"struct.std::basic_ios<char,std::char_traits<char> >" }
40         %"struct.std::basic_streambuf<char,std::char_traits<char> >" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"struct.std::locale" }
41         %"struct.std::ctype<char>" = type { %"struct.std::locale::facet", i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }
42         %"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" }
43         %"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"struct.std::ios_base"*, i32)*, i32, i32 }
44         %"struct.std::locale" = type { %"struct.std::locale::_Impl"* }
45         %"struct.std::locale::_Impl" = type { i32, %"struct.std::locale::facet"**, i32, %"struct.std::locale::facet"**, i8** }
46         %"struct.std::locale::facet" = type { i32 (...)**, i32 }
47 @.str80 = external constant [7 x i8]            ; <[7 x i8]*> [#uses=1]
48 @.str81 = external constant [11 x i8]           ; <[11 x i8]*> [#uses=1]
49
50 define fastcc void @_ZN7mrScene4ReadERSi(%struct.mrScene* %this, %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces) {
51 entry:
52         %tmp6.i.i8288 = invoke i8* @_Znam( i32 12 )
53                         to label %_ZN8ggStringC1Ei.exit unwind label %lpad              ; <i8*> [#uses=0]
54
55 _ZN8ggStringC1Ei.exit:          ; preds = %entry
56         %tmp6.i.i8995 = invoke i8* @_Znam( i32 12 )
57                         to label %_ZN8ggStringC1Ei.exit96 unwind label %lpad3825                ; <i8*> [#uses=0]
58
59 _ZN8ggStringC1Ei.exit96:                ; preds = %_ZN8ggStringC1Ei.exit
60         %tmp6.i.i97103 = invoke i8* @_Znam( i32 12 )
61                         to label %_ZN8ggStringC1Ei.exit104 unwind label %lpad3829               ; <i8*> [#uses=0]
62
63 _ZN8ggStringC1Ei.exit104:               ; preds = %_ZN8ggStringC1Ei.exit96
64         %tmp6.i.i105111 = invoke i8* @_Znam( i32 12 )
65                         to label %_ZN8ggStringC1Ei.exit112 unwind label %lpad3833               ; <i8*> [#uses=0]
66
67 _ZN8ggStringC1Ei.exit112:               ; preds = %_ZN8ggStringC1Ei.exit104
68         %tmp6.i.i122128 = invoke i8* @_Znam( i32 12 )
69                         to label %_ZN8ggStringC1Ei.exit129 unwind label %lpad3837               ; <i8*> [#uses=0]
70
71 _ZN8ggStringC1Ei.exit129:               ; preds = %_ZN8ggStringC1Ei.exit112
72         %tmp6.i.i132138 = invoke i8* @_Znam( i32 12 )
73                         to label %_ZN8ggStringC1Ei.exit139 unwind label %lpad3841               ; <i8*> [#uses=0]
74
75 _ZN8ggStringC1Ei.exit139:               ; preds = %_ZN8ggStringC1Ei.exit129
76         %tmp295 = invoke i8* @_Znwm( i32 16 )
77                         to label %invcont294 unwind label %lpad3845             ; <i8*> [#uses=0]
78
79 invcont294:             ; preds = %_ZN8ggStringC1Ei.exit139
80         %tmp10.i.i141 = invoke i8* @_Znam( i32 16 )
81                         to label %_ZN13mrSurfaceListC1Ev.exit unwind label %lpad3849            ; <i8*> [#uses=0]
82
83 _ZN13mrSurfaceListC1Ev.exit:            ; preds = %invcont294
84         %tmp3.i148 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
85                         to label %tmp3.i.noexc unwind label %lpad3845           ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
86
87 tmp3.i.noexc:           ; preds = %_ZN13mrSurfaceListC1Ev.exit
88         %tmp15.i149 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
89                         to label %tmp15.i.noexc unwind label %lpad3845          ; <i8*> [#uses=0]
90
91 tmp15.i.noexc:          ; preds = %tmp3.i.noexc
92         br i1 false, label %bb308, label %bb.i
93
94 bb.i:           ; preds = %tmp15.i.noexc
95         ret void
96
97 bb308:          ; preds = %tmp15.i.noexc
98         br i1 false, label %bb3743.preheader, label %bb315
99
100 bb3743.preheader:               ; preds = %bb308
101         %tmp16.i3862 = getelementptr %struct.ggPoint3* null, i32 0, i32 0, i32 0                ; <double*> [#uses=1]
102         %tmp16.i3859 = getelementptr %struct.ggPoint3* null, i32 0, i32 0, i32 0                ; <double*> [#uses=3]
103         br label %bb3743
104
105 bb315:          ; preds = %bb308
106         ret void
107
108 bb333:          ; preds = %invcont3758, %invcont335
109         %tmp3.i167180 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
110                         to label %tmp3.i167.noexc unwind label %lpad3845                ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
111
112 tmp3.i167.noexc:                ; preds = %bb333
113         %tmp15.i182 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
114                         to label %tmp15.i.noexc181 unwind label %lpad3845               ; <i8*> [#uses=0]
115
116 tmp15.i.noexc181:               ; preds = %tmp3.i167.noexc
117         br i1 false, label %invcont335, label %bb.i178
118
119 bb.i178:                ; preds = %tmp15.i.noexc181
120         ret void
121
122 invcont335:             ; preds = %tmp15.i.noexc181
123         br i1 false, label %bb3743, label %bb333
124
125 bb345:          ; preds = %invcont3758
126         br i1 false, label %bb353, label %bb360
127
128 bb353:          ; preds = %bb345
129         %tmp356 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, double* null )
130                         to label %bb3743 unwind label %lpad3845         ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
131
132 bb360:          ; preds = %bb345
133         br i1 false, label %bb368, label %bb374
134
135 bb368:          ; preds = %bb360
136         %tmp373 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, double* null )
137                         to label %bb3743 unwind label %lpad3845         ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
138
139 bb374:          ; preds = %bb360
140         br i1 false, label %bb396, label %bb421
141
142 bb396:          ; preds = %bb374
143         ret void
144
145 bb421:          ; preds = %bb374
146         br i1 false, label %bb429, label %bb530
147
148 bb429:          ; preds = %bb421
149         ret void
150
151 bb530:          ; preds = %bb421
152         br i1 false, label %bb538, label %bb673
153
154 bb538:          ; preds = %bb530
155         ret void
156
157 bb673:          ; preds = %bb530
158         br i1 false, label %bb681, label %bb778
159
160 bb681:          ; preds = %bb673
161         ret void
162
163 bb778:          ; preds = %bb673
164         br i1 false, label %bb786, label %bb891
165
166 bb786:          ; preds = %bb778
167         ret void
168
169 bb891:          ; preds = %bb778
170         br i1 false, label %bb899, label %bb998
171
172 bb899:          ; preds = %bb891
173         ret void
174
175 bb998:          ; preds = %bb891
176         br i1 false, label %bb1168, label %bb1190
177
178 bb1168:         ; preds = %bb998
179         ret void
180
181 bb1190:         ; preds = %bb998
182         br i1 false, label %bb1198, label %bb1220
183
184 bb1198:         ; preds = %bb1190
185         ret void
186
187 bb1220:         ; preds = %bb1190
188         br i1 false, label %bb1228, label %bb1250
189
190 bb1228:         ; preds = %bb1220
191         ret void
192
193 bb1250:         ; preds = %bb1220
194         br i1 false, label %bb1258, label %bb1303
195
196 bb1258:         ; preds = %bb1250
197         ret void
198
199 bb1303:         ; preds = %bb1250
200         br i1 false, label %bb1311, label %bb1366
201
202 bb1311:         ; preds = %bb1303
203         ret void
204
205 bb1366:         ; preds = %bb1303
206         br i1 false, label %bb1374, label %bb1432
207
208 bb1374:         ; preds = %bb1366
209         ret void
210
211 bb1432:         ; preds = %bb1366
212         br i1 false, label %bb1440, label %bb1495
213
214 bb1440:         ; preds = %bb1432
215         ret void
216
217 bb1495:         ; preds = %bb1432
218         br i1 false, label %bb1503, label %bb1561
219
220 bb1503:         ; preds = %bb1495
221         ret void
222
223 bb1561:         ; preds = %bb1495
224         br i1 false, label %bb1569, label %bb1624
225
226 bb1569:         ; preds = %bb1561
227         ret void
228
229 bb1624:         ; preds = %bb1561
230         br i1 false, label %bb1632, label %bb1654
231
232 bb1632:         ; preds = %bb1624
233         store double 0.000000e+00, double* %tmp16.i3859, align 8
234         %tmp3.i38383852 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
235                         to label %tmp3.i3838.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
236
237 tmp3.i3838.noexc:               ; preds = %bb1632
238         %tmp15.i38473853 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
239                         to label %tmp15.i3847.noexc unwind label %lpad3845              ; <i8*> [#uses=0]
240
241 tmp15.i3847.noexc:              ; preds = %tmp3.i3838.noexc
242         br i1 false, label %invcont1634, label %bb.i3850
243
244 bb.i3850:               ; preds = %tmp15.i3847.noexc
245         ret void
246
247 invcont1634:            ; preds = %tmp15.i3847.noexc
248         %tmp3.i38173831 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
249                         to label %tmp3.i3817.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
250
251 tmp3.i3817.noexc:               ; preds = %invcont1634
252         %tmp15.i38263832 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
253                         to label %tmp15.i3826.noexc unwind label %lpad3845              ; <i8*> [#uses=0]
254
255 tmp15.i3826.noexc:              ; preds = %tmp3.i3817.noexc
256         br i1 false, label %invcont1636, label %bb.i3829
257
258 bb.i3829:               ; preds = %tmp15.i3826.noexc
259         ret void
260
261 invcont1636:            ; preds = %tmp15.i3826.noexc
262         %tmp8.i38083811 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, double* %tmp16.i3862 )
263                         to label %tmp8.i3808.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
264
265 tmp8.i3808.noexc:               ; preds = %invcont1636
266         %tmp9.i38093812 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp8.i38083811, double* null )
267                         to label %tmp9.i3809.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
268
269 tmp9.i3809.noexc:               ; preds = %tmp8.i3808.noexc
270         %tmp10.i38103813 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp9.i38093812, double* null )
271                         to label %invcont1638 unwind label %lpad3845            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
272
273 invcont1638:            ; preds = %tmp9.i3809.noexc
274         %tmp8.i37983801 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, double* %tmp16.i3859 )
275                         to label %tmp8.i3798.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
276
277 tmp8.i3798.noexc:               ; preds = %invcont1638
278         %tmp9.i37993802 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp8.i37983801, double* null )
279                         to label %tmp9.i3799.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
280
281 tmp9.i3799.noexc:               ; preds = %tmp8.i3798.noexc
282         %tmp10.i38003803 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp9.i37993802, double* null )
283                         to label %invcont1640 unwind label %lpad3845            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
284
285 invcont1640:            ; preds = %tmp9.i3799.noexc
286         %tmp3.i3778 = load double* %tmp16.i3859, align 8                ; <double> [#uses=1]
287         %tmp1643 = invoke i8* @_Znwm( i32 76 )
288                         to label %invcont1642 unwind label %lpad3845            ; <i8*> [#uses=0]
289
290 invcont1642:            ; preds = %invcont1640
291         %tmp18.i3770 = sub double %tmp3.i3778, 0.000000e+00             ; <double> [#uses=0]
292         invoke fastcc void @_ZN7mrScene9AddObjectEP9mrSurfaceRK8ggStringS4_i( %struct.mrScene* %this, %struct.ggBRDF* null, %struct.ggString* null, %struct.ggString* null, i32 0 )
293                         to label %bb3743 unwind label %lpad3845
294
295 bb1654:         ; preds = %bb1624
296         br i1 false, label %bb1662, label %bb1693
297
298 bb1662:         ; preds = %bb1654
299         %tmp3.i37143728 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
300                         to label %tmp3.i3714.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
301
302 tmp3.i3714.noexc:               ; preds = %bb1662
303         %tmp15.i37233729 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
304                         to label %tmp15.i3723.noexc unwind label %lpad3845              ; <i8*> [#uses=0]
305
306 tmp15.i3723.noexc:              ; preds = %tmp3.i3714.noexc
307         ret void
308
309 bb1693:         ; preds = %bb1654
310         br i1 false, label %bb1701, label %bb1745
311
312 bb1701:         ; preds = %bb1693
313         %tmp3.i36493663 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
314                         to label %tmp3.i3649.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
315
316 tmp3.i3649.noexc:               ; preds = %bb1701
317         ret void
318
319 bb1745:         ; preds = %bb1693
320         br i1 false, label %bb1753, label %bb1797
321
322 bb1753:         ; preds = %bb1745
323         ret void
324
325 bb1797:         ; preds = %bb1745
326         br i1 false, label %bb1805, label %bb1847
327
328 bb1805:         ; preds = %bb1797
329         ret void
330
331 bb1847:         ; preds = %bb1797
332         br i1 false, label %bb1855, label %bb1897
333
334 bb1855:         ; preds = %bb1847
335         %tmp3.i34633477 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
336                         to label %tmp3.i3463.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
337
338 tmp3.i3463.noexc:               ; preds = %bb1855
339         %tmp15.i34723478 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
340                         to label %tmp15.i3472.noexc unwind label %lpad3845              ; <i8*> [#uses=0]
341
342 tmp15.i3472.noexc:              ; preds = %tmp3.i3463.noexc
343         br i1 false, label %invcont1857, label %bb.i3475
344
345 bb.i3475:               ; preds = %tmp15.i3472.noexc
346         invoke fastcc void @_ZN8ggStringaSEPKc( %struct.ggString* null, i8* null )
347                         to label %invcont1857 unwind label %lpad3845
348
349 invcont1857:            ; preds = %bb.i3475, %tmp15.i3472.noexc
350         %tmp1860 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, double* null )
351                         to label %invcont1859 unwind label %lpad3845            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
352
353 invcont1859:            ; preds = %invcont1857
354         %tmp1862 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp1860, double* null )
355                         to label %invcont1861 unwind label %lpad3845            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
356
357 invcont1861:            ; preds = %invcont1859
358         %tmp1864 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp1862, double* null )
359                         to label %invcont1863 unwind label %lpad3845            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
360
361 invcont1863:            ; preds = %invcont1861
362         %tmp1866 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp1864, double* null )
363                         to label %invcont1865 unwind label %lpad3845            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
364
365 invcont1865:            ; preds = %invcont1863
366         %tmp1868 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp1866, double* null )
367                         to label %invcont1867 unwind label %lpad3845            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
368
369 invcont1867:            ; preds = %invcont1865
370         %tmp1881 = invoke i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null ) zeroext 
371                         to label %invcont1880 unwind label %lpad3845            ; <i8> [#uses=0]
372
373 invcont1880:            ; preds = %invcont1867
374         %tmp1883 = invoke i8* @_Znwm( i32 24 )
375                         to label %invcont1882 unwind label %lpad3845            ; <i8*> [#uses=0]
376
377 invcont1882:            ; preds = %invcont1880
378         invoke fastcc void @_ZN7mrScene9AddObjectEP9mrSurfaceRK8ggStringS4_i( %struct.mrScene* %this, %struct.ggBRDF* null, %struct.ggString* null, %struct.ggString* null, i32 0 )
379                         to label %bb3743 unwind label %lpad3845
380
381 bb1897:         ; preds = %bb1847
382         br i1 false, label %bb1905, label %bb1947
383
384 bb1905:         ; preds = %bb1897
385         ret void
386
387 bb1947:         ; preds = %bb1897
388         br i1 false, label %bb1955, label %bb2000
389
390 bb1955:         ; preds = %bb1947
391         ret void
392
393 bb2000:         ; preds = %bb1947
394         br i1 false, label %bb2008, label %bb2053
395
396 bb2008:         ; preds = %bb2000
397         ret void
398
399 bb2053:         ; preds = %bb2000
400         br i1 false, label %bb2061, label %bb2106
401
402 bb2061:         ; preds = %bb2053
403         %tmp3.i32433257 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
404                         to label %tmp3.i3243.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
405
406 tmp3.i3243.noexc:               ; preds = %bb2061
407         %tmp15.i32523258 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
408                         to label %bb.i3255 unwind label %lpad3845               ; <i8*> [#uses=0]
409
410 bb.i3255:               ; preds = %tmp3.i3243.noexc
411         invoke fastcc void @_ZN8ggStringaSEPKc( %struct.ggString* null, i8* null )
412                         to label %invcont2063 unwind label %lpad3845
413
414 invcont2063:            ; preds = %bb.i3255
415         ret void
416
417 bb2106:         ; preds = %bb2053
418         %tmp7.i3214 = call i32 @strcmp( i8* %tmp5.i161, i8* getelementptr ([7 x i8]* @.str80, i32 0, i32 0) ) nounwind readonly                 ; <i32> [#uses=0]
419         br i1 false, label %bb2114, label %bb2136
420
421 bb2114:         ; preds = %bb2106
422         %tmp3.i31923206 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
423                         to label %tmp3.i3192.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
424
425 tmp3.i3192.noexc:               ; preds = %bb2114
426         %tmp15.i32013207 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
427                         to label %tmp15.i3201.noexc unwind label %lpad3845              ; <i8*> [#uses=0]
428
429 tmp15.i3201.noexc:              ; preds = %tmp3.i3192.noexc
430         br i1 false, label %invcont2116, label %bb.i3204
431
432 bb.i3204:               ; preds = %tmp15.i3201.noexc
433         ret void
434
435 invcont2116:            ; preds = %tmp15.i3201.noexc
436         %tmp3.i31713185 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
437                         to label %tmp3.i3171.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
438
439 tmp3.i3171.noexc:               ; preds = %invcont2116
440         %tmp15.i31803186 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
441                         to label %tmp15.i3180.noexc unwind label %lpad3845              ; <i8*> [#uses=0]
442
443 tmp15.i3180.noexc:              ; preds = %tmp3.i3171.noexc
444         br i1 false, label %invcont2118, label %bb.i3183
445
446 bb.i3183:               ; preds = %tmp15.i3180.noexc
447         ret void
448
449 invcont2118:            ; preds = %tmp15.i3180.noexc
450         %tmp8.i31623165 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, double* null )
451                         to label %tmp8.i3162.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
452
453 tmp8.i3162.noexc:               ; preds = %invcont2118
454         %tmp9.i31633166 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp8.i31623165, double* null )
455                         to label %tmp9.i3163.noexc unwind label %lpad3845               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
456
457 tmp9.i3163.noexc:               ; preds = %tmp8.i3162.noexc
458         %tmp10.i31643167 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp9.i31633166, double* null )
459                         to label %invcont2120 unwind label %lpad3845            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
460
461 invcont2120:            ; preds = %tmp9.i3163.noexc
462         %tmp2123 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, double* null )
463                         to label %invcont2122 unwind label %lpad3845            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
464
465 invcont2122:            ; preds = %invcont2120
466         %tmp2125 = invoke i8* @_Znwm( i32 36 )
467                         to label %invcont2124 unwind label %lpad3845            ; <i8*> [#uses=0]
468
469 invcont2124:            ; preds = %invcont2122
470         invoke fastcc void @_ZN7mrScene9AddObjectEP9mrSurfaceRK8ggStringS4_i( %struct.mrScene* %this, %struct.ggBRDF* null, %struct.ggString* null, %struct.ggString* null, i32 0 )
471                         to label %bb3743 unwind label %lpad3845
472
473 bb2136:         ; preds = %bb2106
474         %tmp7.i3128 = call i32 @strcmp( i8* %tmp5.i161, i8* getelementptr ([11 x i8]* @.str81, i32 0, i32 0) ) nounwind readonly                ; <i32> [#uses=0]
475         br i1 false, label %bb2144, label %bb3336
476
477 bb2144:         ; preds = %bb2136
478         %tmp6.i.i31173123 = invoke i8* @_Znam( i32 12 )
479                         to label %_ZN8ggStringC1Ei.exit3124 unwind label %lpad3845              ; <i8*> [#uses=0]
480
481 _ZN8ggStringC1Ei.exit3124:              ; preds = %bb2144
482         %tmp3.i30983112 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
483                         to label %tmp3.i3098.noexc unwind label %lpad3921               ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
484
485 tmp3.i3098.noexc:               ; preds = %_ZN8ggStringC1Ei.exit3124
486         %tmp15.i31073113 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
487                         to label %tmp15.i3107.noexc unwind label %lpad3921              ; <i8*> [#uses=0]
488
489 tmp15.i3107.noexc:              ; preds = %tmp3.i3098.noexc
490         br i1 false, label %invcont2147, label %bb.i3110
491
492 bb.i3110:               ; preds = %tmp15.i3107.noexc
493         ret void
494
495 invcont2147:            ; preds = %tmp15.i3107.noexc
496         %tmp2161 = invoke i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null ) zeroext 
497                         to label %invcont2160 unwind label %lpad3921            ; <i8> [#uses=0]
498
499 invcont2160:            ; preds = %invcont2147
500         %tmp4.i30933094 = invoke fastcc %struct.ggSpectrum* @_ZN5ggBSTI10ggSpectrumE4findERK8ggString3( %"struct.ggBSTNode<ggSpectrum>"* null, %struct.ggString* null )
501                         to label %invcont2164 unwind label %lpad3921            ; <%struct.ggSpectrum*> [#uses=0]
502
503 invcont2164:            ; preds = %invcont2160
504         br i1 false, label %bb2170, label %bb2181
505
506 bb2170:         ; preds = %invcont2164
507         ret void
508
509 bb2181:         ; preds = %invcont2164
510         invoke fastcc void @_ZN8ggStringD1Ev( %struct.ggString* null )
511                         to label %bb3743 unwind label %lpad3845
512
513 bb3336:         ; preds = %bb2136
514         br i1 false, label %bb3344, label %bb3734
515
516 bb3344:         ; preds = %bb3336
517         %tmp6.i.i773779 = invoke i8* @_Znam( i32 12 )
518                         to label %_ZN8ggStringC1Ei.exit780 unwind label %lpad3845               ; <i8*> [#uses=0]
519
520 _ZN8ggStringC1Ei.exit780:               ; preds = %bb3344
521         %tmp6.i.i765771 = invoke i8* @_Znam( i32 12 )
522                         to label %_ZN8ggStringC1Ei.exit772 unwind label %lpad4025               ; <i8*> [#uses=0]
523
524 _ZN8ggStringC1Ei.exit772:               ; preds = %_ZN8ggStringC1Ei.exit780
525         %tmp3.i746760 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
526                         to label %tmp3.i746.noexc unwind label %lpad4029                ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
527
528 tmp3.i746.noexc:                ; preds = %_ZN8ggStringC1Ei.exit772
529         %tmp15.i755761 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
530                         to label %tmp15.i755.noexc unwind label %lpad4029               ; <i8*> [#uses=0]
531
532 tmp15.i755.noexc:               ; preds = %tmp3.i746.noexc
533         br i1 false, label %invcont3348, label %bb.i758
534
535 bb.i758:                ; preds = %tmp15.i755.noexc
536         ret void
537
538 invcont3348:            ; preds = %tmp15.i755.noexc
539         %tmp3.i726740 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
540                         to label %tmp3.i726.noexc unwind label %lpad4029                ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
541
542 tmp3.i726.noexc:                ; preds = %invcont3348
543         %tmp15.i735741 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
544                         to label %tmp15.i735.noexc unwind label %lpad4029               ; <i8*> [#uses=0]
545
546 tmp15.i735.noexc:               ; preds = %tmp3.i726.noexc
547         br i1 false, label %bb3458, label %bb.i738
548
549 bb.i738:                ; preds = %tmp15.i735.noexc
550         ret void
551
552 bb3458:         ; preds = %tmp15.i735.noexc
553         br i1 false, label %bb3466, label %bb3491
554
555 bb3466:         ; preds = %bb3458
556         %tmp3469 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, double* null )
557                         to label %invcont3468 unwind label %lpad4029            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
558
559 invcont3468:            ; preds = %bb3466
560         %tmp3471 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp3469, double* null )
561                         to label %invcont3470 unwind label %lpad4029            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=1]
562
563 invcont3470:            ; preds = %invcont3468
564         %tmp3473 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERi( %"struct.std::basic_istream<char,std::char_traits<char> >"* %tmp3471, i32* null )
565                         to label %invcont3472 unwind label %lpad4029            ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
566
567 invcont3472:            ; preds = %invcont3470
568         %tmp3475 = invoke i8* @_Znwm( i32 7196 )
569                         to label %invcont3474 unwind label %lpad4029            ; <i8*> [#uses=1]
570
571 invcont3474:            ; preds = %invcont3472
572         invoke fastcc void @_ZN13ggSolidNoise3C1Ev( %struct.ggSolidNoise3* null )
573                         to label %_ZN22ggCoverageSolidTextureC1Eddi.exit unwind label %lpad4045
574
575 _ZN22ggCoverageSolidTextureC1Eddi.exit:         ; preds = %invcont3474
576         %tmp34823483 = bitcast i8* %tmp3475 to %struct.ggBRDF*          ; <%struct.ggBRDF*> [#uses=2]
577         invoke fastcc void @_ZN5ggBSTI14ggSolidTextureE17InsertIntoSubtreeERK8ggStringPS0_RP9ggBSTNodeIS0_E( %"struct.ggBST<ggSolidTexture>"* null, %struct.ggString* null, %struct.ggBRDF* %tmp34823483, %"struct.ggBSTNode<ggSolidTexture>"** null )
578                         to label %bb3662 unwind label %lpad4029
579
580 bb3491:         ; preds = %bb3458
581         ret void
582
583 bb3662:         ; preds = %_ZN22ggCoverageSolidTextureC1Eddi.exit
584         invoke fastcc void @_ZN8ggStringD1Ev( %struct.ggString* null )
585                         to label %invcont3663 unwind label %lpad4025
586
587 invcont3663:            ; preds = %bb3662
588         invoke fastcc void @_ZN8ggStringD1Ev( %struct.ggString* null )
589                         to label %bb3743 unwind label %lpad3845
590
591 bb3734:         ; preds = %bb3336
592         ret void
593
594 bb3743:         ; preds = %invcont3663, %bb2181, %invcont2124, %invcont1882, %invcont1642, %bb368, %bb353, %invcont335, %bb3743.preheader
595         %tex1.3 = phi %struct.ggBRDF* [ undef, %bb3743.preheader ], [ %tex1.3, %bb368 ], [ %tex1.3, %invcont1642 ], [ %tex1.3, %invcont1882 ], [ %tex1.3, %invcont2124 ], [ %tex1.3, %bb2181 ], [ %tex1.3, %invcont335 ], [ %tmp34823483, %invcont3663 ], [ %tex1.3, %bb353 ]           ; <%struct.ggBRDF*> [#uses=7]
596         %tmp3.i312325 = invoke %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_( %"struct.std::basic_istream<char,std::char_traits<char> >"* %surfaces, i8* null )
597                         to label %tmp3.i312.noexc unwind label %lpad3845                ; <%"struct.std::basic_istream<char,std::char_traits<char> >"*> [#uses=0]
598
599 tmp3.i312.noexc:                ; preds = %bb3743
600         %tmp15.i327 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
601                         to label %tmp15.i.noexc326 unwind label %lpad3845               ; <i8*> [#uses=0]
602
603 tmp15.i.noexc326:               ; preds = %tmp3.i312.noexc
604         br i1 false, label %invcont3745, label %bb.i323
605
606 bb.i323:                ; preds = %tmp15.i.noexc326
607         ret void
608
609 invcont3745:            ; preds = %tmp15.i.noexc326
610         %tmp3759 = invoke i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv( %"struct.std::basic_ios<char,std::char_traits<char> >"* null )
611                         to label %invcont3758 unwind label %lpad3845            ; <i8*> [#uses=0]
612
613 invcont3758:            ; preds = %invcont3745
614         %tmp5.i161 = getelementptr %"struct.ggString::StringRep"* null, i32 0, i32 2, i32 0             ; <i8*> [#uses=2]
615         br i1 false, label %bb333, label %bb345
616
617 lpad:           ; preds = %entry
618         ret void
619
620 lpad3825:               ; preds = %_ZN8ggStringC1Ei.exit
621         ret void
622
623 lpad3829:               ; preds = %_ZN8ggStringC1Ei.exit96
624         ret void
625
626 lpad3833:               ; preds = %_ZN8ggStringC1Ei.exit104
627         ret void
628
629 lpad3837:               ; preds = %_ZN8ggStringC1Ei.exit112
630         ret void
631
632 lpad3841:               ; preds = %_ZN8ggStringC1Ei.exit129
633         ret void
634
635 lpad3845:               ; preds = %invcont3745, %tmp3.i312.noexc, %bb3743, %invcont3663, %bb3344, %bb2181, %bb2144, %invcont2124, %invcont2122, %invcont2120, %tmp9.i3163.noexc, %tmp8.i3162.noexc, %invcont2118, %tmp3.i3171.noexc, %invcont2116, %tmp3.i3192.noexc, %bb2114, %bb.i3255, %tmp3.i3243.noexc, %bb2061, %invcont1882, %invcont1880, %invcont1867, %invcont1865, %invcont1863, %invcont1861, %invcont1859, %invcont1857, %bb.i3475, %tmp3.i3463.noexc, %bb1855, %bb1701, %tmp3.i3714.noexc, %bb1662, %invcont1642, %invcont1640, %tmp9.i3799.noexc, %tmp8.i3798.noexc, %invcont1638, %tmp9.i3809.noexc, %tmp8.i3808.noexc, %invcont1636, %tmp3.i3817.noexc, %invcont1634, %tmp3.i3838.noexc, %bb1632, %bb368, %bb353, %tmp3.i167.noexc, %bb333, %tmp3.i.noexc, %_ZN13mrSurfaceListC1Ev.exit, %_ZN8ggStringC1Ei.exit139
636         ret void
637
638 lpad3849:               ; preds = %invcont294
639         ret void
640
641 lpad3921:               ; preds = %invcont2160, %invcont2147, %tmp3.i3098.noexc, %_ZN8ggStringC1Ei.exit3124
642         ret void
643
644 lpad4025:               ; preds = %bb3662, %_ZN8ggStringC1Ei.exit780
645         ret void
646
647 lpad4029:               ; preds = %_ZN22ggCoverageSolidTextureC1Eddi.exit, %invcont3472, %invcont3470, %invcont3468, %bb3466, %tmp3.i726.noexc, %invcont3348, %tmp3.i746.noexc, %_ZN8ggStringC1Ei.exit772
648         ret void
649
650 lpad4045:               ; preds = %invcont3474
651         ret void
652 }
653
654 declare fastcc void @_ZN8ggStringD1Ev(%struct.ggString*)
655
656 declare i8* @_Znam(i32)
657
658 declare fastcc void @_ZN8ggStringaSEPKc(%struct.ggString*, i8*)
659
660 declare i32 @strcmp(i8*, i8*) nounwind readonly 
661
662 declare %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERi(%"struct.std::basic_istream<char,std::char_traits<char> >"*, i32*)
663
664 declare i8* @_Znwm(i32)
665
666 declare i8* @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv(%"struct.std::basic_ios<char,std::char_traits<char> >"*)
667
668 declare %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZNSirsERd(%"struct.std::basic_istream<char,std::char_traits<char> >"*, double*)
669
670 declare %"struct.std::basic_istream<char,std::char_traits<char> >"* @_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_(%"struct.std::basic_istream<char,std::char_traits<char> >"*, i8*)
671
672 declare fastcc void @_ZN13ggSolidNoise3C1Ev(%struct.ggSolidNoise3*)
673
674 declare i8 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(%"struct.std::basic_ios<char,std::char_traits<char> >"*) zeroext 
675
676 declare fastcc %struct.ggSpectrum* @_ZN5ggBSTI10ggSpectrumE4findERK8ggString3(%"struct.ggBSTNode<ggSpectrum>"*, %struct.ggString*)
677
678 declare fastcc void @_ZN5ggBSTI14ggSolidTextureE17InsertIntoSubtreeERK8ggStringPS0_RP9ggBSTNodeIS0_E(%"struct.ggBST<ggSolidTexture>"*, %struct.ggString*, %struct.ggBRDF*, %"struct.ggBSTNode<ggSolidTexture>"**)
679
680 declare fastcc void @_ZN7mrScene9AddObjectEP9mrSurfaceRK8ggStringS4_i(%struct.mrScene*, %struct.ggBRDF*, %struct.ggString*, %struct.ggString*, i32)