llvm.org GIT mirror llvm / release_50 test / CodeGen / PowerPC / extra-toc-reg-deps.ll
release_50

Tree @release_50 (Download .tar.gz)

extra-toc-reg-deps.ll @release_50raw · history · blame

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
; RUN: llc -verify-machineinstrs < %s | FileCheck %s
target datalayout = "E-m:e-i64:64-n32:64"
target triple = "powerpc64-bgq-linux"

%"class.Foam::messageStream.6" = type <{ %"class.Foam::string.5", i32, i32, i32, [4 x i8] }>
%"class.Foam::string.5" = type { %"class.std::basic_string.4" }
%"class.std::basic_string.4" = type { %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider.3" }
%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider.3" = type { i8* }
%"class.Foam::prefixOSstream.27" = type { %"class.Foam::OSstream.26", i8, %"class.Foam::string.5" }
%"class.Foam::OSstream.26" = type { %"class.Foam::Ostream.base.9", %"class.Foam::fileName.10", %"class.std::basic_ostream.25"* }
%"class.Foam::Ostream.base.9" = type <{ %"class.Foam::IOstream.8", i16 }>
%"class.Foam::IOstream.8" = type { i32 (...)**, i32, [4 x i8], %"class.Foam::IOstream::versionNumber.7", i32, i32, i32, i32 }
%"class.Foam::IOstream::versionNumber.7" = type <{ double, i32, [4 x i8] }>
%"class.Foam::fileName.10" = type { %"class.Foam::string.5" }
%"class.std::basic_ostream.25" = type { i32 (...)**, %"class.std::basic_ios.24" }
%"class.std::basic_ios.24" = type { %"class.std::ios_base.16", %"class.std::basic_ostream.25"*, i8, i8, %"class.std::basic_streambuf.17"*, %"class.std::ctype.21"*, %"class.std::__gnu_cxx_ldbl128::num_put.22"*, %"class.std::__gnu_cxx_ldbl128::num_get.23"* }
%"class.std::ios_base.16" = type { i32 (...)**, i64, i64, i32, i32, i32, %"struct.std::ios_base::_Callback_list.11"*, %"struct.std::ios_base::_Words.12", [8 x %"struct.std::ios_base::_Words.12"], i32, %"struct.std::ios_base::_Words.12"*, %"class.std::locale.15" }
%"struct.std::ios_base::_Callback_list.11" = type { %"struct.std::ios_base::_Callback_list.11"*, void (i32, %"class.std::ios_base.16"*, i32)*, i32, i32 }
%"struct.std::ios_base::_Words.12" = type { i8*, i64 }
%"class.std::locale.15" = type { %"class.std::locale::_Impl.14"* }
%"class.std::locale::_Impl.14" = type { i32, %"class.std::locale::facet.13"**, i64, %"class.std::locale::facet.13"**, i8** }
%"class.std::locale::facet.13" = type <{ i32 (...)**, i32, [4 x i8] }>
%"class.std::basic_streambuf.17" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"class.std::locale.15" }
%"class.std::ctype.21" = type <{ %"class.std::locale::facet.base.18", [4 x i8], %struct.__locale_struct.20*, i8, [7 x i8], i32*, i32*, i16*, i8, [256 x i8], [256 x i8], i8, [6 x i8] }>
%"class.std::locale::facet.base.18" = type <{ i32 (...)**, i32 }>
%struct.__locale_struct.20 = type { [13 x %struct.__locale_data.19*], i16*, i32*, i32*, [13 x i8*] }
%struct.__locale_data.19 = type opaque
%"class.std::__gnu_cxx_ldbl128::num_put.22" = type { %"class.std::locale::facet.base.18", [4 x i8] }
%"class.std::__gnu_cxx_ldbl128::num_get.23" = type { %"class.std::locale::facet.base.18", [4 x i8] }
%"class.Foam::primitiveMesh.135" = type { i32 (...)**, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"class.Foam::List.116"*, %"class.Foam::List.0"*, %"class.Foam::List.1"*, %"class.Foam::List.1"*, %"class.Foam::List.1"*, %"class.Foam::List.5"*, %"class.Foam::List.1"*, %"class.Foam::List.1"*, %"class.Foam::List.1"*, %"class.Foam::List.1"*, %"class.Foam::List.1"*, %"class.Foam::List.1"*, %"class.Foam::List.1"*, %"class.Foam::DynamicList.40", %"class.Foam::HashSet.127", %"class.Foam::Field.131"*, %"class.Foam::Field.131"*, %"class.Foam::Field.11"*, %"class.Foam::Field.131"* }
%"class.Foam::List.116" = type opaque
%"class.Foam::List.0" = type { %"class.Foam::UList.119" }
%"class.Foam::UList.119" = type { i32, %"class.Foam::edge.118"* }
%"class.Foam::edge.118" = type { %"class.Foam::FixedList.117" }
%"class.Foam::FixedList.117" = type { [2 x i32] }
%"class.Foam::List.5" = type { %"class.Foam::UList.6" }
%"class.Foam::UList.6" = type { i32, %"class.Foam::cell.121"* }
%"class.Foam::cell.121" = type { %"class.Foam::List.3" }
%"class.Foam::List.3" = type { %"class.Foam::UList.4" }
%"class.Foam::UList.4" = type { i32, i32* }
%"class.Foam::List.1" = type { %"class.Foam::UList.2" }
%"class.Foam::UList.2" = type { i32, %"class.Foam::List.3"* }
%"class.Foam::DynamicList.40" = type <{ %"class.Foam::List.3", i32, [4 x i8] }>
%"class.Foam::HashSet.127" = type { %"class.Foam::HashTable.7" }
%"class.Foam::HashTable.7" = type { i32, i32, %"struct.Foam::HashTable<Foam::nil, int, Foam::Hash<Foam::label> >::hashedEntry.125"** }
%"struct.Foam::HashTable<Foam::nil, int, Foam::Hash<Foam::label> >::hashedEntry.125" = type <{ i32, [4 x i8], %"struct.Foam::HashTable<Foam::nil, int, Foam::Hash<Foam::label> >::hashedEntry.125"*, %"class.Foam::nil.124", [7 x i8] }>
%"class.Foam::nil.124" = type { i8 }
%"class.Foam::Field.11" = type { %"class.Foam::refCount.128", %"class.Foam::List.12" }
%"class.Foam::refCount.128" = type { i32 }
%"class.Foam::List.12" = type { %"class.Foam::UList.13" }
%"class.Foam::UList.13" = type { i32, double* }
%"class.Foam::Field.131" = type { %"class.Foam::refCount.128", %"class.Foam::List.8" }
%"class.Foam::List.8" = type { %"class.Foam::UList.9" }
%"class.Foam::UList.9" = type { i32, %"class.Foam::Vector.29"* }
%"class.Foam::Vector.29" = type { %"class.Foam::VectorSpace.10" }
%"class.Foam::VectorSpace.10" = type { [3 x double] }
%"class.Foam::Ostream.189" = type <{ %"class.Foam::IOstream.8", i16, [6 x i8] }>

