Home | History | Annotate | Download | only in PowerPC
      1 ; RUN: llc < %s | FileCheck %s
      2 target datalayout = "E-m:e-i64:64-n32:64"
      3 target triple = "powerpc64-bgq-linux"
      4 
      5 %"class.Foam::messageStream.6" = type <{ %"class.Foam::string.5", i32, i32, i32, [4 x i8] }>
      6 %"class.Foam::string.5" = type { %"class.std::basic_string.4" }
      7 %"class.std::basic_string.4" = type { %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider.3" }
      8 %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider.3" = type { i8* }
      9 %"class.Foam::prefixOSstream.27" = type { %"class.Foam::OSstream.26", i8, %"class.Foam::string.5" }
     10 %"class.Foam::OSstream.26" = type { %"class.Foam::Ostream.base.9", %"class.Foam::fileName.10", %"class.std::basic_ostream.25"* }
     11 %"class.Foam::Ostream.base.9" = type <{ %"class.Foam::IOstream.8", i16 }>
     12 %"class.Foam::IOstream.8" = type { i32 (...)**, i32, [4 x i8], %"class.Foam::IOstream::versionNumber.7", i32, i32, i32, i32 }
     13 %"class.Foam::IOstream::versionNumber.7" = type <{ double, i32, [4 x i8] }>
     14 %"class.Foam::fileName.10" = type { %"class.Foam::string.5" }
     15 %"class.std::basic_ostream.25" = type { i32 (...)**, %"class.std::basic_ios.24" }
     16 %"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"* }
     17 %"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" }
     18 %"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 }
     19 %"struct.std::ios_base::_Words.12" = type { i8*, i64 }
     20 %"class.std::locale.15" = type { %"class.std::locale::_Impl.14"* }
     21 %"class.std::locale::_Impl.14" = type { i32, %"class.std::locale::facet.13"**, i64, %"class.std::locale::facet.13"**, i8** }
     22 %"class.std::locale::facet.13" = type <{ i32 (...)**, i32, [4 x i8] }>
     23 %"class.std::basic_streambuf.17" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"class.std::locale.15" }
     24 %"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] }>
     25 %"class.std::locale::facet.base.18" = type <{ i32 (...)**, i32 }>
     26 %struct.__locale_struct.20 = type { [13 x %struct.__locale_data.19*], i16*, i32*, i32*, [13 x i8*] }
     27 %struct.__locale_data.19 = type opaque
     28 %"class.std::__gnu_cxx_ldbl128::num_put.22" = type { %"class.std::locale::facet.base.18", [4 x i8] }
     29 %"class.std::__gnu_cxx_ldbl128::num_get.23" = type { %"class.std::locale::facet.base.18", [4 x i8] }
     30 %"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"* }
     31 %"class.Foam::List.116" = type opaque
     32 %"class.Foam::List.0" = type { %"class.Foam::UList.119" }
     33 %"class.Foam::UList.119" = type { i32, %"class.Foam::edge.118"* }
     34 %"class.Foam::edge.118" = type { %"class.Foam::FixedList.117" }
     35 %"class.Foam::FixedList.117" = type { [2 x i32] }
     36 %"class.Foam::List.5" = type { %"class.Foam::UList.6" }
     37 %"class.Foam::UList.6" = type { i32, %"class.Foam::cell.121"* }
     38 %"class.Foam::cell.121" = type { %"class.Foam::List.3" }
     39 %"class.Foam::List.3" = type { %"class.Foam::UList.4" }
     40 %"class.Foam::UList.4" = type { i32, i32* }
     41 %"class.Foam::List.1" = type { %"class.Foam::UList.2" }
     42 %"class.Foam::UList.2" = type { i32, %"class.Foam::List.3"* }
     43 %"class.Foam::DynamicList.40" = type <{ %"class.Foam::List.3", i32, [4 x i8] }>
     44 %"class.Foam::HashSet.127" = type { %"class.Foam::HashTable.7" }
     45 %"class.Foam::HashTable.7" = type { i32, i32, %"struct.Foam::HashTable<Foam::nil, int, Foam::Hash<Foam::label> >::hashedEntry.125"** }
     46 %"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] }>
     47 %"class.Foam::nil.124" = type { i8 }
     48 %"class.Foam::Field.11" = type { %"class.Foam::refCount.128", %"class.Foam::List.12" }
     49 %"class.Foam::refCount.128" = type { i32 }
     50 %"class.Foam::List.12" = type { %"class.Foam::UList.13" }
     51 %"class.Foam::UList.13" = type { i32, double* }
     52 %"class.Foam::Field.131" = type { %"class.Foam::refCount.128", %"class.Foam::List.8" }
     53 %"class.Foam::List.8" = type { %"class.Foam::UList.9" }
     54 %"class.Foam::UList.9" = type { i32, %"class.Foam::Vector.29"* }
     55 %"class.Foam::Vector.29" = type { %"class.Foam::VectorSpace.10" }
     56 %"class.Foam::VectorSpace.10" = type { [3 x double] }
     57 %"class.Foam::Ostream.189" = type <{ %"class.Foam::IOstream.8", i16, [6 x i8] }>
     58 
     59 @_ZN4Foam4InfoE = external global %"class.Foam::messageStream.6", align 8
     60 @.str27 = external unnamed_addr constant [24 x i8], align 1
     61 @.str28 = external unnamed_addr constant [7 x i8], align 1
     62 @_ZN4Foam4PoutE = external global %"class.Foam::prefixOSstream.27", align 8
     63 
     64 define void @_ZN4Foam13checkTopologyERKNS_8polyMeshEbb(i1 zeroext %allTopology) #0 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) {
     65 entry:
     66   br i1 undef, label %for.body, label %for.cond.cleanup
     67 
     68 ; CHECK-LABEL: @_ZN4Foam13checkTopologyERKNS_8polyMeshEbb
     69 
     70 ; CHECK: addis [[REG1:[0-9]+]], 2, .LC0@toc@ha
     71 ; CHECK: std 2, 40(1)
     72 ; CHECK: ld {{[0-9]+}}, .LC0@toc@l([[REG1]])
     73 ; CHECK: {{mr|ld}} 2,
     74 ; CHECK: mtctr
     75 ; CHECK: bctrl
     76 ; CHECK: ld 2, 40(1)
     77 
     78 ; CHECK: addis [[REG1:[0-9]+]], 2, .LC0@toc@ha
     79 ; CHECK: std 2, 40(1)
     80 ; CHECK: ld {{[0-9]+}}, .LC0@toc@l([[REG1]])
     81 ; CHECK: {{mr|ld}} 2,
     82 ; CHECK: mtctr
     83 ; CHECK: bctrl
     84 ; CHECK: ld 2, 40(1)
     85 
     86 for.cond.cleanup:                                 ; preds = %entry
     87   br i1 undef, label %if.then.i, label %if.else.i
     88 
     89 if.then.i:                                        ; preds = %for.cond.cleanup
     90   br i1 undef, label %if.then.i1435, label %if.else.i1436
     91 
     92 if.else.i:                                        ; preds = %for.cond.cleanup
     93   unreachable
     94 
     95 if.then.i1435:                                    ; preds = %if.then.i
     96   br label %_ZN4Foam12returnReduceIiNS_5sumOpIiEEEET_RKS3_RKT0_ii.exit
     97 
     98 if.else.i1436:                                    ; preds = %if.then.i
     99   br label %_ZN4Foam12returnReduceIiNS_5sumOpIiEEEET_RKS3_RKT0_ii.exit
    100 
    101 _ZN4Foam12returnReduceIiNS_5sumOpIiEEEET_RKS3_RKT0_ii.exit: ; preds = %if.else.i1436, %if.then.i1435
    102   br i1 undef, label %for.body.i, label %_ZNK4Foam8ZoneMeshINS_8cellZoneENS_8polyMeshEE15checkDefinitionEb.exit
    103 
    104 for.body:                                         ; preds = %entry
    105   unreachable
    106 
    107 for.body.i:                                       ; preds = %_ZN4Foam12returnReduceIiNS_5sumOpIiEEEET_RKS3_RKT0_ii.exit
    108   unreachable
    109 
    110 _ZNK4Foam8ZoneMeshINS_8cellZoneENS_8polyMeshEE15checkDefinitionEb.exit: ; preds = %_ZN4Foam12returnReduceIiNS_5sumOpIiEEEET_RKS3_RKT0_ii.exit
    111   br i1 undef, label %for.body.i1480, label %_ZNK4Foam8ZoneMeshINS_8faceZoneENS_8polyMeshEE15checkDefinitionEb.exit
    112 
    113 for.body.i1480:                                   ; preds = %_ZNK4Foam8ZoneMeshINS_8cellZoneENS_8polyMeshEE15checkDefinitionEb.exit
    114   unreachable
    115 
    116 _ZNK4Foam8ZoneMeshINS_8faceZoneENS_8polyMeshEE15checkDefinitionEb.exit: ; preds = %_ZNK4Foam8ZoneMeshINS_8cellZoneENS_8polyMeshEE15checkDefinitionEb.exit
    117   br i1 undef, label %for.body.i1504, label %_ZNK4Foam8ZoneMeshINS_9pointZoneENS_8polyMeshEE15checkDefinitionEb.exit
    118 
    119 for.body.i1504:                                   ; preds = %_ZNK4Foam8ZoneMeshINS_8faceZoneENS_8polyMeshEE15checkDefinitionEb.exit
    120   unreachable
    121 
    122 _ZNK4Foam8ZoneMeshINS_9pointZoneENS_8polyMeshEE15checkDefinitionEb.exit: ; preds = %_ZNK4Foam8ZoneMeshINS_8faceZoneENS_8polyMeshEE15checkDefinitionEb.exit
    123   invoke void @_ZN4Foam4word12stripInvalidEv()
    124           to label %_ZN4Foam4wordC2EPKcb.exit unwind label %lpad.i
    125 
    126 lpad.i:                                           ; preds = %_ZNK4Foam8ZoneMeshINS_9pointZoneENS_8polyMeshEE15checkDefinitionEb.exit
    127   %0 = landingpad { i8*, i32 }
    128           cleanup
    129   resume { i8*, i32 } %0
    130 
    131 _ZN4Foam4wordC2EPKcb.exit:                        ; preds = %_ZNK4Foam8ZoneMeshINS_9pointZoneENS_8polyMeshEE15checkDefinitionEb.exit
    132   invoke void @_ZN4Foam7cellSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE()
    133           to label %invoke.cont59 unwind label %lpad
    134 
    135 invoke.cont59:                                    ; preds = %_ZN4Foam4wordC2EPKcb.exit
    136   br i1 undef, label %_ZNSsD2Ev.exit, label %if.then.i.i, !prof !1
    137 
    138 if.then.i.i:                                      ; preds = %invoke.cont59
    139   br i1 true, label %if.then.i.i.i1508, label %if.else.i.i.i
    140 
    141 if.then.i.i.i1508:                                ; preds = %if.then.i.i
    142   br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i
    143 
    144 if.else.i.i.i:                                    ; preds = %if.then.i.i
    145   br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i
    146 
    147 _ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i: ; preds = %if.else.i.i.i, %if.then.i.i.i1508
    148   br i1 undef, label %if.then4.i.i, label %_ZNSsD2Ev.exit
    149 
    150 if.then4.i.i:                                     ; preds = %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i
    151   br label %_ZNSsD2Ev.exit
    152 
    153 _ZNSsD2Ev.exit:                                   ; preds = %if.then4.i.i, %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i, %invoke.cont59
    154   br i1 undef, label %for.body70, label %for.cond.cleanup69
    155 
    156 for.cond.cleanup69:                               ; preds = %_ZNSsD2Ev.exit
    157   br i1 undef, label %if.then121, label %if.else
    158 
    159 lpad:                                             ; preds = %_ZN4Foam4wordC2EPKcb.exit
    160   %1 = landingpad { i8*, i32 }
    161           cleanup
    162   br i1 undef, label %_ZNSsD2Ev.exit1578, label %if.then.i.i1570, !prof !1
    163 
    164 if.then.i.i1570:                                  ; preds = %lpad
    165   br i1 undef, label %if.then4.i.i1577, label %_ZNSsD2Ev.exit1578
    166 
    167 if.then4.i.i1577:                                 ; preds = %if.then.i.i1570
    168   unreachable
    169 
    170 _ZNSsD2Ev.exit1578:                               ; preds = %if.then.i.i1570, %lpad
    171   unreachable
    172 
    173 for.body70:                                       ; preds = %_ZNSsD2Ev.exit
    174   unreachable
    175 
    176 if.then121:                                       ; preds = %for.cond.cleanup69
    177   unreachable
    178 
    179 if.else:                                          ; preds = %for.cond.cleanup69
    180   invoke void @_ZN4Foam4word12stripInvalidEv()
    181           to label %_ZN4Foam4wordC2EPKcb.exit1701 unwind label %lpad.i1689
    182 
    183 lpad.i1689:                                       ; preds = %if.else
    184   %2 = landingpad { i8*, i32 }
    185           cleanup
    186   unreachable
    187 
    188 _ZN4Foam4wordC2EPKcb.exit1701:                    ; preds = %if.else
    189   invoke void @_ZN4Foam8pointSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE()
    190           to label %invoke.cont169 unwind label %lpad165
    191 
    192 invoke.cont169:                                   ; preds = %_ZN4Foam4wordC2EPKcb.exit1701
    193   %call177 = invoke zeroext i1 undef(%"class.Foam::primitiveMesh.135"* undef, i1 zeroext true, %"class.Foam::HashSet.127"* undef)
    194           to label %invoke.cont176 unwind label %lpad175
    195 
    196 invoke.cont176:                                   ; preds = %invoke.cont169
    197   br i1 %call177, label %if.then178, label %if.end213
    198 
    199 if.then178:                                       ; preds = %invoke.cont176
    200   unreachable
    201 
    202 lpad165:                                          ; preds = %_ZN4Foam4wordC2EPKcb.exit1701
    203   %3 = landingpad { i8*, i32 }
    204           cleanup
    205   unreachable
    206 
    207 lpad175:                                          ; preds = %invoke.cont169
    208   %4 = landingpad { i8*, i32 }
    209           cleanup
    210   invoke void @_ZN4Foam8pointSetD1Ev()
    211           to label %eh.resume unwind label %terminate.lpad
    212 
    213 if.end213:                                        ; preds = %invoke.cont176
    214   invoke void @_ZN4Foam4word12stripInvalidEv()
    215           to label %_ZN4Foam4wordC2EPKcb.exit1777 unwind label %lpad.i1765
    216 
    217 lpad.i1765:                                       ; preds = %if.end213
    218   %5 = landingpad { i8*, i32 }
    219           cleanup
    220   br i1 undef, label %eh.resume.i1776, label %if.then.i.i.i1767, !prof !1
    221 
    222 if.then.i.i.i1767:                                ; preds = %lpad.i1765
    223   unreachable
    224 
    225 eh.resume.i1776:                                  ; preds = %lpad.i1765
    226   resume { i8*, i32 } %5
    227 
    228 _ZN4Foam4wordC2EPKcb.exit1777:                    ; preds = %if.end213
    229   invoke void @_ZN4Foam7faceSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE()
    230           to label %invoke.cont221 unwind label %lpad217
    231 
    232 invoke.cont221:                                   ; preds = %_ZN4Foam4wordC2EPKcb.exit1777
    233   br i1 undef, label %_ZNSsD2Ev.exit1792, label %if.then.i.i1784, !prof !1
    234 
    235 if.then.i.i1784:                                  ; preds = %invoke.cont221
    236   br i1 undef, label %if.then4.i.i1791, label %_ZNSsD2Ev.exit1792
    237 
    238 if.then4.i.i1791:                                 ; preds = %if.then.i.i1784
    239   br label %_ZNSsD2Ev.exit1792
    240 
    241 _ZNSsD2Ev.exit1792:                               ; preds = %if.then4.i.i1791, %if.then.i.i1784, %invoke.cont221
    242   %call232 = invoke zeroext i1 undef(%"class.Foam::primitiveMesh.135"* undef, i1 zeroext true, %"class.Foam::HashSet.127"* undef)
    243           to label %invoke.cont231 unwind label %lpad230
    244 
    245 invoke.cont231:                                   ; preds = %_ZNSsD2Ev.exit1792
    246   invoke void @_ZN4Foam6reduceIiNS_5sumOpIiEEEEvRKNS_4ListINS_8UPstream11commsStructEEERT_RKT0_ii()
    247           to label %invoke.cont243 unwind label %lpad230
    248 
    249 lpad217:                                          ; preds = %_ZN4Foam4wordC2EPKcb.exit1777
    250   %6 = landingpad { i8*, i32 }
    251           cleanup
    252   br label %eh.resume
    253 
    254 lpad230:                                          ; preds = %invoke.cont231, %_ZNSsD2Ev.exit1792
    255   %7 = landingpad { i8*, i32 }
    256           cleanup
    257   invoke void @_ZN4Foam7faceSetD1Ev()
    258           to label %eh.resume unwind label %terminate.lpad
    259 
    260 invoke.cont243:                                   ; preds = %invoke.cont231
    261   invoke void @_ZN4Foam4word12stripInvalidEv()
    262           to label %_ZN4Foam4wordC2EPKcb.exit1862 unwind label %lpad.i1850
    263 
    264 lpad.i1850:                                       ; preds = %invoke.cont243
    265   %8 = landingpad { i8*, i32 }
    266           cleanup
    267   unreachable
    268 
    269 _ZN4Foam4wordC2EPKcb.exit1862:                    ; preds = %invoke.cont243
    270   invoke void @_ZN4Foam7faceSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE()
    271           to label %invoke.cont280 unwind label %lpad276
    272 
    273 invoke.cont280:                                   ; preds = %_ZN4Foam4wordC2EPKcb.exit1862
    274   br i1 undef, label %_ZNSsD2Ev.exit1877, label %if.then.i.i1869, !prof !1
    275 
    276 if.then.i.i1869:                                  ; preds = %invoke.cont280
    277   unreachable
    278 
    279 _ZNSsD2Ev.exit1877:                               ; preds = %invoke.cont280
    280   br i1 undef, label %if.then292, label %if.end328
    281 
    282 if.then292:                                       ; preds = %_ZNSsD2Ev.exit1877
    283   unreachable
    284 
    285 lpad276:                                          ; preds = %_ZN4Foam4wordC2EPKcb.exit1862
    286   %9 = landingpad { i8*, i32 }
    287           cleanup
    288   unreachable
    289 
    290 if.end328:                                        ; preds = %_ZNSsD2Ev.exit1877
    291   br i1 %allTopology, label %if.then331, label %if.end660
    292 
    293 if.then331:                                       ; preds = %if.end328
    294   unreachable
    295 
    296 if.end660:                                        ; preds = %if.end328
    297   invoke void @_ZN4Foam13messageStreamcvRNS_8OSstreamEEv()
    298           to label %invoke.cont668 unwind label %lpad663
    299 
    300 invoke.cont668:                                   ; preds = %if.end660
    301   %call671 = invoke dereferenceable(56) %"class.Foam::Ostream.189"* @_ZN4FoamlsERNS_7OstreamEPKc()
    302           to label %invoke.cont670 unwind label %lpad663
    303 
    304 invoke.cont670:                                   ; preds = %invoke.cont668
    305   invoke void @_ZN4FoamlsERNS_7OstreamEi()
    306           to label %invoke.cont674 unwind label %lpad663
    307 
    308 invoke.cont674:                                   ; preds = %invoke.cont670
    309   %call677 = invoke dereferenceable(56) %"class.Foam::Ostream.189"* @_ZN4FoamlsERNS_7OstreamEPKc()
    310           to label %invoke.cont676 unwind label %lpad663
    311 
    312 invoke.cont676:                                   ; preds = %invoke.cont674
    313   invoke void undef(%"class.Foam::Ostream.189"* %call677)
    314           to label %if.end878 unwind label %lpad663
    315 
    316 lpad663:                                          ; preds = %invoke.cont670, %if.end660, %invoke.cont668, %invoke.cont674, %invoke.cont676
    317   %10 = landingpad { i8*, i32 }
    318           cleanup
    319   br i1 undef, label %_ZN4Foam4ListIiED2Ev.exit.i3073, label %delete.notnull.i.i3071
    320 
    321 if.end878:                                        ; preds = %invoke.cont676
    322   br i1 undef, label %_ZN4Foam11regionSplitD2Ev.exit, label %delete.notnull.i.i3056
    323 
    324 delete.notnull.i.i3056:                           ; preds = %if.end878
    325   unreachable
    326 
    327 _ZN4Foam11regionSplitD2Ev.exit:                   ; preds = %if.end878
    328   br i1 undef, label %if.then883, label %if.else888
    329 
    330 if.then883:                                       ; preds = %_ZN4Foam11regionSplitD2Ev.exit
    331   unreachable
    332 
    333 delete.notnull.i.i3071:                           ; preds = %lpad663
    334   unreachable
    335 
    336 _ZN4Foam4ListIiED2Ev.exit.i3073:                  ; preds = %lpad663
    337   invoke void @_ZN4Foam11regIOobjectD2Ev()
    338           to label %eh.resume unwind label %terminate.lpad
    339 
    340 if.else888:                                       ; preds = %_ZN4Foam11regionSplitD2Ev.exit
    341   invoke void @_ZN4Foam4word12stripInvalidEv()
    342           to label %_ZN4Foam4wordC2EPKcb.exit3098 unwind label %lpad.i3086
    343 
    344 lpad.i3086:                                       ; preds = %if.else888
    345   %11 = landingpad { i8*, i32 }
    346           cleanup
    347   unreachable
    348 
    349 _ZN4Foam4wordC2EPKcb.exit3098:                    ; preds = %if.else888
    350   invoke void @_ZN4Foam8pointSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE()
    351           to label %invoke.cont902 unwind label %lpad898
    352 
    353 invoke.cont902:                                   ; preds = %_ZN4Foam4wordC2EPKcb.exit3098
    354   br i1 undef, label %_ZNSsD2Ev.exit3113, label %if.then.i.i3105, !prof !1
    355 
    356 if.then.i.i3105:                                  ; preds = %invoke.cont902
    357   br i1 undef, label %if.then4.i.i3112, label %_ZNSsD2Ev.exit3113
    358 
    359 if.then4.i.i3112:                                 ; preds = %if.then.i.i3105
    360   unreachable
    361 
    362 _ZNSsD2Ev.exit3113:                               ; preds = %if.then.i.i3105, %invoke.cont902
    363   %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))
    364           to label %call.i3116.noexc unwind label %lpad905.loopexit.split-lp
    365 
    366 call.i3116.noexc:                                 ; preds = %_ZNSsD2Ev.exit3113
    367   %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)
    368           to label %invoke.cont906 unwind label %lpad905.loopexit.split-lp
    369 
    370 invoke.cont906:                                   ; preds = %call.i3116.noexc
    371   unreachable
    372 
    373 lpad898:                                          ; preds = %_ZN4Foam4wordC2EPKcb.exit3098
    374   %12 = landingpad { i8*, i32 }
    375           cleanup
    376   br i1 undef, label %_ZNSsD2Ev.exit3204, label %if.then.i.i3196, !prof !1
    377 
    378 if.then.i.i3196:                                  ; preds = %lpad898
    379   unreachable
    380 
    381 _ZNSsD2Ev.exit3204:                               ; preds = %lpad898
    382   unreachable
    383 
    384 lpad905.loopexit.split-lp:                        ; preds = %call.i3116.noexc, %_ZNSsD2Ev.exit3113
    385   %lpad.loopexit.split-lp = landingpad { i8*, i32 }
    386           cleanup
    387   invoke void @_ZN4Foam8pointSetD1Ev()
    388           to label %eh.resume unwind label %terminate.lpad
    389 
    390 eh.resume:                                        ; preds = %_ZN4Foam4ListIiED2Ev.exit.i3073, %lpad230, %lpad175, %lpad905.loopexit.split-lp, %lpad217
    391   resume { i8*, i32 } undef
    392 
    393 terminate.lpad:                                   ; preds = %_ZN4Foam4ListIiED2Ev.exit.i3073, %lpad230, %lpad175, %lpad905.loopexit.split-lp
    394   %13 = landingpad { i8*, i32 }
    395           catch i8* null
    396   unreachable
    397 }
    398 
    399 declare dereferenceable(56) %"class.Foam::Ostream.189"* @_ZN4FoamlsERNS_7OstreamEPKc() #0
    400 
    401 declare void @_ZN4Foam13messageStreamcvRNS_8OSstreamEEv() #0
    402 
    403 declare i32 @__gxx_personality_v0(...)
    404 
    405 declare void @_ZN4Foam7cellSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE() #0
    406 
    407 declare void @_ZN4FoamlsERNS_7OstreamEi() #0
    408 
    409 declare void @_ZN4Foam8pointSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE() #0
    410 
    411 declare void @_ZN4Foam8pointSetD1Ev() #0
    412 
    413 declare void @_ZN4Foam7faceSetC1ERKNS_8polyMeshERKNS_4wordEiNS_8IOobject11writeOptionE() #0
    414 
    415 declare void @_ZN4Foam7faceSetD1Ev() #0
    416 
    417 ; Function Attrs: inlinehint
    418 declare void @_ZN4Foam4word12stripInvalidEv() #1 align 2
    419 
    420 declare void @_ZN4Foam11regIOobjectD2Ev() #0
    421 
    422 declare void @_ZN4Foam6reduceIiNS_5sumOpIiEEEEvRKNS_4ListINS_8UPstream11commsStructEEERT_RKT0_ii() #0
    423 
    424 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" }
    425 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" }
    426 
    427 !llvm.module.flags = !{!0}
    428 
    429 !0 = !{i32 1, !"PIC Level", i32 2}
    430 !1 = !{!"branch_weights", i32 64, i32 4}
    431