1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-m:e-i64:64-n32:64" 3*9880d681SAndroid Build Coastguard Workertarget triple = "powerpc64le-unknown-linux-gnu" 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker; This test checks for misordering of a TOC restore instruction relative 6*9880d681SAndroid Build Coastguard Worker; to subsequent uses of the TOC register. Previously this test broke 7*9880d681SAndroid Build Coastguard Worker; because there was no TOC register dependency between the instructions, 8*9880d681SAndroid Build Coastguard Worker; and the usual stack-adjust instructions that held the TOC restore in 9*9880d681SAndroid Build Coastguard Worker; place were optimized away. 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker%"class.llvm::Module" = type { %"class.llvm::LLVMContext"*, %"class.llvm::iplist", %"class.llvm::iplist.0", %"class.llvm::iplist.9", %"struct.llvm::ilist", %"class.std::basic_string", %"class.llvm::ValueSymbolTable"*, %"class.llvm::StringMap", %"class.std::unique_ptr", %"class.std::basic_string", %"class.std::basic_string", i8*, %"class.llvm::RandomNumberGenerator"*, %"class.std::basic_string", %"class.llvm::DataLayout" } 12*9880d681SAndroid Build Coastguard Worker%"class.llvm::iplist" = type { %"struct.llvm::ilist_traits", %"class.llvm::GlobalVariable"* } 13*9880d681SAndroid Build Coastguard Worker%"struct.llvm::ilist_traits" = type { %"class.llvm::ilist_node" } 14*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_node" = type { %"class.llvm::ilist_half_node", %"class.llvm::GlobalVariable"* } 15*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_half_node" = type { %"class.llvm::GlobalVariable"* } 16*9880d681SAndroid Build Coastguard Worker%"class.llvm::GlobalVariable" = type { %"class.llvm::GlobalObject", %"class.llvm::ilist_node", i8 } 17*9880d681SAndroid Build Coastguard Worker%"class.llvm::GlobalObject" = type { %"class.llvm::GlobalValue", %"class.std::basic_string", %"class.llvm::Comdat"* } 18*9880d681SAndroid Build Coastguard Worker%"class.llvm::GlobalValue" = type { %"class.llvm::Constant", i32, %"class.llvm::Module"* } 19*9880d681SAndroid Build Coastguard Worker%"class.llvm::Constant" = type { %"class.llvm::User" } 20*9880d681SAndroid Build Coastguard Worker%"class.llvm::User" = type { %"class.llvm::Value.base", i32, %"class.llvm::Use"* } 21*9880d681SAndroid Build Coastguard Worker%"class.llvm::Value.base" = type <{ i32 (...)**, %"class.llvm::Type"*, %"class.llvm::Use"*, %"class.llvm::StringMapEntry"*, i8, i8, i16 }> 22*9880d681SAndroid Build Coastguard Worker%"class.llvm::Type" = type { %"class.llvm::LLVMContext"*, i32, i32, %"class.llvm::Type"** } 23*9880d681SAndroid Build Coastguard Worker%"class.llvm::StringMapEntry" = type opaque 24*9880d681SAndroid Build Coastguard Worker%"class.llvm::Use" = type { %"class.llvm::Value"*, %"class.llvm::Use"*, %"class.llvm::PointerIntPair" } 25*9880d681SAndroid Build Coastguard Worker%"class.llvm::Value" = type { i32 (...)**, %"class.llvm::Type"*, %"class.llvm::Use"*, %"class.llvm::StringMapEntry"*, i8, i8, i16 } 26*9880d681SAndroid Build Coastguard Worker%"class.llvm::PointerIntPair" = type { i64 } 27*9880d681SAndroid Build Coastguard Worker%"class.llvm::Comdat" = type { %"class.llvm::StringMapEntry.43"*, i32 } 28*9880d681SAndroid Build Coastguard Worker%"class.llvm::StringMapEntry.43" = type opaque 29*9880d681SAndroid Build Coastguard Worker%"class.llvm::iplist.0" = type { %"struct.llvm::ilist_traits.1", %"class.llvm::Function"* } 30*9880d681SAndroid Build Coastguard Worker%"struct.llvm::ilist_traits.1" = type { %"class.llvm::ilist_node.7" } 31*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_node.7" = type { %"class.llvm::ilist_half_node.8", %"class.llvm::Function"* } 32*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_half_node.8" = type { %"class.llvm::Function"* } 33*9880d681SAndroid Build Coastguard Worker%"class.llvm::Function" = type { %"class.llvm::GlobalObject", %"class.llvm::ilist_node.7", %"class.llvm::iplist.44", %"class.llvm::iplist.52", %"class.llvm::ValueSymbolTable"*, %"class.llvm::AttributeSet" } 34*9880d681SAndroid Build Coastguard Worker%"class.llvm::iplist.44" = type { %"struct.llvm::ilist_traits.45", %"class.llvm::BasicBlock"* } 35*9880d681SAndroid Build Coastguard Worker%"struct.llvm::ilist_traits.45" = type { %"class.llvm::ilist_half_node.51" } 36*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_half_node.51" = type { %"class.llvm::BasicBlock"* } 37*9880d681SAndroid Build Coastguard Worker%"class.llvm::BasicBlock" = type { %"class.llvm::Value.base", %"class.llvm::ilist_node.61", %"class.llvm::iplist.62", %"class.llvm::Function"* } 38*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_node.61" = type { %"class.llvm::ilist_half_node.51", %"class.llvm::BasicBlock"* } 39*9880d681SAndroid Build Coastguard Worker%"class.llvm::iplist.62" = type { %"struct.llvm::ilist_traits.63", %"class.llvm::Instruction"* } 40*9880d681SAndroid Build Coastguard Worker%"struct.llvm::ilist_traits.63" = type { %"class.llvm::ilist_half_node.69" } 41*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_half_node.69" = type { %"class.llvm::Instruction"* } 42*9880d681SAndroid Build Coastguard Worker%"class.llvm::Instruction" = type { %"class.llvm::User", %"class.llvm::ilist_node.70", %"class.llvm::BasicBlock"*, %"class.llvm::DebugLoc" } 43*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_node.70" = type { %"class.llvm::ilist_half_node.69", %"class.llvm::Instruction"* } 44*9880d681SAndroid Build Coastguard Worker%"class.llvm::DebugLoc" = type { i32, i32 } 45*9880d681SAndroid Build Coastguard Worker%"class.llvm::iplist.52" = type { %"struct.llvm::ilist_traits.53", %"class.llvm::Argument"* } 46*9880d681SAndroid Build Coastguard Worker%"struct.llvm::ilist_traits.53" = type { %"class.llvm::ilist_half_node.59" } 47*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_half_node.59" = type { %"class.llvm::Argument"* } 48*9880d681SAndroid Build Coastguard Worker%"class.llvm::Argument" = type { %"class.llvm::Value.base", %"class.llvm::ilist_node.60", %"class.llvm::Function"* } 49*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_node.60" = type { %"class.llvm::ilist_half_node.59", %"class.llvm::Argument"* } 50*9880d681SAndroid Build Coastguard Worker%"class.llvm::AttributeSet" = type { %"class.llvm::AttributeSetImpl"* } 51*9880d681SAndroid Build Coastguard Worker%"class.llvm::AttributeSetImpl" = type opaque 52*9880d681SAndroid Build Coastguard Worker%"class.llvm::iplist.9" = type { %"struct.llvm::ilist_traits.10", %"class.llvm::GlobalAlias"* } 53*9880d681SAndroid Build Coastguard Worker%"struct.llvm::ilist_traits.10" = type { %"class.llvm::ilist_node.16" } 54*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_node.16" = type { %"class.llvm::ilist_half_node.17", %"class.llvm::GlobalAlias"* } 55*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_half_node.17" = type { %"class.llvm::GlobalAlias"* } 56*9880d681SAndroid Build Coastguard Worker%"class.llvm::GlobalAlias" = type { %"class.llvm::GlobalValue", %"class.llvm::ilist_node.16" } 57*9880d681SAndroid Build Coastguard Worker%"struct.llvm::ilist" = type { %"class.llvm::iplist.18" } 58*9880d681SAndroid Build Coastguard Worker%"class.llvm::iplist.18" = type { %"struct.llvm::ilist_traits.19", %"class.llvm::NamedMDNode"* } 59*9880d681SAndroid Build Coastguard Worker%"struct.llvm::ilist_traits.19" = type { %"class.llvm::ilist_node.24" } 60*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_node.24" = type { %"class.llvm::ilist_half_node.25", %"class.llvm::NamedMDNode"* } 61*9880d681SAndroid Build Coastguard Worker%"class.llvm::ilist_half_node.25" = type { %"class.llvm::NamedMDNode"* } 62*9880d681SAndroid Build Coastguard Worker%"class.llvm::NamedMDNode" = type { %"class.llvm::ilist_node.24", %"class.std::basic_string", %"class.llvm::Module"*, i8* } 63*9880d681SAndroid Build Coastguard Worker%"class.llvm::ValueSymbolTable" = type opaque 64*9880d681SAndroid Build Coastguard Worker%"class.llvm::StringMap" = type { %"class.llvm::StringMapImpl", %"class.llvm::MallocAllocator" } 65*9880d681SAndroid Build Coastguard Worker%"class.llvm::StringMapImpl" = type { %"class.llvm::StringMapEntryBase"**, i32, i32, i32, i32 } 66*9880d681SAndroid Build Coastguard Worker%"class.llvm::StringMapEntryBase" = type { i32 } 67*9880d681SAndroid Build Coastguard Worker%"class.llvm::MallocAllocator" = type { i8 } 68*9880d681SAndroid Build Coastguard Worker%"class.std::unique_ptr" = type { %"class.std::tuple" } 69*9880d681SAndroid Build Coastguard Worker%"class.std::tuple" = type { %"struct.std::_Tuple_impl" } 70*9880d681SAndroid Build Coastguard Worker%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.28" } 71*9880d681SAndroid Build Coastguard Worker%"struct.std::_Head_base.28" = type { %"class.llvm::GVMaterializer"* } 72*9880d681SAndroid Build Coastguard Worker%"class.llvm::GVMaterializer" = type opaque 73*9880d681SAndroid Build Coastguard Worker%"class.llvm::RandomNumberGenerator" = type opaque 74*9880d681SAndroid Build Coastguard Worker%"class.std::basic_string" = type { %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" } 75*9880d681SAndroid Build Coastguard Worker%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider" = type { i8* } 76*9880d681SAndroid Build Coastguard Worker%"class.llvm::DataLayout" = type { i8, i32, i32, [4 x i8], %"class.llvm::SmallVector", %"class.llvm::SmallVector.29", %"class.llvm::SmallVector.36", i8* } 77*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector" = type { %"class.llvm::SmallVectorImpl.base", %"struct.llvm::SmallVectorStorage" } 78*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.base" = type { %"class.llvm::SmallVectorTemplateBase.base" } 79*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.base" = type { %"class.llvm::SmallVectorTemplateCommon.base" } 80*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.base" = type <{ %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion" }> 81*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorBase" = type { i8*, i8*, i8* } 82*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion" = type { %"struct.llvm::AlignedCharArray" } 83*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArray" = type { [1 x i8] } 84*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage" = type { [7 x %"struct.llvm::AlignedCharArrayUnion"] } 85*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.29" = type { %"class.llvm::SmallVectorImpl.30", %"struct.llvm::SmallVectorStorage.35" } 86*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.30" = type { %"class.llvm::SmallVectorTemplateBase.31" } 87*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.31" = type { %"class.llvm::SmallVectorTemplateCommon.32" } 88*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.32" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.33" } 89*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.33" = type { %"struct.llvm::AlignedCharArray.34" } 90*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArray.34" = type { [8 x i8] } 91*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.35" = type { [15 x %"struct.llvm::AlignedCharArrayUnion.33"] } 92*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.36" = type { %"class.llvm::SmallVectorImpl.37", %"struct.llvm::SmallVectorStorage.42" } 93*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.37" = type { %"class.llvm::SmallVectorTemplateBase.38" } 94*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.38" = type { %"class.llvm::SmallVectorTemplateCommon.39" } 95*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.39" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.40" } 96*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.40" = type { %"struct.llvm::AlignedCharArray.41" } 97*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArray.41" = type { [16 x i8] } 98*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.42" = type { [7 x %"struct.llvm::AlignedCharArrayUnion.40"] } 99*9880d681SAndroid Build Coastguard Worker%"class.llvm::SMDiagnostic" = type { %"class.llvm::SourceMgr"*, %"class.llvm::SMLoc", %"class.std::basic_string", i32, i32, i32, %"class.std::basic_string", %"class.std::basic_string", %"class.std::vector.79", %"class.llvm::SmallVector.84" } 100*9880d681SAndroid Build Coastguard Worker%"class.llvm::SourceMgr" = type { %"class.std::vector", %"class.std::vector.74", i8*, void (%"class.llvm::SMDiagnostic"*, i8*)*, i8* } 101*9880d681SAndroid Build Coastguard Worker%"class.std::vector" = type { %"struct.std::_Vector_base" } 102*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<llvm::SourceMgr::SrcBuffer, std::allocator<llvm::SourceMgr::SrcBuffer> >::_Vector_impl" } 103*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base<llvm::SourceMgr::SrcBuffer, std::allocator<llvm::SourceMgr::SrcBuffer> >::_Vector_impl" = type { %"struct.llvm::SourceMgr::SrcBuffer"*, %"struct.llvm::SourceMgr::SrcBuffer"*, %"struct.llvm::SourceMgr::SrcBuffer"* } 104*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SourceMgr::SrcBuffer" = type { %"class.llvm::MemoryBuffer"*, %"class.llvm::SMLoc" } 105*9880d681SAndroid Build Coastguard Worker%"class.llvm::MemoryBuffer" = type { i32 (...)**, i8*, i8* } 106*9880d681SAndroid Build Coastguard Worker%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" } 107*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl" } 108*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl" = type { %"class.std::basic_string"*, %"class.std::basic_string"*, %"class.std::basic_string"* } 109*9880d681SAndroid Build Coastguard Worker%"class.llvm::SMLoc" = type { i8* } 110*9880d681SAndroid Build Coastguard Worker%"class.std::vector.79" = type { %"struct.std::_Vector_base.80" } 111*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base.80" = type { %"struct.std::_Vector_base<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > >::_Vector_impl" } 112*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base<std::pair<unsigned int, unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > >::_Vector_impl" = type { %"struct.std::pair"*, %"struct.std::pair"*, %"struct.std::pair"* } 113*9880d681SAndroid Build Coastguard Worker%"struct.std::pair" = type { i32, i32 } 114*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVector.84" = type { %"class.llvm::SmallVectorImpl.85", %"struct.llvm::SmallVectorStorage.90" } 115*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorImpl.85" = type { %"class.llvm::SmallVectorTemplateBase.86" } 116*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateBase.86" = type { %"class.llvm::SmallVectorTemplateCommon.87" } 117*9880d681SAndroid Build Coastguard Worker%"class.llvm::SmallVectorTemplateCommon.87" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.88" } 118*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.88" = type { %"struct.llvm::AlignedCharArray.89" } 119*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArray.89" = type { [24 x i8] } 120*9880d681SAndroid Build Coastguard Worker%"struct.llvm::SmallVectorStorage.90" = type { [3 x %"struct.llvm::AlignedCharArrayUnion.88"] } 121*9880d681SAndroid Build Coastguard Worker%"class.llvm::LLVMContext" = type { %"class.llvm::LLVMContextImpl"* } 122*9880d681SAndroid Build Coastguard Worker%"class.llvm::LLVMContextImpl" = type opaque 123*9880d681SAndroid Build Coastguard Worker%"class.std::allocator" = type { i8 } 124*9880d681SAndroid Build Coastguard Worker%"class.llvm::ErrorOr.109" = type { %union.anon.110, i8, [7 x i8] } 125*9880d681SAndroid Build Coastguard Worker%union.anon.110 = type { %"struct.llvm::AlignedCharArrayUnion.93" } 126*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArrayUnion.93" = type { %"struct.llvm::AlignedCharArray.94" } 127*9880d681SAndroid Build Coastguard Worker%"struct.llvm::AlignedCharArray.94" = type { [16 x i8] } 128*9880d681SAndroid Build Coastguard Worker%"class.llvm::ErrorOr" = type { %union.anon, i8, [7 x i8] } 129*9880d681SAndroid Build Coastguard Worker%union.anon = type { %"struct.llvm::AlignedCharArrayUnion.93" } 130*9880d681SAndroid Build Coastguard Worker%"class.std::error_category" = type { i32 (...)** } 131*9880d681SAndroid Build Coastguard Worker%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep" = type { %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base" } 132*9880d681SAndroid Build Coastguard Worker%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep_base" = type { i64, i64, i32 } 133*9880d681SAndroid Build Coastguard Worker%"class.llvm::SMFixIt" = type { %"class.llvm::SMRange", %"class.std::basic_string" } 134*9880d681SAndroid Build Coastguard Worker%"class.llvm::SMRange" = type { %"class.llvm::SMLoc", %"class.llvm::SMLoc" } 135*9880d681SAndroid Build Coastguard Worker%"struct.llvm::NamedRegionTimer" = type { %"class.llvm::TimeRegion" } 136*9880d681SAndroid Build Coastguard Worker%"class.llvm::TimeRegion" = type { %"class.llvm::Timer"* } 137*9880d681SAndroid Build Coastguard Worker%"class.llvm::Timer" = type { %"class.llvm::TimeRecord", %"class.std::basic_string", i8, %"class.llvm::TimerGroup"*, %"class.llvm::Timer"**, %"class.llvm::Timer"* } 138*9880d681SAndroid Build Coastguard Worker%"class.llvm::TimeRecord" = type { double, double, double, i64 } 139*9880d681SAndroid Build Coastguard Worker%"class.llvm::TimerGroup" = type { %"class.std::basic_string", %"class.llvm::Timer"*, %"class.std::vector.103", %"class.llvm::TimerGroup"**, %"class.llvm::TimerGroup"* } 140*9880d681SAndroid Build Coastguard Worker%"class.std::vector.103" = type { %"struct.std::_Vector_base.104" } 141*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base.104" = type { %"struct.std::_Vector_base<std::pair<llvm::TimeRecord, std::basic_string<char> >, std::allocator<std::pair<llvm::TimeRecord, std::basic_string<char> > > >::_Vector_impl" } 142*9880d681SAndroid Build Coastguard Worker%"struct.std::_Vector_base<std::pair<llvm::TimeRecord, std::basic_string<char> >, std::allocator<std::pair<llvm::TimeRecord, std::basic_string<char> > > >::_Vector_impl" = type { %"struct.std::pair.108"*, %"struct.std::pair.108"*, %"struct.std::pair.108"* } 143*9880d681SAndroid Build Coastguard Worker%"struct.std::pair.108" = type opaque 144*9880d681SAndroid Build Coastguard Worker%struct.LLVMOpaqueContext = type opaque 145*9880d681SAndroid Build Coastguard Worker%struct.LLVMOpaqueMemoryBuffer = type opaque 146*9880d681SAndroid Build Coastguard Worker%struct.LLVMOpaqueModule = type opaque 147*9880d681SAndroid Build Coastguard Worker%"class.llvm::raw_string_ostream" = type { %"class.llvm::raw_ostream.base", %"class.std::basic_string"* } 148*9880d681SAndroid Build Coastguard Worker%"class.llvm::raw_ostream.base" = type <{ i32 (...)**, i8*, i8*, i8*, i32 }> 149*9880d681SAndroid Build Coastguard Worker%"class.llvm::raw_ostream" = type { i32 (...)**, i8*, i8*, i8*, i32 } 150*9880d681SAndroid Build Coastguard Worker 151*9880d681SAndroid Build Coastguard Worker@.str = private unnamed_addr constant [28 x i8] c"Could not open input file: \00", align 1 152*9880d681SAndroid Build Coastguard Worker@.str1 = private unnamed_addr constant [54 x i8] c"!HasError && \22Cannot get value when an error exists!\22\00", align 1 153*9880d681SAndroid Build Coastguard Worker@.str2 = private unnamed_addr constant [61 x i8] c"/home/wschmidt/llvm/llvm-test/include/llvm/Support/ErrorOr.h\00", align 1 154*9880d681SAndroid Build Coastguard Worker@__PRETTY_FUNCTION__._ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv = private unnamed_addr constant [206 x i8] c"storage_type *llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> > >::getStorage() [T = std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >]\00", align 1 155*9880d681SAndroid Build Coastguard Worker@_ZNSs4_Rep20_S_empty_rep_storageE = external global [0 x i64] 156*9880d681SAndroid Build Coastguard Worker 157*9880d681SAndroid Build Coastguard Workerdeclare void @_ZN4llvm12MemoryBuffer14getFileOrSTDINENS_9StringRefEl(%"class.llvm::ErrorOr"* sret, [2 x i64], i64) #1 158*9880d681SAndroid Build Coastguard Worker 159*9880d681SAndroid Build Coastguard Workerdeclare void @_ZN4llvm16NamedRegionTimerC1ENS_9StringRefES1_b(%"struct.llvm::NamedRegionTimer"*, [2 x i64], [2 x i64], i1 zeroext) #1 160*9880d681SAndroid Build Coastguard Worker 161*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind 162*9880d681SAndroid Build Coastguard Workerdefine %"class.llvm::Module"* @_ZN4llvm11ParseIRFileERKSsRNS_12SMDiagnosticERNS_11LLVMContextE(%"class.std::basic_string"* nocapture readonly dereferenceable(8) %Filename, %"class.llvm::SMDiagnostic"* dereferenceable(200) %Err, %"class.llvm::LLVMContext"* dereferenceable(8) %Context) #0 { 163*9880d681SAndroid Build Coastguard Workerentry: 164*9880d681SAndroid Build Coastguard Worker; CHECK: .globl _ZN4llvm11ParseIRFileERKSsRNS_12SMDiagnosticERNS_11LLVMContextE 165*9880d681SAndroid Build Coastguard Worker; CHECK: bctrl 166*9880d681SAndroid Build Coastguard Worker; CHECK: ld 2, 24(1) 167*9880d681SAndroid Build Coastguard Worker; CHECK: addis [[REG:[0-9]+]], 2, .L.str@toc@ha 168*9880d681SAndroid Build Coastguard Worker; CHECK: addi {{[0-9]+}}, [[REG]], .L.str@toc@l 169*9880d681SAndroid Build Coastguard Worker; CHECK: bl _ZNSs6insertEmPKcm 170*9880d681SAndroid Build Coastguard Worker %.atomicdst.i.i.i.i.i46 = alloca i32, align 4 171*9880d681SAndroid Build Coastguard Worker %ref.tmp.i.i47 = alloca %"class.std::allocator", align 1 172*9880d681SAndroid Build Coastguard Worker %.atomicdst.i.i.i.i.i = alloca i32, align 4 173*9880d681SAndroid Build Coastguard Worker %ref.tmp.i.i = alloca %"class.std::allocator", align 1 174*9880d681SAndroid Build Coastguard Worker %ref.tmp.i.i2.i = alloca %"class.std::allocator", align 1 175*9880d681SAndroid Build Coastguard Worker %ref.tmp.i.i.i = alloca %"class.std::allocator", align 1 176*9880d681SAndroid Build Coastguard Worker %FileOrErr = alloca %"class.llvm::ErrorOr", align 8 177*9880d681SAndroid Build Coastguard Worker %ref.tmp = alloca %"class.llvm::SMDiagnostic", align 8 178*9880d681SAndroid Build Coastguard Worker %ref.tmp5 = alloca %"class.std::basic_string", align 8 179*9880d681SAndroid Build Coastguard Worker %_M_p.i.i.i = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %Filename, i64 0, i32 0, i32 0 180*9880d681SAndroid Build Coastguard Worker %0 = load i8*, i8** %_M_p.i.i.i, align 8, !tbaa !1 181*9880d681SAndroid Build Coastguard Worker %1 = ptrtoint i8* %0 to i64 182*9880d681SAndroid Build Coastguard Worker %arrayidx.i.i.i = getelementptr inbounds i8, i8* %0, i64 -24 183*9880d681SAndroid Build Coastguard Worker %_M_length.i.i = bitcast i8* %arrayidx.i.i.i to i64* 184*9880d681SAndroid Build Coastguard Worker %2 = load i64, i64* %_M_length.i.i, align 8, !tbaa !7 185*9880d681SAndroid Build Coastguard Worker %.fca.0.insert18 = insertvalue [2 x i64] undef, i64 %1, 0 186*9880d681SAndroid Build Coastguard Worker %.fca.1.insert21 = insertvalue [2 x i64] %.fca.0.insert18, i64 %2, 1 187*9880d681SAndroid Build Coastguard Worker call void @_ZN4llvm12MemoryBuffer14getFileOrSTDINENS_9StringRefEl(%"class.llvm::ErrorOr"* sret %FileOrErr, [2 x i64] %.fca.1.insert21, i64 -1) #3 188*9880d681SAndroid Build Coastguard Worker %HasError.i24 = getelementptr inbounds %"class.llvm::ErrorOr", %"class.llvm::ErrorOr"* %FileOrErr, i64 0, i32 1 189*9880d681SAndroid Build Coastguard Worker %bf.load.i25 = load i8, i8* %HasError.i24, align 8 190*9880d681SAndroid Build Coastguard Worker %3 = and i8 %bf.load.i25, 1 191*9880d681SAndroid Build Coastguard Worker %bf.cast.i26 = icmp eq i8 %3, 0 192*9880d681SAndroid Build Coastguard Worker br i1 %bf.cast.i26, label %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE3getEv.exit, label %_ZNK4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE8getErrorEv.exit 193*9880d681SAndroid Build Coastguard Worker 194*9880d681SAndroid Build Coastguard Worker_ZNK4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE8getErrorEv.exit: ; preds = %entry 195*9880d681SAndroid Build Coastguard Worker %retval.sroa.0.0..sroa_cast.i = bitcast %"class.llvm::ErrorOr"* %FileOrErr to i64* 196*9880d681SAndroid Build Coastguard Worker %retval.sroa.0.0.copyload.i = load i64, i64* %retval.sroa.0.0..sroa_cast.i, align 8 197*9880d681SAndroid Build Coastguard Worker %retval.sroa.3.0..sroa_idx.i = getelementptr inbounds %"class.llvm::ErrorOr", %"class.llvm::ErrorOr"* %FileOrErr, i64 0, i32 0, i32 0, i32 0, i32 0, i64 8 198*9880d681SAndroid Build Coastguard Worker %retval.sroa.3.0..sroa_cast.i = bitcast i8* %retval.sroa.3.0..sroa_idx.i to i64* 199*9880d681SAndroid Build Coastguard Worker %retval.sroa.3.0.copyload.i = load i64, i64* %retval.sroa.3.0..sroa_cast.i, align 8 200*9880d681SAndroid Build Coastguard Worker %phitmp = trunc i64 %retval.sroa.0.0.copyload.i to i32 201*9880d681SAndroid Build Coastguard Worker %cmp.i = icmp eq i32 %phitmp, 0 202*9880d681SAndroid Build Coastguard Worker br i1 %cmp.i, label %cond.false.i.i, label %if.then 203*9880d681SAndroid Build Coastguard Worker 204*9880d681SAndroid Build Coastguard Workerif.then: ; preds = %_ZNK4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE8getErrorEv.exit 205*9880d681SAndroid Build Coastguard Worker %.c = inttoptr i64 %retval.sroa.3.0.copyload.i to %"class.std::error_category"* 206*9880d681SAndroid Build Coastguard Worker %4 = load i8*, i8** %_M_p.i.i.i, align 8, !tbaa !1 207*9880d681SAndroid Build Coastguard Worker %arrayidx.i.i.i30 = getelementptr inbounds i8, i8* %4, i64 -24 208*9880d681SAndroid Build Coastguard Worker %_M_length.i.i31 = bitcast i8* %arrayidx.i.i.i30 to i64* 209*9880d681SAndroid Build Coastguard Worker %5 = load i64, i64* %_M_length.i.i31, align 8, !tbaa !7 210*9880d681SAndroid Build Coastguard Worker %6 = inttoptr i64 %retval.sroa.3.0.copyload.i to void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)*** 211*9880d681SAndroid Build Coastguard Worker %vtable.i = load void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)**, void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)*** %6, align 8, !tbaa !11 212*9880d681SAndroid Build Coastguard Worker %vfn.i = getelementptr inbounds void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)*, void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)** %vtable.i, i64 3 213*9880d681SAndroid Build Coastguard Worker %7 = load void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)*, void (%"class.std::basic_string"*, %"class.std::error_category"*, i32)** %vfn.i, align 8 214*9880d681SAndroid Build Coastguard Worker call void %7(%"class.std::basic_string"* sret %ref.tmp5, %"class.std::error_category"* %.c, i32 signext %phitmp) #3 215*9880d681SAndroid Build Coastguard Worker %call2.i.i = call dereferenceable(8) %"class.std::basic_string"* @_ZNSs6insertEmPKcm(%"class.std::basic_string"* %ref.tmp5, i64 0, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str, i64 0, i64 0), i64 27) #3 216*9880d681SAndroid Build Coastguard Worker %_M_p2.i.i.i.i = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %call2.i.i, i64 0, i32 0, i32 0 217*9880d681SAndroid Build Coastguard Worker %8 = load i8*, i8** %_M_p2.i.i.i.i, align 8, !tbaa !13 218*9880d681SAndroid Build Coastguard Worker store i8* bitcast (i64* getelementptr inbounds ([0 x i64], [0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3) to i8*), i8** %_M_p2.i.i.i.i, align 8, !tbaa !1 219*9880d681SAndroid Build Coastguard Worker %arrayidx.i.i.i36 = getelementptr inbounds i8, i8* %8, i64 -24 220*9880d681SAndroid Build Coastguard Worker %_M_length.i.i37 = bitcast i8* %arrayidx.i.i.i36 to i64* 221*9880d681SAndroid Build Coastguard Worker %9 = load i64, i64* %_M_length.i.i37, align 8, !tbaa !7 222*9880d681SAndroid Build Coastguard Worker %Filename.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 2 223*9880d681SAndroid Build Coastguard Worker %10 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i2.i, i64 0, i32 0 224*9880d681SAndroid Build Coastguard Worker %11 = bitcast %"class.llvm::SMDiagnostic"* %ref.tmp to i8* 225*9880d681SAndroid Build Coastguard Worker call void @llvm.memset.p0i8.i64(i8* %11, i8 0, i64 16, i32 8, i1 false) #3 226*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.start(i64 1, i8* %10) #3 227*9880d681SAndroid Build Coastguard Worker %tobool.i.i4.i = icmp eq i8* %4, null 228*9880d681SAndroid Build Coastguard Worker br i1 %tobool.i.i4.i, label %if.then.i.i6.i, label %if.end.i.i8.i 229*9880d681SAndroid Build Coastguard Worker 230*9880d681SAndroid Build Coastguard Workerif.then.i.i6.i: ; preds = %if.then 231*9880d681SAndroid Build Coastguard Worker %_M_p.i.i.i.i.i.i5.i = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %Filename.i, i64 0, i32 0, i32 0 232*9880d681SAndroid Build Coastguard Worker store i8* bitcast (i64* getelementptr inbounds ([0 x i64], [0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3) to i8*), i8** %_M_p.i.i.i.i.i.i5.i, align 8, !tbaa !13 233*9880d681SAndroid Build Coastguard Worker br label %_ZNK4llvm9StringRefcvSsEv.exit9.i 234*9880d681SAndroid Build Coastguard Worker 235*9880d681SAndroid Build Coastguard Workerif.end.i.i8.i: ; preds = %if.then 236*9880d681SAndroid Build Coastguard Worker call void @_ZNSsC1EPKcmRKSaIcE(%"class.std::basic_string"* %Filename.i, i8* %4, i64 %5, %"class.std::allocator"* dereferenceable(1) %ref.tmp.i.i2.i) #3 237*9880d681SAndroid Build Coastguard Worker br label %_ZNK4llvm9StringRefcvSsEv.exit9.i 238*9880d681SAndroid Build Coastguard Worker 239*9880d681SAndroid Build Coastguard Worker_ZNK4llvm9StringRefcvSsEv.exit9.i: ; preds = %if.end.i.i8.i, %if.then.i.i6.i 240*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.end(i64 1, i8* %10) #3 241*9880d681SAndroid Build Coastguard Worker %LineNo.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 3 242*9880d681SAndroid Build Coastguard Worker store i32 -1, i32* %LineNo.i, align 8, !tbaa !14 243*9880d681SAndroid Build Coastguard Worker %ColumnNo.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 4 244*9880d681SAndroid Build Coastguard Worker store i32 -1, i32* %ColumnNo.i, align 4, !tbaa !21 245*9880d681SAndroid Build Coastguard Worker %Kind.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 5 246*9880d681SAndroid Build Coastguard Worker store i32 0, i32* %Kind.i, align 8, !tbaa !22 247*9880d681SAndroid Build Coastguard Worker %Message.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 6 248*9880d681SAndroid Build Coastguard Worker %12 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i.i, i64 0, i32 0 249*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.start(i64 1, i8* %12) #3 250*9880d681SAndroid Build Coastguard Worker %tobool.i.i.i = icmp eq i8* %8, null 251*9880d681SAndroid Build Coastguard Worker br i1 %tobool.i.i.i, label %if.then.i.i.i, label %if.end.i.i.i 252*9880d681SAndroid Build Coastguard Worker 253*9880d681SAndroid Build Coastguard Workerif.then.i.i.i: ; preds = %_ZNK4llvm9StringRefcvSsEv.exit9.i 254*9880d681SAndroid Build Coastguard Worker %_M_p.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %Message.i, i64 0, i32 0, i32 0 255*9880d681SAndroid Build Coastguard Worker store i8* bitcast (i64* getelementptr inbounds ([0 x i64], [0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3) to i8*), i8** %_M_p.i.i.i.i.i.i.i, align 8, !tbaa !13 256*9880d681SAndroid Build Coastguard Worker br label %_ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit 257*9880d681SAndroid Build Coastguard Worker 258*9880d681SAndroid Build Coastguard Workerif.end.i.i.i: ; preds = %_ZNK4llvm9StringRefcvSsEv.exit9.i 259*9880d681SAndroid Build Coastguard Worker call void @_ZNSsC1EPKcmRKSaIcE(%"class.std::basic_string"* %Message.i, i8* %8, i64 %9, %"class.std::allocator"* dereferenceable(1) %ref.tmp.i.i.i) #3 260*9880d681SAndroid Build Coastguard Worker br label %_ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit 261*9880d681SAndroid Build Coastguard Worker 262*9880d681SAndroid Build Coastguard Worker_ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit: ; preds = %if.then.i.i.i, %if.end.i.i.i 263*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.end(i64 1, i8* %12) #3 264*9880d681SAndroid Build Coastguard Worker %_M_p.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 7, i32 0, i32 0 265*9880d681SAndroid Build Coastguard Worker store i8* bitcast (i64* getelementptr inbounds ([0 x i64], [0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE, i64 0, i64 3) to i8*), i8** %_M_p.i.i.i.i.i, align 8, !tbaa !13 266*9880d681SAndroid Build Coastguard Worker %Ranges.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 8 267*9880d681SAndroid Build Coastguard Worker %13 = bitcast %"class.std::vector.79"* %Ranges.i to i8* 268*9880d681SAndroid Build Coastguard Worker call void @llvm.memset.p0i8.i64(i8* %13, i8 0, i64 24, i32 8, i1 false) #3 269*9880d681SAndroid Build Coastguard Worker %14 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i64 0 270*9880d681SAndroid Build Coastguard Worker %BeginX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 0, i32 0 271*9880d681SAndroid Build Coastguard Worker store i8* %14, i8** %BeginX.i.i.i.i.i.i, align 8, !tbaa !23 272*9880d681SAndroid Build Coastguard Worker %EndX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 0, i32 1 273*9880d681SAndroid Build Coastguard Worker store i8* %14, i8** %EndX.i.i.i.i.i.i, align 8, !tbaa !25 274*9880d681SAndroid Build Coastguard Worker %CapacityX.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 0, i32 2 275*9880d681SAndroid Build Coastguard Worker %add.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i64 96 276*9880d681SAndroid Build Coastguard Worker store i8* %add.ptr.i.i.i.i.i.i, i8** %CapacityX.i.i.i.i.i.i, align 8, !tbaa !26 277*9880d681SAndroid Build Coastguard Worker %15 = bitcast %"class.llvm::SMDiagnostic"* %Err to i8* 278*9880d681SAndroid Build Coastguard Worker call void @llvm.memcpy.p0i8.p0i8.i64(i8* %15, i8* %11, i64 16, i32 8, i1 false) #3 279*9880d681SAndroid Build Coastguard Worker %Filename.i38 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 2 280*9880d681SAndroid Build Coastguard Worker call void @_ZNSs4swapERSs(%"class.std::basic_string"* %Filename.i38, %"class.std::basic_string"* dereferenceable(8) %Filename.i) #3 281*9880d681SAndroid Build Coastguard Worker %LineNo.i39 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 3 282*9880d681SAndroid Build Coastguard Worker %16 = bitcast i32* %LineNo.i39 to i8* 283*9880d681SAndroid Build Coastguard Worker %17 = bitcast i32* %LineNo.i to i8* 284*9880d681SAndroid Build Coastguard Worker call void @llvm.memcpy.p0i8.p0i8.i64(i8* %16, i8* %17, i64 12, i32 4, i1 false) #3 285*9880d681SAndroid Build Coastguard Worker %Message.i40 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 6 286*9880d681SAndroid Build Coastguard Worker call void @_ZNSs4swapERSs(%"class.std::basic_string"* %Message.i40, %"class.std::basic_string"* dereferenceable(8) %Message.i) #3 287*9880d681SAndroid Build Coastguard Worker %LineContents.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 7 288*9880d681SAndroid Build Coastguard Worker %LineContents7.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 7 289*9880d681SAndroid Build Coastguard Worker call void @_ZNSs4swapERSs(%"class.std::basic_string"* %LineContents.i, %"class.std::basic_string"* dereferenceable(8) %LineContents7.i) #3 290*9880d681SAndroid Build Coastguard Worker %Ranges.i41 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 8 291*9880d681SAndroid Build Coastguard Worker %_M_start.i7.i.i.i = getelementptr inbounds %"class.std::vector.79", %"class.std::vector.79"* %Ranges.i41, i64 0, i32 0, i32 0, i32 0 292*9880d681SAndroid Build Coastguard Worker %18 = load %"struct.std::pair"*, %"struct.std::pair"** %_M_start.i7.i.i.i, align 8, !tbaa !27 293*9880d681SAndroid Build Coastguard Worker %_M_finish.i9.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 8, i32 0, i32 0, i32 1 294*9880d681SAndroid Build Coastguard Worker %_M_end_of_storage.i11.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 8, i32 0, i32 0, i32 2 295*9880d681SAndroid Build Coastguard Worker %_M_start2.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 8, i32 0, i32 0, i32 0 296*9880d681SAndroid Build Coastguard Worker %19 = bitcast %"class.std::vector.79"* %Ranges.i41 to i8* 297*9880d681SAndroid Build Coastguard Worker call void @llvm.memset.p0i8.i64(i8* %19, i8 0, i64 16, i32 8, i1 false) #3 298*9880d681SAndroid Build Coastguard Worker %20 = load %"struct.std::pair"*, %"struct.std::pair"** %_M_start2.i.i.i.i, align 8, !tbaa !27 299*9880d681SAndroid Build Coastguard Worker store %"struct.std::pair"* %20, %"struct.std::pair"** %_M_start.i7.i.i.i, align 8, !tbaa !27 300*9880d681SAndroid Build Coastguard Worker store %"struct.std::pair"* null, %"struct.std::pair"** %_M_start2.i.i.i.i, align 8, !tbaa !27 301*9880d681SAndroid Build Coastguard Worker %_M_finish3.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 8, i32 0, i32 0, i32 1 302*9880d681SAndroid Build Coastguard Worker %21 = load %"struct.std::pair"*, %"struct.std::pair"** %_M_finish3.i.i.i.i, align 8, !tbaa !27 303*9880d681SAndroid Build Coastguard Worker store %"struct.std::pair"* %21, %"struct.std::pair"** %_M_finish.i9.i.i.i, align 8, !tbaa !27 304*9880d681SAndroid Build Coastguard Worker store %"struct.std::pair"* null, %"struct.std::pair"** %_M_finish3.i.i.i.i, align 8, !tbaa !27 305*9880d681SAndroid Build Coastguard Worker %_M_end_of_storage4.i.i.i.i = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 8, i32 0, i32 0, i32 2 306*9880d681SAndroid Build Coastguard Worker %22 = load %"struct.std::pair"*, %"struct.std::pair"** %_M_end_of_storage4.i.i.i.i, align 8, !tbaa !27 307*9880d681SAndroid Build Coastguard Worker store %"struct.std::pair"* %22, %"struct.std::pair"** %_M_end_of_storage.i11.i.i.i, align 8, !tbaa !27 308*9880d681SAndroid Build Coastguard Worker store %"struct.std::pair"* null, %"struct.std::pair"** %_M_end_of_storage4.i.i.i.i, align 8, !tbaa !27 309*9880d681SAndroid Build Coastguard Worker %tobool.i.i.i.i.i.i = icmp eq %"struct.std::pair"* %18, null 310*9880d681SAndroid Build Coastguard Worker br i1 %tobool.i.i.i.i.i.i, label %_ZN4llvm12SMDiagnosticaSEOS0_.exit, label %if.then.i.i.i.i.i.i 311*9880d681SAndroid Build Coastguard Worker 312*9880d681SAndroid Build Coastguard Workerif.then.i.i.i.i.i.i: ; preds = %_ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit 313*9880d681SAndroid Build Coastguard Worker %23 = bitcast %"struct.std::pair"* %18 to i8* 314*9880d681SAndroid Build Coastguard Worker call void @_ZdlPv(i8* %23) #3 315*9880d681SAndroid Build Coastguard Worker br label %_ZN4llvm12SMDiagnosticaSEOS0_.exit 316*9880d681SAndroid Build Coastguard Worker 317*9880d681SAndroid Build Coastguard Worker_ZN4llvm12SMDiagnosticaSEOS0_.exit: ; preds = %_ZN4llvm12SMDiagnosticC2ENS_9StringRefENS_9SourceMgr8DiagKindES1_.exit, %if.then.i.i.i.i.i.i 318*9880d681SAndroid Build Coastguard Worker %24 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %Err, i64 0, i32 9, i32 0 319*9880d681SAndroid Build Coastguard Worker %25 = getelementptr inbounds %"class.llvm::SMDiagnostic", %"class.llvm::SMDiagnostic"* %ref.tmp, i64 0, i32 9, i32 0 320*9880d681SAndroid Build Coastguard Worker %call2.i.i42 = call dereferenceable(48) %"class.llvm::SmallVectorImpl.85"* @_ZN4llvm15SmallVectorImplINS_7SMFixItEEaSEOS2_(%"class.llvm::SmallVectorImpl.85"* %24, %"class.llvm::SmallVectorImpl.85"* dereferenceable(48) %25) #3 321*9880d681SAndroid Build Coastguard Worker call void @_ZN4llvm12SMDiagnosticD2Ev(%"class.llvm::SMDiagnostic"* %ref.tmp) #3 322*9880d681SAndroid Build Coastguard Worker %26 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i, i64 0, i32 0 323*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.start(i64 1, i8* %26) #3 324*9880d681SAndroid Build Coastguard Worker %27 = bitcast i8* %arrayidx.i.i.i36 to %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"* 325*9880d681SAndroid Build Coastguard Worker %cmp.i.i.i = icmp eq i8* %arrayidx.i.i.i36, bitcast ([0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE to i8*) 326*9880d681SAndroid Build Coastguard Worker br i1 %cmp.i.i.i, label %_ZNSsD1Ev.exit, label %if.then.i.i.i45, !prof !28 327*9880d681SAndroid Build Coastguard Worker 328*9880d681SAndroid Build Coastguard Workerif.then.i.i.i45: ; preds = %_ZN4llvm12SMDiagnosticaSEOS0_.exit 329*9880d681SAndroid Build Coastguard Worker %_M_refcount.i.i.i = getelementptr inbounds i8, i8* %8, i64 -8 330*9880d681SAndroid Build Coastguard Worker %28 = bitcast i8* %_M_refcount.i.i.i to i32* 331*9880d681SAndroid Build Coastguard Worker br i1 icmp ne (i8* bitcast (i32 (i32*, void (i8*)*)* @__pthread_key_create to i8*), i8* null), label %if.then.i.i.i.i, label %if.else.i.i.i.i 332*9880d681SAndroid Build Coastguard Worker 333*9880d681SAndroid Build Coastguard Workerif.then.i.i.i.i: ; preds = %if.then.i.i.i45 334*9880d681SAndroid Build Coastguard Worker %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast = bitcast i32* %.atomicdst.i.i.i.i.i to i8* 335*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.start(i64 4, i8* %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) 336*9880d681SAndroid Build Coastguard Worker %29 = atomicrmw volatile add i32* %28, i32 -1 acq_rel 337*9880d681SAndroid Build Coastguard Worker store i32 %29, i32* %.atomicdst.i.i.i.i.i, align 4 338*9880d681SAndroid Build Coastguard Worker %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..atomicdst.0..atomicdst.0..i.i.i.i.i = load volatile i32, i32* %.atomicdst.i.i.i.i.i, align 4 339*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.end(i64 4, i8* %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) 340*9880d681SAndroid Build Coastguard Worker br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i 341*9880d681SAndroid Build Coastguard Worker 342*9880d681SAndroid Build Coastguard Workerif.else.i.i.i.i: ; preds = %if.then.i.i.i45 343*9880d681SAndroid Build Coastguard Worker %30 = load i32, i32* %28, align 4, !tbaa !29 344*9880d681SAndroid Build Coastguard Worker %add.i.i.i.i.i = add nsw i32 %30, -1 345*9880d681SAndroid Build Coastguard Worker store i32 %add.i.i.i.i.i, i32* %28, align 4, !tbaa !29 346*9880d681SAndroid Build Coastguard Worker br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i 347*9880d681SAndroid Build Coastguard Worker 348*9880d681SAndroid Build Coastguard Worker_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i: ; preds = %if.else.i.i.i.i, %if.then.i.i.i.i 349*9880d681SAndroid Build Coastguard Worker %retval.0.i.i.i.i = phi i32 [ %.atomicdst.i.i.i.i.i.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..atomicdst.0..atomicdst.0..i.i.i.i.i, %if.then.i.i.i.i ], [ %30, %if.else.i.i.i.i ] 350*9880d681SAndroid Build Coastguard Worker %cmp3.i.i.i = icmp slt i32 %retval.0.i.i.i.i, 1 351*9880d681SAndroid Build Coastguard Worker br i1 %cmp3.i.i.i, label %if.then4.i.i.i, label %_ZNSsD1Ev.exit 352*9880d681SAndroid Build Coastguard Worker 353*9880d681SAndroid Build Coastguard Workerif.then4.i.i.i: ; preds = %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i 354*9880d681SAndroid Build Coastguard Worker call void @_ZNSs4_Rep10_M_destroyERKSaIcE(%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"* %27, %"class.std::allocator"* dereferenceable(1) %ref.tmp.i.i) #3 355*9880d681SAndroid Build Coastguard Worker br label %_ZNSsD1Ev.exit 356*9880d681SAndroid Build Coastguard Worker 357*9880d681SAndroid Build Coastguard Worker_ZNSsD1Ev.exit: ; preds = %_ZN4llvm12SMDiagnosticaSEOS0_.exit, %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i, %if.then4.i.i.i 358*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.end(i64 1, i8* %26) #3 359*9880d681SAndroid Build Coastguard Worker %31 = getelementptr inbounds %"class.std::allocator", %"class.std::allocator"* %ref.tmp.i.i47, i64 0, i32 0 360*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.start(i64 1, i8* %31) #3 361*9880d681SAndroid Build Coastguard Worker %_M_p.i.i.i.i48 = getelementptr inbounds %"class.std::basic_string", %"class.std::basic_string"* %ref.tmp5, i64 0, i32 0, i32 0 362*9880d681SAndroid Build Coastguard Worker %32 = load i8*, i8** %_M_p.i.i.i.i48, align 8, !tbaa !1 363*9880d681SAndroid Build Coastguard Worker %arrayidx.i.i.i49 = getelementptr inbounds i8, i8* %32, i64 -24 364*9880d681SAndroid Build Coastguard Worker %33 = bitcast i8* %arrayidx.i.i.i49 to %"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"* 365*9880d681SAndroid Build Coastguard Worker %cmp.i.i.i50 = icmp eq i8* %arrayidx.i.i.i49, bitcast ([0 x i64]* @_ZNSs4_Rep20_S_empty_rep_storageE to i8*) 366*9880d681SAndroid Build Coastguard Worker br i1 %cmp.i.i.i50, label %_ZNSsD1Ev.exit62, label %if.then.i.i.i52, !prof !28 367*9880d681SAndroid Build Coastguard Worker 368*9880d681SAndroid Build Coastguard Workerif.then.i.i.i52: ; preds = %_ZNSsD1Ev.exit 369*9880d681SAndroid Build Coastguard Worker %_M_refcount.i.i.i51 = getelementptr inbounds i8, i8* %32, i64 -8 370*9880d681SAndroid Build Coastguard Worker %34 = bitcast i8* %_M_refcount.i.i.i51 to i32* 371*9880d681SAndroid Build Coastguard Worker br i1 icmp ne (i8* bitcast (i32 (i32*, void (i8*)*)* @__pthread_key_create to i8*), i8* null), label %if.then.i.i.i.i55, label %if.else.i.i.i.i57 372*9880d681SAndroid Build Coastguard Worker 373*9880d681SAndroid Build Coastguard Workerif.then.i.i.i.i55: ; preds = %if.then.i.i.i52 374*9880d681SAndroid Build Coastguard Worker %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast = bitcast i32* %.atomicdst.i.i.i.i.i46 to i8* 375*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.start(i64 4, i8* %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) 376*9880d681SAndroid Build Coastguard Worker %35 = atomicrmw volatile add i32* %34, i32 -1 acq_rel 377*9880d681SAndroid Build Coastguard Worker store i32 %35, i32* %.atomicdst.i.i.i.i.i46, align 4 378*9880d681SAndroid Build Coastguard Worker %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..atomicdst.0..atomicdst.0..i.i.i.i.i54 = load volatile i32, i32* %.atomicdst.i.i.i.i.i46, align 4 379*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.end(i64 4, i8* %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..sroa_cast) 380*9880d681SAndroid Build Coastguard Worker br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60 381*9880d681SAndroid Build Coastguard Worker 382*9880d681SAndroid Build Coastguard Workerif.else.i.i.i.i57: ; preds = %if.then.i.i.i52 383*9880d681SAndroid Build Coastguard Worker %36 = load i32, i32* %34, align 4, !tbaa !29 384*9880d681SAndroid Build Coastguard Worker %add.i.i.i.i.i56 = add nsw i32 %36, -1 385*9880d681SAndroid Build Coastguard Worker store i32 %add.i.i.i.i.i56, i32* %34, align 4, !tbaa !29 386*9880d681SAndroid Build Coastguard Worker br label %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60 387*9880d681SAndroid Build Coastguard Worker 388*9880d681SAndroid Build Coastguard Worker_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60: ; preds = %if.else.i.i.i.i57, %if.then.i.i.i.i55 389*9880d681SAndroid Build Coastguard Worker %retval.0.i.i.i.i58 = phi i32 [ %.atomicdst.i.i.i.i.i46.0..atomicdst.i.i.i.i.0..atomicdst.i.i.i.0..atomicdst.i.i.0..atomicdst.i.0..atomicdst.0..atomicdst.0..i.i.i.i.i54, %if.then.i.i.i.i55 ], [ %36, %if.else.i.i.i.i57 ] 390*9880d681SAndroid Build Coastguard Worker %cmp3.i.i.i59 = icmp slt i32 %retval.0.i.i.i.i58, 1 391*9880d681SAndroid Build Coastguard Worker br i1 %cmp3.i.i.i59, label %if.then4.i.i.i61, label %_ZNSsD1Ev.exit62 392*9880d681SAndroid Build Coastguard Worker 393*9880d681SAndroid Build Coastguard Workerif.then4.i.i.i61: ; preds = %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60 394*9880d681SAndroid Build Coastguard Worker call void @_ZNSs4_Rep10_M_destroyERKSaIcE(%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"* %33, %"class.std::allocator"* dereferenceable(1) %ref.tmp.i.i47) #3 395*9880d681SAndroid Build Coastguard Worker br label %_ZNSsD1Ev.exit62 396*9880d681SAndroid Build Coastguard Worker 397*9880d681SAndroid Build Coastguard Worker_ZNSsD1Ev.exit62: ; preds = %_ZNSsD1Ev.exit, %_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.exit.i.i.i60, %if.then4.i.i.i61 398*9880d681SAndroid Build Coastguard Worker call void @llvm.lifetime.end(i64 1, i8* %31) #3 399*9880d681SAndroid Build Coastguard Worker br label %cleanup 400*9880d681SAndroid Build Coastguard Worker 401*9880d681SAndroid Build Coastguard Workercond.false.i.i: ; preds = %_ZNK4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE8getErrorEv.exit 402*9880d681SAndroid Build Coastguard Worker call void @__assert_fail(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str1, i64 0, i64 0), i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str2, i64 0, i64 0), i32 zeroext 242, i8* getelementptr inbounds ([206 x i8], [206 x i8]* @__PRETTY_FUNCTION__._ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv, i64 0, i64 0)) #7 403*9880d681SAndroid Build Coastguard Worker unreachable 404*9880d681SAndroid Build Coastguard Worker 405*9880d681SAndroid Build Coastguard Worker_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE3getEv.exit: ; preds = %entry 406*9880d681SAndroid Build Coastguard Worker %_M_head_impl.i.i.i.i.i = bitcast %"class.llvm::ErrorOr"* %FileOrErr to %"class.llvm::MemoryBuffer"** 407*9880d681SAndroid Build Coastguard Worker %37 = load %"class.llvm::MemoryBuffer"*, %"class.llvm::MemoryBuffer"** %_M_head_impl.i.i.i.i.i, align 8, !tbaa !27 408*9880d681SAndroid Build Coastguard Worker %call9 = call %"class.llvm::Module"* @_ZN4llvm7ParseIREPNS_12MemoryBufferERNS_12SMDiagnosticERNS_11LLVMContextE(%"class.llvm::MemoryBuffer"* %37, %"class.llvm::SMDiagnostic"* dereferenceable(200) %Err, %"class.llvm::LLVMContext"* dereferenceable(8) %Context) 409*9880d681SAndroid Build Coastguard Worker br label %cleanup 410*9880d681SAndroid Build Coastguard Worker 411*9880d681SAndroid Build Coastguard Workercleanup: ; preds = %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE3getEv.exit, %_ZNSsD1Ev.exit62 412*9880d681SAndroid Build Coastguard Worker %retval.0 = phi %"class.llvm::Module"* [ null, %_ZNSsD1Ev.exit62 ], [ %call9, %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE3getEv.exit ] 413*9880d681SAndroid Build Coastguard Worker %bf.load.i = load i8, i8* %HasError.i24, align 8 414*9880d681SAndroid Build Coastguard Worker %38 = and i8 %bf.load.i, 1 415*9880d681SAndroid Build Coastguard Worker %bf.cast.i = icmp eq i8 %38, 0 416*9880d681SAndroid Build Coastguard Worker br i1 %bf.cast.i, label %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv.exit.i, label %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEED2Ev.exit 417*9880d681SAndroid Build Coastguard Worker 418*9880d681SAndroid Build Coastguard Worker_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv.exit.i: ; preds = %cleanup 419*9880d681SAndroid Build Coastguard Worker %_M_head_impl.i.i.i.i.i.i = bitcast %"class.llvm::ErrorOr"* %FileOrErr to %"class.llvm::MemoryBuffer"** 420*9880d681SAndroid Build Coastguard Worker %39 = load %"class.llvm::MemoryBuffer"*, %"class.llvm::MemoryBuffer"** %_M_head_impl.i.i.i.i.i.i, align 8, !tbaa !27 421*9880d681SAndroid Build Coastguard Worker %cmp.i.i = icmp eq %"class.llvm::MemoryBuffer"* %39, null 422*9880d681SAndroid Build Coastguard Worker br i1 %cmp.i.i, label %_ZNSt10unique_ptrIN4llvm12MemoryBufferESt14default_deleteIS1_EED2Ev.exit.i, label %_ZNKSt14default_deleteIN4llvm12MemoryBufferEEclEPS1_.exit.i.i 423*9880d681SAndroid Build Coastguard Worker 424*9880d681SAndroid Build Coastguard Worker_ZNKSt14default_deleteIN4llvm12MemoryBufferEEclEPS1_.exit.i.i: ; preds = %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv.exit.i 425*9880d681SAndroid Build Coastguard Worker %40 = bitcast %"class.llvm::MemoryBuffer"* %39 to void (%"class.llvm::MemoryBuffer"*)*** 426*9880d681SAndroid Build Coastguard Worker %vtable.i.i.i = load void (%"class.llvm::MemoryBuffer"*)**, void (%"class.llvm::MemoryBuffer"*)*** %40, align 8, !tbaa !11 427*9880d681SAndroid Build Coastguard Worker %vfn.i.i.i = getelementptr inbounds void (%"class.llvm::MemoryBuffer"*)*, void (%"class.llvm::MemoryBuffer"*)** %vtable.i.i.i, i64 1 428*9880d681SAndroid Build Coastguard Worker %41 = load void (%"class.llvm::MemoryBuffer"*)*, void (%"class.llvm::MemoryBuffer"*)** %vfn.i.i.i, align 8 429*9880d681SAndroid Build Coastguard Worker call void %41(%"class.llvm::MemoryBuffer"* %39) #3 430*9880d681SAndroid Build Coastguard Worker br label %_ZNSt10unique_ptrIN4llvm12MemoryBufferESt14default_deleteIS1_EED2Ev.exit.i 431*9880d681SAndroid Build Coastguard Worker 432*9880d681SAndroid Build Coastguard Worker_ZNSt10unique_ptrIN4llvm12MemoryBufferESt14default_deleteIS1_EED2Ev.exit.i: ; preds = %_ZNKSt14default_deleteIN4llvm12MemoryBufferEEclEPS1_.exit.i.i, %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEE10getStorageEv.exit.i 433*9880d681SAndroid Build Coastguard Worker store %"class.llvm::MemoryBuffer"* null, %"class.llvm::MemoryBuffer"** %_M_head_impl.i.i.i.i.i.i, align 8, !tbaa !27 434*9880d681SAndroid Build Coastguard Worker br label %_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEED2Ev.exit 435*9880d681SAndroid Build Coastguard Worker 436*9880d681SAndroid Build Coastguard Worker_ZN4llvm7ErrorOrISt10unique_ptrINS_12MemoryBufferESt14default_deleteIS2_EEED2Ev.exit: ; preds = %cleanup, %_ZNSt10unique_ptrIN4llvm12MemoryBufferESt14default_deleteIS1_EED2Ev.exit.i 437*9880d681SAndroid Build Coastguard Worker ret %"class.llvm::Module"* %retval.0 438*9880d681SAndroid Build Coastguard Worker} 439*9880d681SAndroid Build Coastguard Worker 440*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind 441*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.lifetime.start(i64, i8* nocapture) #3 442*9880d681SAndroid Build Coastguard Worker 443*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind 444*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.lifetime.end(i64, i8* nocapture) #3 445*9880d681SAndroid Build Coastguard Worker 446*9880d681SAndroid Build Coastguard Worker; Function Attrs: noreturn nounwind 447*9880d681SAndroid Build Coastguard Workerdeclare void @__assert_fail(i8*, i8*, i32 zeroext, i8*) #4 448*9880d681SAndroid Build Coastguard Worker 449*9880d681SAndroid Build Coastguard Workerdeclare dereferenceable(8) %"class.std::basic_string"* @_ZNSs6insertEmPKcm(%"class.std::basic_string"*, i64, i8*, i64) #1 450*9880d681SAndroid Build Coastguard Worker 451*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind 452*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #3 453*9880d681SAndroid Build Coastguard Worker 454*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind 455*9880d681SAndroid Build Coastguard Workerdeclare void @_ZNSs4_Rep10_M_destroyERKSaIcE(%"struct.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep"*, %"class.std::allocator"* dereferenceable(1)) #0 456*9880d681SAndroid Build Coastguard Worker 457*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind 458*9880d681SAndroid Build Coastguard Workerdeclare extern_weak signext i32 @__pthread_key_create(i32*, void (i8*)*) #0 459*9880d681SAndroid Build Coastguard Worker 460*9880d681SAndroid Build Coastguard Worker; Function Attrs: nobuiltin nounwind 461*9880d681SAndroid Build Coastguard Workerdeclare void @_ZdlPv(i8*) #6 462*9880d681SAndroid Build Coastguard Worker 463*9880d681SAndroid Build Coastguard Workerdeclare void @_ZNSsC1EPKcmRKSaIcE(%"class.std::basic_string"*, i8*, i64, %"class.std::allocator"* dereferenceable(1)) #1 464*9880d681SAndroid Build Coastguard Worker 465*9880d681SAndroid Build Coastguard Workerdeclare hidden void @_ZN4llvm12SMDiagnosticD2Ev(%"class.llvm::SMDiagnostic"* readonly %this) unnamed_addr #2 align 2 466*9880d681SAndroid Build Coastguard Worker 467*9880d681SAndroid Build Coastguard Workerdeclare dereferenceable(48) %"class.llvm::SmallVectorImpl.85"* @_ZN4llvm15SmallVectorImplINS_7SMFixItEEaSEOS2_(%"class.llvm::SmallVectorImpl.85"* %this, %"class.llvm::SmallVectorImpl.85"* dereferenceable(48) %RHS) #0 align 2 468*9880d681SAndroid Build Coastguard Worker 469*9880d681SAndroid Build Coastguard Workerdeclare %"class.llvm::Module"* @_ZN4llvm7ParseIREPNS_12MemoryBufferERNS_12SMDiagnosticERNS_11LLVMContextE(%"class.llvm::MemoryBuffer"* %Buffer, %"class.llvm::SMDiagnostic"* dereferenceable(200) %Err, %"class.llvm::LLVMContext"* dereferenceable(8) %Context) #0 470*9880d681SAndroid Build Coastguard Worker 471*9880d681SAndroid Build Coastguard Workerdeclare void @_ZNSs4swapERSs(%"class.std::basic_string"*, %"class.std::basic_string"* dereferenceable(8)) #1 472*9880d681SAndroid Build Coastguard Worker 473*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind 474*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) #3 475*9880d681SAndroid Build Coastguard Worker 476*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } 477*9880d681SAndroid Build Coastguard Workerattributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } 478*9880d681SAndroid Build Coastguard Workerattributes #2 = { inlinehint nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } 479*9880d681SAndroid Build Coastguard Workerattributes #3 = { nounwind } 480*9880d681SAndroid Build Coastguard Workerattributes #4 = { noreturn nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } 481*9880d681SAndroid Build Coastguard Workerattributes #5 = { nounwind readonly "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } 482*9880d681SAndroid Build Coastguard Workerattributes #6 = { nobuiltin nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } 483*9880d681SAndroid Build Coastguard Workerattributes #7 = { noreturn nounwind } 484*9880d681SAndroid Build Coastguard Worker 485*9880d681SAndroid Build Coastguard Worker!llvm.ident = !{!0} 486*9880d681SAndroid Build Coastguard Worker 487*9880d681SAndroid Build Coastguard Worker!0 = !{!"clang version 3.6.0 (trunk 215115) (llvm/trunk 215117)"} 488*9880d681SAndroid Build Coastguard Worker!1 = !{!2, !4, i64 0} 489*9880d681SAndroid Build Coastguard Worker!2 = !{!"_ZTSSs", !3, i64 0} 490*9880d681SAndroid Build Coastguard Worker!3 = !{!"_ZTSNSs12_Alloc_hiderE", !4, i64 0} 491*9880d681SAndroid Build Coastguard Worker!4 = !{!"any pointer", !5, i64 0} 492*9880d681SAndroid Build Coastguard Worker!5 = !{!"omnipotent char", !6, i64 0} 493*9880d681SAndroid Build Coastguard Worker!6 = !{!"Simple C/C++ TBAA"} 494*9880d681SAndroid Build Coastguard Worker!7 = !{!8, !9, i64 0} 495*9880d681SAndroid Build Coastguard Worker!8 = !{!"_ZTSNSs9_Rep_baseE", !9, i64 0, !9, i64 8, !10, i64 16} 496*9880d681SAndroid Build Coastguard Worker!9 = !{!"long", !5, i64 0} 497*9880d681SAndroid Build Coastguard Worker!10 = !{!"int", !5, i64 0} 498*9880d681SAndroid Build Coastguard Worker!11 = !{!12, !12, i64 0} 499*9880d681SAndroid Build Coastguard Worker!12 = !{!"vtable pointer", !6, i64 0} 500*9880d681SAndroid Build Coastguard Worker!13 = !{!3, !4, i64 0} 501*9880d681SAndroid Build Coastguard Worker!14 = !{!15, !10, i64 24} 502*9880d681SAndroid Build Coastguard Worker!15 = !{!"_ZTSN4llvm12SMDiagnosticE", !4, i64 0, !16, i64 8, !2, i64 16, !10, i64 24, !10, i64 28, !17, i64 32, !2, i64 40, !2, i64 48, !18, i64 56, !19, i64 80} 503*9880d681SAndroid Build Coastguard Worker!16 = !{!"_ZTSN4llvm5SMLocE", !4, i64 0} 504*9880d681SAndroid Build Coastguard Worker!17 = !{!"_ZTSN4llvm9SourceMgr8DiagKindE", !5, i64 0} 505*9880d681SAndroid Build Coastguard Worker!18 = !{!"_ZTSSt6vectorISt4pairIjjESaIS1_EE"} 506*9880d681SAndroid Build Coastguard Worker!19 = !{!"_ZTSN4llvm11SmallVectorINS_7SMFixItELj4EEE", !20, i64 48} 507*9880d681SAndroid Build Coastguard Worker!20 = !{!"_ZTSN4llvm18SmallVectorStorageINS_7SMFixItELj4EEE", !5, i64 0} 508*9880d681SAndroid Build Coastguard Worker!21 = !{!15, !10, i64 28} 509*9880d681SAndroid Build Coastguard Worker!22 = !{!15, !17, i64 32} 510*9880d681SAndroid Build Coastguard Worker!23 = !{!24, !4, i64 0} 511*9880d681SAndroid Build Coastguard Worker!24 = !{!"_ZTSN4llvm15SmallVectorBaseE", !4, i64 0, !4, i64 8, !4, i64 16} 512*9880d681SAndroid Build Coastguard Worker!25 = !{!24, !4, i64 8} 513*9880d681SAndroid Build Coastguard Worker!26 = !{!24, !4, i64 16} 514*9880d681SAndroid Build Coastguard Worker!27 = !{!4, !4, i64 0} 515*9880d681SAndroid Build Coastguard Worker!28 = !{!"branch_weights", i32 64, i32 4} 516*9880d681SAndroid Build Coastguard Worker!29 = !{!10, !10, i64 0} 517*9880d681SAndroid Build Coastguard Worker!30 = !{!31, !4, i64 8} 518*9880d681SAndroid Build Coastguard Worker!31 = !{!"_ZTSN4llvm12MemoryBufferE", !4, i64 8, !4, i64 16} 519*9880d681SAndroid Build Coastguard Worker!32 = !{!31, !4, i64 16} 520*9880d681SAndroid Build Coastguard Worker!33 = !{!5, !5, i64 0} 521*9880d681SAndroid Build Coastguard Worker!34 = !{!35, !4, i64 0} 522*9880d681SAndroid Build Coastguard Worker!35 = !{!"_ZTSSt12_Vector_baseISt4pairIjjESaIS1_EE", !36, i64 0} 523*9880d681SAndroid Build Coastguard Worker!36 = !{!"_ZTSNSt12_Vector_baseISt4pairIjjESaIS1_EE12_Vector_implE", !4, i64 0, !4, i64 8, !4, i64 16} 524*9880d681SAndroid Build Coastguard Worker!37 = !{!38, !38, i64 0} 525*9880d681SAndroid Build Coastguard Worker!38 = !{!"bool", !5, i64 0} 526*9880d681SAndroid Build Coastguard Worker!39 = !{i8 0, i8 2} 527*9880d681SAndroid Build Coastguard Worker!40 = !{!41, !4, i64 0} 528*9880d681SAndroid Build Coastguard Worker!41 = !{!"_ZTSN4llvm10TimeRegionE", !4, i64 0} 529*9880d681SAndroid Build Coastguard Worker!42 = !{!43, !44, i64 32} 530*9880d681SAndroid Build Coastguard Worker!43 = !{!"_ZTSN4llvm11raw_ostreamE", !4, i64 8, !4, i64 16, !4, i64 24, !44, i64 32} 531*9880d681SAndroid Build Coastguard Worker!44 = !{!"_ZTSN4llvm11raw_ostream10BufferKindE", !5, i64 0} 532*9880d681SAndroid Build Coastguard Worker!45 = !{!43, !4, i64 24} 533*9880d681SAndroid Build Coastguard Worker!46 = !{!43, !4, i64 8} 534*9880d681SAndroid Build Coastguard Worker!47 = !{i64 0, i64 8, !27, i64 8, i64 8, !27} 535