@_ZN4Foam4InfoE = external global %"class.Foam::messageStream.6", align 8
@.str27 = external unnamed_addr constant [24 x i8], align 1
@.str28 = external unnamed_addr constant [7 x i8], align 1
@_ZN4Foam4PoutE = external global %"class.Foam::prefixOSstream.27", align 8

define void @_ZN4Foam13checkTopologyERKNS_8polyMeshEbb(i1 zeroext %allTopology) #0 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
entry:
  br i1 undef, label %for.body, label %for.cond.cleanup

; CHECK-LABEL: @_ZN4Foam13checkTopologyERKNS_8polyMeshEbb

; CHECK: addis [[REG1:[0-9]+]], 2, .LC0@toc@ha
; CHECK: std 2, 40(1)
; CHECK: ld {{[0-9]+}}, .LC0@toc@l([[REG1]])
; CHECK: {{mr|ld}} 2,
; CHECK: mtctr
; CHECK: bctrl
; CHECK: ld 2, 40(1)

; CHECK: addis [[REG1:[0-9]+]], 2, .LC0@toc@ha
; CHECK: std 2, 40(1)
; CHECK: ld {{[0-9]+}}, .LC0@toc@l([[REG1]])
; CHECK: {{mr|ld}} 2,
; CHECK: mtctr
; CHECK: bctrl
; CHECK: ld 2, 40(1)

for.cond.cleanup:                                 ; preds = %entry
  br i1 undef, label %if.then.i, label %if.else.i

if.then.i:                                        ; preds = %for.cond.cleanup
  br i1 undef, label %if.then.i1435, label %if.else.i1436

if.else.i:                                        ; preds = %for.cond.cleanup
  unreachable

