1; RUN: llc -O0 -relocation-model=pic < %s | FileCheck %s 2target datalayout = "E-m:e-i64:64-n32:64" 3target triple = "powerpc64-bgq-linux" 4 5%"class.std::__1::__tree_node.130.151" = type { %"class.std::__1::__tree_node_base.base.128.149", %"class.boost::serialization::extended_type_info.129.150"* } 6%"class.std::__1::__tree_node_base.base.128.149" = type <{ %"class.std::__1::__tree_end_node.127.148", %"class.std::__1::__tree_node_base.126.147"*, %"class.std::__1::__tree_node_base.126.147"*, i8 }> 7%"class.std::__1::__tree_end_node.127.148" = type { %"class.std::__1::__tree_node_base.126.147"* } 8%"class.std::__1::__tree_node_base.126.147" = type <{ %"class.std::__1::__tree_end_node.127.148", %"class.std::__1::__tree_node_base.126.147"*, %"class.std::__1::__tree_node_base.126.147"*, i8, [7 x i8] }> 9%"class.boost::serialization::extended_type_info.129.150" = type { i32 (...)**, i32, i8* } 10 11; Function Attrs: noinline 12define void @_ZN5boost13serialization18extended_type_info4findEPKc() #0 align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { 13entry: 14 br i1 undef, label %cond.true, label %cond.false 15 16; CHECK: @_ZN5boost13serialization18extended_type_info4findEPKc 17 18cond.true: ; preds = %entry 19 br label %cond.end 20 21cond.false: ; preds = %entry 22 unreachable 23 ; No predecessors! 24 br label %cond.end 25 26cond.end: ; preds = %0, %cond.true 27 invoke void @_ZNKSt3__16__treeIPKN5boost13serialization18extended_type_infoENS2_6detail11key_compareENS_9allocatorIS5_EEE4findIS5_EENS_21__tree_const_iteratorIS5_PNS_11__tree_nodeIS5_PvEElEERKT_() 28 to label %_ZNKSt3__18multisetIPKN5boost13serialization18extended_type_infoENS2_6detail11key_compareENS_9allocatorIS5_EEE4findERKS5_.exit unwind label %lpad 29 30_ZNKSt3__18multisetIPKN5boost13serialization18extended_type_infoENS2_6detail11key_compareENS_9allocatorIS5_EEE4findERKS5_.exit: ; preds = %cond.end 31 br label %invoke.cont 32 33invoke.cont: ; preds = %_ZNKSt3__18multisetIPKN5boost13serialization18extended_type_infoENS2_6detail11key_compareENS_9allocatorIS5_EEE4findERKS5_.exit 34 %1 = load %"class.std::__1::__tree_node.130.151"*, %"class.std::__1::__tree_node.130.151"** undef, align 8 35 %cmp.i = icmp eq %"class.std::__1::__tree_node.130.151"* undef, %1 36 br label %invoke.cont.2 37 38invoke.cont.2: ; preds = %invoke.cont 39 br i1 %cmp.i, label %if.then, label %if.end 40 41if.then: ; preds = %invoke.cont.2 42 br label %cleanup 43 44lpad: ; preds = %cond.end 45 %2 = landingpad { i8*, i32 } 46 cleanup 47 br label %eh.resume 48 49if.end: ; preds = %invoke.cont.2 50 br label %invoke.cont.4 51 52invoke.cont.4: ; preds = %if.end 53 br label %cleanup 54 55cleanup: ; preds = %invoke.cont.4, %if.then 56 ret void 57 58eh.resume: ; preds = %lpad 59 resume { i8*, i32 } undef 60} 61 62declare i32 @__gxx_personality_v0(...) 63 64; Function Attrs: noinline 65declare void @_ZNKSt3__16__treeIPKN5boost13serialization18extended_type_infoENS2_6detail11key_compareENS_9allocatorIS5_EEE4findIS5_EENS_21__tree_const_iteratorIS5_PNS_11__tree_nodeIS5_PvEElEERKT_() #0 align 2 66 67attributes #0 = { noinline "target-cpu"="a2q" } 68 69!llvm.module.flags = !{!0} 70 71!0 = !{i32 1, !"PIC Level", i32 2} 72 73