if.then.i1435:                                    ; preds = %if.then.i
  br label %_ZN4Foam12returnReduceIiNS_5sumOpIiEEEET_RKS3_RKT0_ii.exit

if.else.i1436:                                    ; preds = %if.then.i
  br label %_ZN4Foam12returnReduceIiNS_5sumOpIiEEEET_RKS3_RKT0_ii.exit

_ZN4Foam12returnReduceIiNS_5sumOpIiEEEET_RKS3_RKT0_ii.exit: ; preds = %if.else.i1436, %if.then.i1435
  br i1 undef, label %for.body.i, label %_ZNK4Foam8ZoneMeshINS_8cellZoneENS_8polyMeshEE15checkDefinitionEb.exit

for.body:                                         ; preds = %entry
  unreachable

for.body.i:                                       ; preds = %_ZN4Foam12returnReduceIiNS_5sumOpIiEEEET_RKS3_RKT0_ii.exit
  unreachable

_ZNK4Foam8ZoneMeshINS_8cellZoneENS_8polyMeshEE15checkDefinitionEb.exit: ; preds = %_ZN4Foam12returnReduceIiNS_5sumOpIiEEEET_RKS3_RKT0_ii.exit
  br i1 undef, label %for.body.i1480, label %_ZNK4Foam8ZoneMeshINS_8faceZoneENS_8polyMeshEE15checkDefinitionEb.exit

for.body.i1480:                                   ; preds = %_ZNK4Foam8ZoneMeshINS_8cellZoneENS_8polyMeshEE15checkDefinitionEb.exit
  unreachable

_ZNK4Foam8ZoneMeshINS_8faceZoneENS_8polyMeshEE15checkDefinitionEb.exit: ; preds = %_ZNK4Foam8ZoneMeshINS_8cellZoneENS_8polyMeshEE15checkDefinitionEb.exit
  br i1 undef, label %for.body.i1504, label %_ZNK4Foam8ZoneMeshINS_9pointZoneENS_8polyMeshEE15checkDefinitionEb.exit

for.body.i1504:                                   ; preds = %_ZNK4Foam8ZoneMeshINS_8faceZoneENS_8polyMeshEE15checkDefinitionEb.exit
  unreachable

_ZNK4Foam8ZoneMeshINS_9pointZoneENS_8polyMeshEE15checkDefinitionEb.exit: ; preds = %_ZNK4Foam8ZoneMeshINS_8faceZoneENS_8polyMeshEE15checkDefinitionEb.exit
  invoke void @_ZN4Foam4word12stripInvalidEv()
          to label %_ZN4Foam4wordC2EPKcb.exit unwind label %lpad.i

lpad.i:                                           ; preds = %_ZNK4Foam8ZoneMeshINS_9pointZoneENS_8polyMeshEE15checkDefinitionEb.exit
  %0 = landingpad { i8*, i32 }
          cleanup
  resume { i8*, i32 } %0

_ZN4Foam4wordC2EPKcb.exit:                        ; preds = %_ZNK4Foam8ZoneMeshINS_9pointZoneENS_8polyMeshEE15checkDefinitionEb.exit
  invoke void @_ZN4Foam7cellSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE()
          to label %invoke.cont59 unwind label %lpad

invoke.cont59:                                    ; preds = %_ZN4Foam4wordC2EPKcb.exit
  br i1 undef, label %_ZNSsD2Ev.exit, label %if.then.i.i, !prof !1

if.then.i.i:                                      ; preds = %invoke.cont59
  br i1 true, label %if.then.i.i.i1508, label %if.else.i.i.i

if.then.i.i.i1508:                                ; preds = %if.then.i.i
  br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i

if.else.i.i.i:                                    ; preds = %if.then.i.i
  br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i

_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i: ; preds = %if.else.i.i.i, %if.then.i.i.i1508
  br i1 undef, label %if.then4.i.i, label %_ZNSsD2Ev.exit

if.then4.i.i:                                     ; preds = %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i
  br label %_ZNSsD2Ev.exit

_ZNSsD2Ev.exit:                                   ; preds = %if.then4.i.i, %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i, %invoke.cont59
  br i1 undef, label %for.body70, label %for.cond.cleanup69

for.cond.cleanup69:                               ; preds = %_ZNSsD2Ev.exit
  br i1 undef, label %if.then121, label %if.else

lpad:                                             ; preds = %_ZN4Foam4wordC2EPKcb.exit
  %1 = landingpad { i8*, i32 }
          cleanup
  br i1 undef, label %_ZNSsD2Ev.exit1578, label %if.then.i.i1570, !prof !1

if.then.i.i1570:                                  ; preds = %lpad
  br i1 undef, label %if.then4.i.i1577, label %_ZNSsD2Ev.exit1578

if.then4.i.i1577:                                 ; preds = %if.then.i.i1570
  unreachable

_ZNSsD2Ev.exit1578:                               ; preds = %if.then.i.i1570, %lpad
  unreachable

for.body70:                                       ; preds = %_ZNSsD2Ev.exit
  unreachable

if.then121:                                       ; preds = %for.cond.cleanup69
  unreachable

if.else:                                          ; preds = %for.cond.cleanup69
  invoke void @_ZN4Foam4word12stripInvalidEv()
          to label %_ZN4Foam4wordC2EPKcb.exit1701 unwind label %lpad.i1689

lpad.i1689:                                       ; preds = %if.else
  %2 = landingpad { i8*, i32 }
          cleanup
  unreachable

_ZN4Foam4wordC2EPKcb.exit1701:                    ; preds = %if.else
  invoke void @_ZN4Foam8pointSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE()
          to label %invoke.cont169 unwind label %lpad165

invoke.cont169:                                   ; preds = %_ZN4Foam4wordC2EPKcb.exit1701
  %call177 = invoke zeroext i1 undef(%"class.Foam::primitiveMesh.135"* undef, i1 zeroext true, %"class.Foam::HashSet.127"* undef)
          to label %invoke.cont176 unwind label %lpad175

invoke.cont176:                                   ; preds = %invoke.cont169
  br i1 %call177, label %if.then178, label %if.end213

if.then178:                                       ; preds = %invoke.cont176
  unreachable

lpad165:                                          ; preds = %_ZN4Foam4wordC2EPKcb.exit1701
  %3 = landingpad { i8*, i32 }
          cleanup
  unreachable

lpad175:                                          ; preds = %invoke.cont169
  %4 = landingpad { i8*, i32 }
          cleanup
  invoke void @_ZN4Foam8pointSetD1Ev()
          to label %eh.resume unwind label %terminate.lpad

if.end213:                                        ; preds = %invoke.cont176
  invoke void @_ZN4Foam4word12stripInvalidEv()
          to label %_ZN4Foam4wordC2EPKcb.exit1777 unwind label %lpad.i1765

lpad.i1765:                                       ; preds = %if.end213
  %5 = landingpad { i8*, i32 }
          cleanup
  br i1 undef, label %eh.resume.i1776, label %if.then.i.i.i1767, !prof !1

if.then.i.i.i1767:                                ; preds = %lpad.i1765
  unreachable

eh.resume.i1776:                                  ; preds = %lpad.i1765
  resume { i8*, i32 } %5

_ZN4Foam4wordC2EPKcb.exit1777:                    ; preds = %if.end213
  invoke void @_ZN4Foam7faceSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE()
          to label %invoke.cont221 unwind label %lpad217

invoke.cont221:                                   ; preds = %_ZN4Foam4wordC2EPKcb.exit1777
  br i1 undef, label %_ZNSsD2Ev.exit1792, label %if.then.i.i1784, !prof !1

if.then.i.i1784:                                  ; preds = %invoke.cont221
  br i1 undef, label %if.then4.i.i1791, label %_ZNSsD2Ev.exit1792

if.then4.i.i1791:                                 ; preds = %if.then.i.i1784
  br label %_ZNSsD2Ev.exit1792

_ZNSsD2Ev.exit1792:                               ; preds = %if.then4.i.i1791, %if.then.i.i1784, %invoke.cont221
  %call232 = invoke zeroext i1 undef(%"class.Foam::primitiveMesh.135"* undef, i1 zeroext true, %"class.Foam::HashSet.127"* undef)
          to label %invoke.cont231 unwind label %lpad230

invoke.cont231:                                   ; preds = %_ZNSsD2Ev.exit1792
  invoke void @_ZN4Foam6reduceIiNS_5sumOpIiEEEEvRKNS_4ListINS_8UPstream11commsStructEEERT_RKT0_ii()
          to label %invoke.cont243 unwind label %lpad230

lpad217:                                          ; preds = %_ZN4Foam4wordC2EPKcb.exit1777
  %6 = landingpad { i8*, i32 }
          cleanup
  br label %eh.resume

lpad230:                                          ; preds = %invoke.cont231, %_ZNSsD2Ev.exit1792
  %7 = landingpad { i8*, i32 }
          cleanup
  invoke void @_ZN4Foam7faceSetD1Ev()
          to label %eh.resume unwind label %terminate.lpad

invoke.cont243:                                   ; preds = %invoke.cont231
  invoke void @_ZN4Foam4word12stripInvalidEv()
          to label %_ZN4Foam4wordC2EPKcb.exit1862 unwind label %lpad.i1850

lpad.i1850:                                       ; preds = %invoke.cont243
  %8 = landingpad { i8*, i32 }
          cleanup
  unreachable

_ZN4Foam4wordC2EPKcb.exit1862:                    ; preds = %invoke.cont243
  invoke void @_ZN4Foam7faceSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE()
          to label %invoke.cont280 unwind label %lpad276

invoke.cont280:                                   ; preds = %_ZN4Foam4wordC2EPKcb.exit1862
  br i1 undef, label %_ZNSsD2Ev.exit1877, label %if.then.i.i1869, !prof !1

if.then.i.i1869:                                  ; preds = %invoke.cont280
  unreachable

_ZNSsD2Ev.exit1877:                               ; preds = %invoke.cont280
  br i1 undef, label %if.then292, label %if.end328

if.then292:                                       ; preds = %_ZNSsD2Ev.exit1877
  unreachable

lpad276:                                          ; preds = %_ZN4Foam4wordC2EPKcb.exit1862
  %9 = landingpad { i8*, i32 }
          cleanup
  unreachable

if.end328:                                        ; preds = %_ZNSsD2Ev.exit1877
  br i1 %allTopology, label %if.then331, label %if.end660

if.then331:                                       ; preds = %if.end328
  unreachable

if.end660:                                        ; preds = %if.end328
  invoke void @_ZN4Foam13messageStreamcvRNS_8OSstreamEEv()
          to label %invoke.cont668 unwind label %lpad663

invoke.cont668:                                   ; preds = %if.end660
  %call671 = invoke dereferenceable(56) %"class.Foam::Ostream.189"* @_ZN4FoamlsERNS_7OstreamEPKc()
          to label %invoke.cont670 unwind label %lpad663

invoke.cont670:                                   ; preds = %invoke.cont668
  invoke void @_ZN4FoamlsERNS_7OstreamEi()
          to label %invoke.cont674 unwind label %lpad663

invoke.cont674:                                   ; preds = %invoke.cont670
  %call677 = invoke dereferenceable(56) %"class.Foam::Ostream.189"* @_ZN4FoamlsERNS_7OstreamEPKc()
          to label %invoke.cont676 unwind label %lpad663

invoke.cont676:                                   ; preds = %invoke.cont674
  invoke void undef(%"class.Foam::Ostream.189"* %call677)
          to label %if.end878 unwind label %lpad663

lpad663:                                          ; preds = %invoke.cont670, %if.end660, %invoke.cont668, %invoke.cont674, %invoke.cont676
  %10 = landingpad { i8*, i32 }
          cleanup
  br i1 undef, label %_ZN4Foam4ListIiED2Ev.exit.i3073, label %delete.notnull.i.i3071

if.end878:                                        ; preds = %invoke.cont676
  br i1 undef, label %_ZN4Foam11regionSplitD2Ev.exit, label %delete.notnull.i.i3056

delete.notnull.i.i3056:                           ; preds = %if.end878
  unreachable

_ZN4Foam11regionSplitD2Ev.exit:                   ; preds = %if.end878
  br i1 undef, label %if.then883, label %if.else888

if.then883:                                       ; preds = %_ZN4Foam11regionSplitD2Ev.exit
  unreachable

delete.notnull.i.i3071:                           ; preds = %lpad663
  unreachable

_ZN4Foam4ListIiED2Ev.exit.i3073:                  ; preds = %lpad663
  invoke void @_ZN4Foam11regIOobjectD2Ev()
          to label %eh.resume unwind label %terminate.lpad

if.else888:                                       ; preds = %_ZN4Foam11regionSplitD2Ev.exit
  invoke void @_ZN4Foam4word12stripInvalidEv()
          to label %_ZN4Foam4wordC2EPKcb.exit3098 unwind label %lpad.i3086

lpad.i3086:                                       ; preds = %if.else888
  %11 = landingpad { i8*, i32 }
          cleanup
  unreachable

_ZN4Foam4wordC2EPKcb.exit3098:                    ; preds = %if.else888
  invoke void @_ZN4Foam8pointSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE()
          to label %invoke.cont902 unwind label %lpad898

invoke.cont902:                                   ; preds = %_ZN4Foam4wordC2EPKcb.exit3098
  br i1 undef, label %_ZNSsD2Ev.exit3113, label %if.then.i.i3105, !prof !1

if.then.i.i3105:                                  ; preds = %invoke.cont902
  br i1 undef, label %if.then4.i.i3112, label %_ZNSsD2Ev.exit3113

if.then4.i.i3112:                                 ; preds = %if.then.i.i3105
  unreachable

_ZNSsD2Ev.exit3113:                               ; preds = %if.then.i.i3105, %invoke.cont902
  %call.i31163117 = invoke zeroext i32 undef(%"class.Foam::IOstream.8"* getelementptr inbounds (%"class.Foam::prefixOSstream.27", %"class.Foam::prefixOSstream.27"* @_ZN4Foam4PoutE, i64 0, i32 0, i32 0, i32 0))
          to label %call.i3116.noexc unwind label %lpad905.loopexit.split-lp

call.i3116.noexc:                                 ; preds = %_ZNSsD2Ev.exit3113
  %call5.i3118 = invoke zeroext i32 null(%"class.Foam::IOstream.8"* getelementptr inbounds (%"class.Foam::prefixOSstream.27", %"class.Foam::prefixOSstream.27"* @_ZN4Foam4PoutE, i64 0, i32 0, i32 0, i32 0), i32 zeroext undef)
          to label %invoke.cont906 unwind label %lpad905.loopexit.split-lp

invoke.cont906:                                   ; preds = %call.i3116.noexc
  unreachable

lpad898:                                          ; preds = %_ZN4Foam4wordC2EPKcb.exit3098
  %12 = landingpad { i8*, i32 }
          cleanup
  br i1 undef, label %_ZNSsD2Ev.exit3204, label %if.then.i.i3196, !prof !1

if.then.i.i3196:                                  ; preds = %lpad898
  unreachable

_ZNSsD2Ev.exit3204:                               ; preds = %lpad898
  unreachable

lpad905.loopexit.split-lp:                        ; preds = %call.i3116.noexc, %_ZNSsD2Ev.exit3113
  %lpad.loopexit.split-lp = landingpad { i8*, i32 }
          cleanup
  invoke void @_ZN4Foam8pointSetD1Ev()
          to label %eh.resume unwind label %terminate.lpad

eh.resume:                                        ; preds = %_ZN4Foam4ListIiED2Ev.exit.i3073, %lpad230, %lpad175, %lpad905.loopexit.split-lp, %lpad217
  resume { i8*, i32 } undef

terminate.lpad:                                   ; preds = %_ZN4Foam4ListIiED2Ev.exit.i3073, %lpad230, %lpad175, %lpad905.loopexit.split-lp
  %13 = landingpad { i8*, i32 }
          catch i8* null
  unreachable
}

declare dereferenceable(56) %"class.Foam::Ostream.189"* @_ZN4FoamlsERNS_7OstreamEPKc() #0

declare void @_ZN4Foam13messageStreamcvRNS_8OSstreamEEv() #0

declare i32 @__gxx_personality_v0(...)

declare void @_ZN4Foam7cellSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE() #0

declare void @_ZN4FoamlsERNS_7OstreamEi() #0

declare void @_ZN4Foam8pointSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE() #0

declare void @_ZN4Foam8pointSetD1Ev() #0

declare void @_ZN4Foam7faceSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE() #0

declare void @_ZN4Foam7faceSetD1Ev() #0

; Function Attrs: inlinehint
declare void @_ZN4Foam4word12stripInvalidEv() #1 align 2

declare void @_ZN4Foam11regIOobjectD2Ev() #0

declare void @_ZN4Foam6reduceIiNS_5sumOpIiEEEEvRKNS_4ListINS_8UPstream11commsStructEEERT_RKT0_ii() #0

attributes #0 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="a2q" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { inlinehint "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="a2q" "unsafe-fp-math"="false" "use-soft-float"="false" }

!llvm.module.flags = !{!0}

!0 = !{i32 1, !"PIC Level", i32 2}
!1 = !{!"branch_weights", i32 64, i32 4}