[lld] a961604 - Revert "[DwarfDebug] Support emitting function-local declaration for a lexical block"
Kristina Bessonova via llvm-commits
llvm-commits at lists.llvm.org
Sat Dec 4 08:08:09 PST 2021
Author: Kristina Bessonova
Date: 2021-12-04T18:06:57+02:00
New Revision: a961604819a757d403d096c9220664faa93f1b69
URL: https://github.com/llvm/llvm-project/commit/a961604819a757d403d096c9220664faa93f1b69
DIFF: https://github.com/llvm/llvm-project/commit/a961604819a757d403d096c9220664faa93f1b69.diff
LOG: Revert "[DwarfDebug] Support emitting function-local declaration for a lexical block"
This reverts commits
* ee691970a9a85470948ada623c31f0ab8773617c (D113741),
* 79d3132998b2828be8f7d2ec411f91fb11b3e01f (D114705)
due to lldb and dexter test failures.
Added:
Modified:
lld/test/wasm/debuginfo.test
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
llvm/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll
llvm/test/DebugInfo/AMDGPU/variable-locations.ll
llvm/test/DebugInfo/BPF/extern-void.ll
llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll
llvm/test/DebugInfo/Generic/debug-names-linkage-name.ll
llvm/test/DebugInfo/Generic/enum-types.ll
llvm/test/DebugInfo/Generic/imported-name-inlined.ll
llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll
llvm/test/DebugInfo/Generic/namespace.ll
llvm/test/DebugInfo/Generic/varargs.ll
llvm/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir
llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
llvm/test/DebugInfo/NVPTX/debug-info.ll
llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
llvm/test/DebugInfo/PowerPC/strict-dwarf.ll
llvm/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll
llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
llvm/test/DebugInfo/X86/align_cpp11.ll
llvm/test/DebugInfo/X86/align_objc.ll
llvm/test/DebugInfo/X86/arange-and-stub.ll
llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
llvm/test/DebugInfo/X86/debug-info-access.ll
llvm/test/DebugInfo/X86/debug-info-blocks.ll
llvm/test/DebugInfo/X86/debug-info-static-member.ll
llvm/test/DebugInfo/X86/debug-loc-offset.mir
llvm/test/DebugInfo/X86/dwarf-aranges.ll
llvm/test/DebugInfo/X86/dwarf-linkage-names.ll
llvm/test/DebugInfo/X86/dwarfdump-DIImportedEntity_elements.ll
llvm/test/DebugInfo/X86/generate-odr-hash.ll
llvm/test/DebugInfo/X86/gnu-public-names.ll
llvm/test/DebugInfo/X86/lexical-block-file-inline.ll
llvm/test/DebugInfo/X86/linkage-name.ll
llvm/test/DebugInfo/X86/namelist1.ll
llvm/test/DebugInfo/X86/sret.ll
llvm/test/DebugInfo/X86/subprogram-across-cus.ll
llvm/test/DebugInfo/X86/template.ll
llvm/test/DebugInfo/X86/tls.ll
llvm/test/DebugInfo/X86/vla-global.ll
llvm/test/DebugInfo/attr-btf_tag.ll
llvm/test/MC/WebAssembly/debug-info.ll
llvm/test/MC/WebAssembly/debug-info64.ll
llvm/test/MC/WebAssembly/dwarfdump.ll
llvm/test/MC/WebAssembly/dwarfdump64.ll
Removed:
llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
llvm/test/DebugInfo/Generic/inlined-local-type.ll
llvm/test/DebugInfo/Generic/inlined-static-var.ll
llvm/test/DebugInfo/Generic/lexical_block_static.ll
llvm/test/DebugInfo/Generic/lexical_block_types.ll
################################################################################
diff --git a/lld/test/wasm/debuginfo.test b/lld/test/wasm/debuginfo.test
index 35de693e9ea73..9cb1cc31e515a 100644
--- a/lld/test/wasm/debuginfo.test
+++ b/lld/test/wasm/debuginfo.test
@@ -44,23 +44,9 @@ CHECK-NEXT: DW_AT_producer ("clang version 7.0.0 (trunk {{.*}})")
CHECK-NEXT: DW_AT_language (DW_LANG_C99)
CHECK-NEXT: DW_AT_name ("hi_foo.c")
-CHECK: DW_TAG_subprogram
-CHECK-NEXT: DW_AT_low_pc
-CHECK-NEXT: DW_AT_high_pc
-CHECK-NEXT: DW_AT_frame_base
-CHECK-NEXT: DW_AT_name ("foo")
-CHECK-NEXT: DW_AT_decl_file ("{{.*}}hi_foo.c")
-CHECK-NEXT: DW_AT_decl_line (3)
-
-CHECK: DW_TAG_formal_parameter
-CHECK-NEXT: DW_AT_location (DW_OP_WASM_location 0x0 0x0, DW_OP_stack_value)
-CHECK-NEXT: DW_AT_name ("p")
-CHECK-NEXT: DW_AT_decl_file ("{{.*}}hi_foo.c")
-CHECK-NEXT: DW_AT_decl_line (3)
-
CHECK: DW_TAG_variable
CHECK-NEXT: DW_AT_name ("y")
-CHECK-NEXT: DW_AT_type (0x000000d4 "int[2]")
+CHECK-NEXT: DW_AT_type (0x000000ac "int[2]")
CHECK-NEXT: DW_AT_external (true)
CHECK-NEXT: DW_AT_decl_file ("{{.*}}hi_foo.c")
CHECK-NEXT: DW_AT_decl_line (1)
@@ -82,9 +68,23 @@ CHECK-NEXT: DW_AT_encoding (DW_ATE_unsigned)
CHECK: DW_TAG_variable
CHECK-NEXT: DW_AT_name ("z")
-CHECK-NEXT: DW_AT_type (0x000000d4 "int[2]")
+CHECK-NEXT: DW_AT_type (0x000000ac "int[2]")
CHECK-NEXT: DW_AT_external (true)
CHECK-NEXT: DW_AT_decl_file ("{{.*}}hi_foo.c")
CHECK-NEXT: DW_AT_decl_line (8)
CHECK-NEXT: DW_AT_location (DW_OP_addr 0xffffffff)
+CHECK: DW_TAG_subprogram
+CHECK-NEXT: DW_AT_low_pc
+CHECK-NEXT: DW_AT_high_pc
+CHECK-NEXT: DW_AT_frame_base
+CHECK-NEXT: DW_AT_name ("foo")
+CHECK-NEXT: DW_AT_decl_file ("{{.*}}hi_foo.c")
+CHECK-NEXT: DW_AT_decl_line (3)
+
+CHECK: DW_TAG_formal_parameter
+CHECK-NEXT: DW_AT_location (DW_OP_WASM_location 0x0 0x0, DW_OP_stack_value)
+CHECK-NEXT: DW_AT_name ("p")
+CHECK-NEXT: DW_AT_decl_file ("{{.*}}hi_foo.c")
+CHECK-NEXT: DW_AT_decl_line (3)
+
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
index 38f0ed501cb13..0d2736178f0f7 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
@@ -551,18 +551,8 @@ void DwarfCompileUnit::constructScopeDIE(LexicalScope *Scope,
// Emit lexical blocks.
DIE *ScopeDIE = constructLexicalScopeDIE(Scope);
assert(ScopeDIE && "Scope DIE should not be null.");
- ParentScopeDIE.addChild(ScopeDIE);
-
- // Track abstract and concrete lexical block scopes.
- if (Scope->isAbstractScope()) {
- assert(!getAbstractScopeDIEs().count(DS) &&
- "Abstract DIE for this scope exists!");
- getAbstractScopeDIEs()[DS] = ScopeDIE;
- } else if (!Scope->getInlinedAt()) {
- assert(!LocalScopeDIEs.count(DS) && "Concrete DIE for this scope exists!");
- LocalScopeDIEs[DS] = ScopeDIE;
- }
+ ParentScopeDIE.addChild(ScopeDIE);
createAndAddScopeChildren(Scope, *ScopeDIE);
}
@@ -656,7 +646,7 @@ DIE *DwarfCompileUnit::constructInlinedScopeDIE(LexicalScope *Scope) {
auto *InlinedSP = getDISubprogram(DS);
// Find the subprogram's DwarfCompileUnit in the SPMap in case the subprogram
// was inlined from another compile unit.
- DIE *OriginDIE = getAbstractScopeDIEs()[InlinedSP];
+ DIE *OriginDIE = getAbstractSPDies()[InlinedSP];
assert(OriginDIE && "Unable to find original DIE for an inlined subprogram.");
auto ScopeDIE = DIE::get(DIEValueAllocator, dwarf::DW_TAG_inlined_subroutine);
@@ -1011,12 +1001,6 @@ DIE &DwarfCompileUnit::constructSubprogramScopeDIE(const DISubprogram *Sub,
if (Scope) {
assert(!Scope->getInlinedAt());
assert(!Scope->isAbstractScope());
-
- // Remember the subrogram before creating child entities.
- assert(!LocalScopeDIEs.count(Sub) &&
- "Concrete DIE for the subprogram exists!");
- LocalScopeDIEs[Sub] = &ScopeDIE;
-
// Collect lexical scope children first.
// ObjectPointer might be a local (non-argument) local variable if it's a
// block's synthetic this pointer.
@@ -1052,18 +1036,27 @@ DIE *DwarfCompileUnit::createAndAddScopeChildren(LexicalScope *Scope,
for (DbgVariable *DV : Locals)
ScopeDIE.addChild(constructVariableDIE(*DV, *Scope, ObjectPointer));
+ // Emit imported entities (skipped in gmlt-like data).
+ if (!includeMinimalInlineScopes()) {
+ for (const auto *IE : ImportedEntities[Scope->getScopeNode()])
+ ScopeDIE.addChild(constructImportedEntityDIE(cast<DIImportedEntity>(IE)));
+ }
+
// Emit labels.
for (DbgLabel *DL : DU->getScopeLabels().lookup(Scope))
ScopeDIE.addChild(constructLabelDIE(*DL, *Scope));
// Emit inner lexical scopes.
- auto needToEmitLexicalScope = [this](LexicalScope *LS) -> bool {
+ auto needToEmitLexicalScope = [this](LexicalScope *LS) {
if (isa<DISubprogram>(LS->getScopeNode()))
return true;
auto Vars = DU->getScopeVariables().lookup(LS);
if (!Vars.Args.empty() || !Vars.Locals.empty())
return true;
- return LocalScopesWithLocalDecls.count(LS->getScopeNode());
+ if (!includeMinimalInlineScopes() &&
+ !ImportedEntities[LS->getScopeNode()].empty())
+ return true;
+ return false;
};
for (LexicalScope *LS : Scope->getChildren()) {
// If the lexical block doesn't have non-scope children, skip
@@ -1079,10 +1072,11 @@ DIE *DwarfCompileUnit::createAndAddScopeChildren(LexicalScope *Scope,
void DwarfCompileUnit::constructAbstractSubprogramScopeDIE(
LexicalScope *Scope) {
+ DIE *&AbsDef = getAbstractSPDies()[Scope->getScopeNode()];
+ if (AbsDef)
+ return;
auto *SP = cast<DISubprogram>(Scope->getScopeNode());
- if (auto *SPDie = getAbstractScopeDIEs().lookup(SP))
- return;
DIE *ContextDIE;
DwarfCompileUnit *ContextCU = this;
@@ -1106,19 +1100,14 @@ void DwarfCompileUnit::constructAbstractSubprogramScopeDIE(
// Passing null as the associated node because the abstract definition
// shouldn't be found by lookup.
- DIE &AbsDef = ContextCU->createAndAddDIE(dwarf::DW_TAG_subprogram,
- *ContextDIE, nullptr);
-
- // Store the DIE before creating children.
- getAbstractScopeDIEs()[SP] = &AbsDef;
-
- ContextCU->applySubprogramAttributesToDefinition(SP, AbsDef);
- ContextCU->addSInt(AbsDef, dwarf::DW_AT_inline,
+ AbsDef = &ContextCU->createAndAddDIE(dwarf::DW_TAG_subprogram, *ContextDIE, nullptr);
+ ContextCU->applySubprogramAttributesToDefinition(SP, *AbsDef);
+ ContextCU->addSInt(*AbsDef, dwarf::DW_AT_inline,
DD->getDwarfVersion() <= 4 ? Optional<dwarf::Form>()
: dwarf::DW_FORM_implicit_const,
dwarf::DW_INL_inlined);
- if (DIE *ObjectPointer = ContextCU->createAndAddScopeChildren(Scope, AbsDef))
- ContextCU->addDIEEntry(AbsDef, dwarf::DW_AT_object_pointer, *ObjectPointer);
+ if (DIE *ObjectPointer = ContextCU->createAndAddScopeChildren(Scope, *AbsDef))
+ ContextCU->addDIEEntry(*AbsDef, dwarf::DW_AT_object_pointer, *ObjectPointer);
}
bool DwarfCompileUnit::useGNUAnalogForDwarf5Feature() const {
@@ -1252,61 +1241,47 @@ void DwarfCompileUnit::constructCallSiteParmEntryDIEs(
}
}
-DIE *DwarfCompileUnit::createImportedEntityDIE(const DIImportedEntity *IE) {
- DIE *IMDie = DIE::get(DIEValueAllocator, (dwarf::Tag)IE->getTag());
- insertDIE(IE, IMDie);
-
+DIE *DwarfCompileUnit::constructImportedEntityDIE(
+ const DIImportedEntity *Module) {
+ DIE *IMDie = DIE::get(DIEValueAllocator, (dwarf::Tag)Module->getTag());
+ insertDIE(Module, IMDie);
DIE *EntityDie;
- auto *Entity = IE->getEntity();
+ auto *Entity = Module->getEntity();
if (auto *NS = dyn_cast<DINamespace>(Entity))
EntityDie = getOrCreateNameSpace(NS);
else if (auto *M = dyn_cast<DIModule>(Entity))
EntityDie = getOrCreateModule(M);
- else if (auto *SP = dyn_cast<DISubprogram>(Entity)) {
- // If we have abstract subprogram created, refer it.
- if (auto *AbsSPDie = getAbstractScopeDIEs().lookup(SP))
- EntityDie = AbsSPDie;
- else
- EntityDie = getOrCreateSubprogramDIE(SP);
- } else if (auto *T = dyn_cast<DIType>(Entity))
+ else if (auto *SP = dyn_cast<DISubprogram>(Entity))
+ EntityDie = getOrCreateSubprogramDIE(SP);
+ else if (auto *T = dyn_cast<DIType>(Entity))
EntityDie = getOrCreateTypeDIE(T);
else if (auto *GV = dyn_cast<DIGlobalVariable>(Entity))
EntityDie = getOrCreateGlobalVariableDIE(GV, {});
else
EntityDie = getDIE(Entity);
assert(EntityDie);
-
- addSourceLine(*IMDie, IE->getLine(), IE->getFile());
+ addSourceLine(*IMDie, Module->getLine(), Module->getFile());
addDIEEntry(*IMDie, dwarf::DW_AT_import, *EntityDie);
- StringRef Name = IE->getName();
+ StringRef Name = Module->getName();
if (!Name.empty())
addString(*IMDie, dwarf::DW_AT_name, Name);
// This is for imported module with renamed entities (such as variables and
// subprograms).
- DINodeArray Elements = IE->getElements();
+ DINodeArray Elements = Module->getElements();
for (const auto *Element : Elements) {
if (!Element)
continue;
- IMDie->addChild(createImportedEntityDIE(cast<DIImportedEntity>(Element)));
+ IMDie->addChild(
+ constructImportedEntityDIE(cast<DIImportedEntity>(Element)));
}
- return IMDie;
-}
-void DwarfCompileUnit::createAndAddImportedEntityDIE(
- const DIImportedEntity *IE) {
- DIE *ContextDIE = getOrCreateContextDIE(IE->getScope());
- assert(ContextDIE &&
- "Could not get or create scope for the imported entity!");
- if (!ContextDIE)
- return;
-
- ContextDIE->addChild(createImportedEntityDIE(IE));
+ return IMDie;
}
void DwarfCompileUnit::finishSubprogramDefinition(const DISubprogram *SP) {
DIE *D = getDIE(SP);
- if (DIE *AbsSPDIE = getAbstractScopeDIEs().lookup(SP)) {
+ if (DIE *AbsSPDIE = getAbstractSPDies().lookup(SP)) {
if (D)
// If this subprogram has an abstract definition, reference that
addDIEEntry(*D, dwarf::DW_AT_abstract_origin, *AbsSPDIE);
@@ -1596,38 +1571,3 @@ void DwarfCompileUnit::createBaseTypeDIEs() {
Btr.Die = &Die;
}
}
-
-static DIE *
-findLocalScopeDIE(const DILocalScope *LS,
- DenseMap<const DILocalScope *, DIE *> &ScopeDIEs) {
- DIE *ScopeDIE = ScopeDIEs.lookup(LS);
- if (isa<DISubprogram>(LS) && !ScopeDIE)
- return nullptr;
- if (!ScopeDIE)
- return findLocalScopeDIE(cast<DILocalScope>(LS->getScope()), ScopeDIEs);
- return ScopeDIE;
-}
-
-DIE *DwarfCompileUnit::findLocalScopeDIE(const DIScope *S) {
- auto *LScope = dyn_cast_or_null<DILocalScope>(S);
- if (!LScope)
- return nullptr;
-
- // Check if we have an abstract tree.
- if (getAbstractScopeDIEs().count(LScope->getSubprogram()))
- return ::findLocalScopeDIE(LScope, getAbstractScopeDIEs());
-
- return ::findLocalScopeDIE(LScope, LocalScopeDIEs);
-}
-
-DIE *DwarfCompileUnit::getOrCreateContextDIE(const DIScope *Context) {
- if (auto *LScope = dyn_cast_or_null<DILocalScope>(Context)) {
- if (DIE *ScopeDIE = findLocalScopeDIE(LScope))
- return ScopeDIE;
-
- // If nothing was found, fall back to DISubprogram and let
- // DwarfUnit::getOrCreateContextDIE() create a new DIE for it.
- Context = LScope->getSubprogram();
- }
- return DwarfUnit::getOrCreateContextDIE(Context);
-}
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
index 251bc4bea68b3..fb03982b5e4a2 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
@@ -62,6 +62,11 @@ class DwarfCompileUnit final : public DwarfUnit {
/// The start of the unit macro info within macro section.
MCSymbol *MacroLabelBegin;
+ using ImportedEntityList = SmallVector<const MDNode *, 8>;
+ using ImportedEntityMap = DenseMap<const MDNode *, ImportedEntityList>;
+
+ ImportedEntityMap ImportedEntities;
+
/// GlobalNames - A map of globally visible named entities for this unit.
StringMap<const DIE *> GlobalNames;
@@ -75,14 +80,9 @@ class DwarfCompileUnit final : public DwarfUnit {
// ranges/locs.
const MCSymbol *BaseAddress = nullptr;
- DenseMap<const DILocalScope *, DIE *> LocalScopeDIEs;
- DenseMap<const DILocalScope *, DIE *> AbstractLocalScopeDIEs;
+ DenseMap<const MDNode *, DIE *> AbstractSPDies;
DenseMap<const DINode *, std::unique_ptr<DbgEntity>> AbstractEntities;
- /// LocalScopesWithLocalDecls - A list of non-empty local scopes
- /// (with declaraions of static locals, function-local types, or imports).
- SmallPtrSet<const DILocalScope *, 8> LocalScopesWithLocalDecls;
-
/// DWO ID for correlating skeleton and split units.
uint64_t DWOId = 0;
@@ -92,10 +92,10 @@ class DwarfCompileUnit final : public DwarfUnit {
bool isDwoUnit() const override;
- DenseMap<const DILocalScope *, DIE *> &getAbstractScopeDIEs() {
+ DenseMap<const MDNode *, DIE *> &getAbstractSPDies() {
if (isDwoUnit() && !DD->shareAcrossDWOCUs())
- return AbstractLocalScopeDIEs;
- return DU->getAbstractScopeDIEs();
+ return AbstractSPDies;
+ return DU->getAbstractSPDies();
}
DenseMap<const DINode *, std::unique_ptr<DbgEntity>> &getAbstractEntities() {
@@ -169,6 +169,17 @@ class DwarfCompileUnit final : public DwarfUnit {
unsigned getOrCreateSourceID(const DIFile *File) override;
+ void addImportedEntity(const DIImportedEntity* IE) {
+ DIScope *Scope = IE->getScope();
+ assert(Scope && "Invalid Scope encoding!");
+ if (!isa<DILocalScope>(Scope))
+ // No need to add imported enities that are not local declaration.
+ return;
+
+ auto *LocalScope = cast<DILocalScope>(Scope)->getNonLexicalBlockFileScope();
+ ImportedEntities[LocalScope].push_back(IE);
+ }
+
/// addRange - Add an address range to the list of ranges for this unit.
void addRange(RangeSpan Range);
@@ -210,9 +221,6 @@ class DwarfCompileUnit final : public DwarfUnit {
void createBaseTypeDIEs();
- DIE *findLocalScopeDIE(const DIScope *S);
- DIE *getOrCreateContextDIE(const DIScope *Ty) override;
-
/// Construct a DIE for this subprogram scope.
DIE &constructSubprogramScopeDIE(const DISubprogram *Sub,
LexicalScope *Scope);
@@ -251,9 +259,8 @@ class DwarfCompileUnit final : public DwarfUnit {
void constructCallSiteParmEntryDIEs(DIE &CallSiteDIE,
SmallVector<DbgCallSiteParam, 4> &Params);
- /// Construct DIE for an imported entity.
- DIE *createImportedEntityDIE(const DIImportedEntity *IE);
- void createAndAddImportedEntityDIE(const DIImportedEntity *IE);
+ /// Construct import_module DIE.
+ DIE *constructImportedEntityDIE(const DIImportedEntity *Module);
void finishSubprogramDefinition(const DISubprogram *SP);
void finishEntityDefinition(const DbgEntity *Entity);
@@ -350,10 +357,6 @@ class DwarfCompileUnit final : public DwarfUnit {
bool hasDwarfPubSections() const;
void addBaseTypeRef(DIEValueList &Die, int64_t Idx);
-
- void recordLocalScopeWithDecls(const DILocalScope *S) {
- LocalScopesWithLocalDecls.insert(S);
- }
};
} // end namespace llvm
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index c4795fdea9142..047676d4c11ef 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -516,7 +516,7 @@ void DwarfDebug::addSubprogramNames(const DICompileUnit &CU,
// well into the name table. Only do that if we are going to actually emit
// that name.
if (SP->getLinkageName() != "" && SP->getName() != SP->getLinkageName() &&
- (useAllLinkageNames() || InfoHolder.getAbstractScopeDIEs().lookup(SP)))
+ (useAllLinkageNames() || InfoHolder.getAbstractSPDies().lookup(SP)))
addAccelName(CU, SP->getLinkageName(), Die);
// If this is an Objective-C selector name add it to the ObjC accelerator
@@ -1067,45 +1067,6 @@ void DwarfDebug::finishUnitAttributes(const DICompileUnit *DIUnit,
}
}
}
-
-// Collect local scopes that contain any local declarations
-// (excluding local variables) to be sure they will be emitted
-// (see DwarfCompileUnit::createAndAddScopeChildren() for details).
-static void collectLocalScopesWithDeclsFromCU(const DICompileUnit *CUNode,
- DwarfCompileUnit &CU) {
- auto getLocalScope = [](const DIScope *S) -> const DILocalScope * {
- if (!S)
- return nullptr;
- if (isa<DICommonBlock>(S))
- S = S->getScope();
- if (const auto *LScope = dyn_cast_or_null<DILocalScope>(S))
- return LScope->getNonLexicalBlockFileScope();
- return nullptr;
- };
-
- for (auto *GVE : CUNode->getGlobalVariables())
- if (auto *LScope = getLocalScope(GVE->getVariable()->getScope()))
- CU.recordLocalScopeWithDecls(LScope);
-
- for (auto *Ty : CUNode->getEnumTypes())
- if (auto *LScope = getLocalScope(Ty->getScope()))
- CU.recordLocalScopeWithDecls(LScope);
-
- for (auto *Ty : CUNode->getRetainedTypes())
- if (DIType *RT = dyn_cast<DIType>(Ty))
- if (auto *LScope = getLocalScope(RT->getScope()))
- CU.recordLocalScopeWithDecls(LScope);
-
- for (auto *IE : CUNode->getImportedEntities())
- if (auto *LScope = getLocalScope(IE->getScope()))
- CU.recordLocalScopeWithDecls(LScope);
-
- // FIXME: We know nothing about local records and typedefs here.
- // since nothing but local variables (and members of local records)
- // references them. So that they will be emitted in a first available
- // parent scope DIE.
-}
-
// Create new DwarfCompileUnit for the given metadata node with tag
// DW_TAG_compile_unit.
DwarfCompileUnit &
@@ -1120,6 +1081,9 @@ DwarfDebug::getOrCreateDwarfCompileUnit(const DICompileUnit *DIUnit) {
DwarfCompileUnit &NewCU = *OwnedUnit;
InfoHolder.addUnit(std::move(OwnedUnit));
+ for (auto *IE : DIUnit->getImportedEntities())
+ NewCU.addImportedEntity(IE);
+
// LTO with assembly output shares a single line table amongst multiple CUs.
// To avoid the compilation directory being ambiguous, let the line table
// explicitly describe the directory of all files, never relying on the
@@ -1139,12 +1103,42 @@ DwarfDebug::getOrCreateDwarfCompileUnit(const DICompileUnit *DIUnit) {
CUMap.insert({DIUnit, &NewCU});
CUDieMap.insert({&NewCU.getUnitDie(), &NewCU});
+ return NewCU;
+}
- // Record local scopes, that have some globals (static locals),
- // imports or types declared within.
- collectLocalScopesWithDeclsFromCU(DIUnit, NewCU);
+void DwarfDebug::constructAndAddImportedEntityDIE(DwarfCompileUnit &TheCU,
+ const DIImportedEntity *N) {
+ if (isa<DILocalScope>(N->getScope()))
+ return;
+ if (DIE *D = TheCU.getOrCreateContextDIE(N->getScope()))
+ D->addChild(TheCU.constructImportedEntityDIE(N));
+}
- return NewCU;
+/// Sort and unique GVEs by comparing their fragment offset.
+static SmallVectorImpl<DwarfCompileUnit::GlobalExpr> &
+sortGlobalExprs(SmallVectorImpl<DwarfCompileUnit::GlobalExpr> &GVEs) {
+ llvm::sort(
+ GVEs, [](DwarfCompileUnit::GlobalExpr A, DwarfCompileUnit::GlobalExpr B) {
+ // Sort order: first null exprs, then exprs without fragment
+ // info, then sort by fragment offset in bits.
+ // FIXME: Come up with a more comprehensive comparator so
+ // the sorting isn't non-deterministic, and so the following
+ // std::unique call works correctly.
+ if (!A.Expr || !B.Expr)
+ return !!B.Expr;
+ auto FragmentA = A.Expr->getFragmentInfo();
+ auto FragmentB = B.Expr->getFragmentInfo();
+ if (!FragmentA || !FragmentB)
+ return !!FragmentB;
+ return FragmentA->OffsetInBits < FragmentB->OffsetInBits;
+ });
+ GVEs.erase(std::unique(GVEs.begin(), GVEs.end(),
+ [](DwarfCompileUnit::GlobalExpr A,
+ DwarfCompileUnit::GlobalExpr B) {
+ return A.Expr == B.Expr;
+ }),
+ GVEs.end());
+ return GVEs;
}
// Emit all Dwarf sections that should come prior to the content. Create
@@ -1162,6 +1156,14 @@ void DwarfDebug::beginModule(Module *M) {
assert(MMI->hasDebugInfo() &&
"DebugInfoAvailabilty unexpectedly not initialized");
SingleCU = NumDebugCUs == 1;
+ DenseMap<DIGlobalVariable *, SmallVector<DwarfCompileUnit::GlobalExpr, 1>>
+ GVMap;
+ for (const GlobalVariable &Global : M->globals()) {
+ SmallVector<DIGlobalVariableExpression *, 1> GVs;
+ Global.getDebugInfo(GVs);
+ for (auto *GVE : GVs)
+ GVMap[GVE->getVariable()].push_back({&Global, GVE->getExpression()});
+ }
// Create the symbol that designates the start of the unit's contribution
// to the string offsets table. In a split DWARF scenario, only the skeleton
@@ -1187,6 +1189,58 @@ void DwarfDebug::beginModule(Module *M) {
// address table (.debug_addr) header.
AddrPool.setLabel(Asm->createTempSymbol("addr_table_base"));
DebugLocs.setSym(Asm->createTempSymbol("loclists_table_base"));
+
+ for (DICompileUnit *CUNode : M->debug_compile_units()) {
+ // FIXME: Move local imported entities into a list attached to the
+ // subprogram, then this search won't be needed and a
+ // getImportedEntities().empty() test should go below with the rest.
+ bool HasNonLocalImportedEntities = llvm::any_of(
+ CUNode->getImportedEntities(), [](const DIImportedEntity *IE) {
+ return !isa<DILocalScope>(IE->getScope());
+ });
+
+ if (!HasNonLocalImportedEntities && CUNode->getEnumTypes().empty() &&
+ CUNode->getRetainedTypes().empty() &&
+ CUNode->getGlobalVariables().empty() && CUNode->getMacros().empty())
+ continue;
+
+ DwarfCompileUnit &CU = getOrCreateDwarfCompileUnit(CUNode);
+
+ // Global Variables.
+ for (auto *GVE : CUNode->getGlobalVariables()) {
+ // Don't bother adding DIGlobalVariableExpressions listed in the CU if we
+ // already know about the variable and it isn't adding a constant
+ // expression.
+ auto &GVMapEntry = GVMap[GVE->getVariable()];
+ auto *Expr = GVE->getExpression();
+ if (!GVMapEntry.size() || (Expr && Expr->isConstant()))
+ GVMapEntry.push_back({nullptr, Expr});
+ }
+
+ DenseSet<DIGlobalVariable *> Processed;
+ for (auto *GVE : CUNode->getGlobalVariables()) {
+ DIGlobalVariable *GV = GVE->getVariable();
+ if (Processed.insert(GV).second)
+ CU.getOrCreateGlobalVariableDIE(GV, sortGlobalExprs(GVMap[GV]));
+ }
+
+ for (auto *Ty : CUNode->getEnumTypes()) {
+ // The enum types array by design contains pointers to
+ // MDNodes rather than DIRefs. Unique them here.
+ CU.getOrCreateTypeDIE(cast<DIType>(Ty));
+ }
+ for (auto *Ty : CUNode->getRetainedTypes()) {
+ // The retained types array by design contains pointers to
+ // MDNodes rather than DIRefs. Unique them here.
+ if (DIType *RT = dyn_cast<DIType>(Ty))
+ // There is no point in force-emitting a forward declaration.
+ CU.getOrCreateTypeDIE(RT);
+ }
+ // Emit imported_modules last so that the relevant context is already
+ // available.
+ for (auto *IE : CUNode->getImportedEntities())
+ constructAndAddImportedEntityDIE(CU, IE);
+ }
}
void DwarfDebug::finishEntityDefinitions() {
@@ -1351,33 +1405,6 @@ void DwarfDebug::finalizeModuleInfo() {
SkeletonHolder.computeSizeAndOffsets();
}
-/// Sort and unique GVEs by comparing their fragment offset.
-static SmallVectorImpl<DwarfCompileUnit::GlobalExpr> &
-sortGlobalExprs(SmallVectorImpl<DwarfCompileUnit::GlobalExpr> &GVEs) {
- llvm::sort(
- GVEs, [](DwarfCompileUnit::GlobalExpr A, DwarfCompileUnit::GlobalExpr B) {
- // Sort order: first null exprs, then exprs without fragment
- // info, then sort by fragment offset in bits.
- // FIXME: Come up with a more comprehensive comparator so
- // the sorting isn't non-deterministic, and so the following
- // std::unique call works correctly.
- if (!A.Expr || !B.Expr)
- return !!B.Expr;
- auto FragmentA = A.Expr->getFragmentInfo();
- auto FragmentB = B.Expr->getFragmentInfo();
- if (!FragmentA || !FragmentB)
- return !!FragmentB;
- return FragmentA->OffsetInBits < FragmentB->OffsetInBits;
- });
- GVEs.erase(std::unique(GVEs.begin(), GVEs.end(),
- [](DwarfCompileUnit::GlobalExpr A,
- DwarfCompileUnit::GlobalExpr B) {
- return A.Expr == B.Expr;
- }),
- GVEs.end());
- return GVEs;
-}
-
// Emit all Dwarf sections that should come after the content.
void DwarfDebug::endModule() {
// Terminate the pending line table.
@@ -1387,69 +1414,9 @@ void DwarfDebug::endModule() {
assert(CurFn == nullptr);
assert(CurMI == nullptr);
- // Collect global variables info.
- DenseMap<DIGlobalVariable *, SmallVector<DwarfCompileUnit::GlobalExpr, 1>>
- GVMap;
- for (const GlobalVariable &Global : MMI->getModule()->globals()) {
- SmallVector<DIGlobalVariableExpression *, 1> GVs;
- Global.getDebugInfo(GVs);
- for (auto *GVE : GVs)
- GVMap[GVE->getVariable()].push_back({&Global, GVE->getExpression()});
- }
-
- for (DICompileUnit *CUNode : MMI->getModule()->debug_compile_units()) {
- auto *CU = CUMap.lookup(CUNode);
-
- // If this CU hasn't been emitted yet, create it here unless it is empty.
- if (!CU) {
- // FIXME: Move local imported entities into a list attached to the
- // subprogram, then this search won't be needed and a
- // getImportedEntities().empty() test should go below with the rest.
- bool HasNonLocalImportedEntities = llvm::any_of(
- CUNode->getImportedEntities(), [](const DIImportedEntity *IE) {
- return !isa<DILocalScope>(IE->getScope());
- });
-
- if (!HasNonLocalImportedEntities && CUNode->getEnumTypes().empty() &&
- CUNode->getRetainedTypes().empty() &&
- CUNode->getGlobalVariables().empty() && CUNode->getMacros().empty())
- continue;
-
- CU = &getOrCreateDwarfCompileUnit(CUNode);
- }
-
- // Global Variables.
- for (auto *GVE : CUNode->getGlobalVariables()) {
- // Don't bother adding DIGlobalVariableExpressions listed in the CU if we
- // already know about the variable and it isn't adding a constant
- // expression.
- auto &GVMapEntry = GVMap[GVE->getVariable()];
- auto *Expr = GVE->getExpression();
- if (!GVMapEntry.size() || (Expr && Expr->isConstant()))
- GVMapEntry.push_back({nullptr, Expr});
- }
-
- DenseSet<DIGlobalVariable *> Processed;
- for (auto *GVE : CUNode->getGlobalVariables()) {
- DIGlobalVariable *GV = GVE->getVariable();
- if (Processed.insert(GV).second)
- CU->getOrCreateGlobalVariableDIE(GV, sortGlobalExprs(GVMap[GV]));
- }
-
- for (auto *Ty : CUNode->getEnumTypes())
- CU->getOrCreateTypeDIE(cast<DIType>(Ty));
-
- for (auto *Ty : CUNode->getRetainedTypes())
- if (DIType *RT = dyn_cast<DIType>(Ty))
- // There is no point in force-emitting a forward declaration.
- CU->getOrCreateTypeDIE(RT);
-
- // Emit imported entities last so that the relevant context
- // is already available.
- for (auto *IE : CUNode->getImportedEntities())
- CU->createAndAddImportedEntityDIE(IE);
-
- CU->createBaseTypeDIEs();
+ for (const auto &P : CUMap) {
+ auto &CU = *P.second;
+ CU.createBaseTypeDIEs();
}
// If we aren't actually generating debug info (check beginModule -
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
index d4372bc24c042..4e1a1b1e068df 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
@@ -316,13 +316,11 @@ class DwarfDebug : public DebugHandlerBase {
/// can refer to them in spite of insertions into this list.
DebugLocStream DebugLocs;
- using SubprogramSetVector =
- SetVector<const DISubprogram *, SmallVector<const DISubprogram *, 16>,
- SmallPtrSet<const DISubprogram *, 16>>;
-
/// This is a collection of subprogram MDNodes that are processed to
/// create DIEs.
- SubprogramSetVector ProcessedSPNodes;
+ SetVector<const DISubprogram *, SmallVector<const DISubprogram *, 16>,
+ SmallPtrSet<const DISubprogram *, 16>>
+ ProcessedSPNodes;
/// If nonnull, stores the current machine function we're processing.
const MachineFunction *CurFn = nullptr;
@@ -600,6 +598,10 @@ class DwarfDebug : public DebugHandlerBase {
void finishUnitAttributes(const DICompileUnit *DIUnit,
DwarfCompileUnit &NewCU);
+ /// Construct imported_module or imported_declaration DIE.
+ void constructAndAddImportedEntityDIE(DwarfCompileUnit &TheCU,
+ const DIImportedEntity *N);
+
/// Register a source line with debug info. Returns the unique
/// label that was emitted and which provides correspondence to the
/// source line list.
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h b/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
index 464f4f048016d..79a6ce7801b70 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
@@ -26,7 +26,6 @@ class DbgEntity;
class DbgVariable;
class DbgLabel;
class DINode;
-class DILocalScope;
class DwarfCompileUnit;
class DwarfUnit;
class LexicalScope;
@@ -88,7 +87,7 @@ class DwarfFile {
DenseMap<LexicalScope *, LabelList> ScopeLabels;
// Collection of abstract subprogram DIEs.
- DenseMap<const DILocalScope *, DIE *> AbstractLocalScopeDIEs;
+ DenseMap<const MDNode *, DIE *> AbstractSPDies;
DenseMap<const DINode *, std::unique_ptr<DbgEntity>> AbstractEntities;
/// Maps MDNodes for type system with the corresponding DIEs. These DIEs can
@@ -163,8 +162,8 @@ class DwarfFile {
return ScopeLabels;
}
- DenseMap<const DILocalScope *, DIE *> &getAbstractScopeDIEs() {
- return AbstractLocalScopeDIEs;
+ DenseMap<const MDNode *, DIE *> &getAbstractSPDies() {
+ return AbstractSPDies;
}
DenseMap<const DINode *, std::unique_ptr<DbgEntity>> &getAbstractEntities() {
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
index cea866e22664c..976e359051443 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
@@ -1200,7 +1200,7 @@ bool DwarfUnit::applySubprogramDefinitionAttributes(const DISubprogram *SP,
"decl has a linkage name and it is
diff erent");
if (DeclLinkageName.empty() &&
// Always emit it for abstract subprograms.
- (DD->useAllLinkageNames() || DU->getAbstractScopeDIEs().lookup(SP)))
+ (DD->useAllLinkageNames() || DU->getAbstractSPDies().lookup(SP)))
addLinkageName(SPDie, LinkageName);
if (!DeclDie)
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
index 2d0821c90109d..8140279adaef8 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
@@ -247,7 +247,7 @@ class DwarfUnit : public DIEUnit {
DIE *getOrCreateTypeDIE(const MDNode *TyNode);
/// Get context owner's DIE.
- virtual DIE *getOrCreateContextDIE(const DIScope *Context);
+ DIE *getOrCreateContextDIE(const DIScope *Context);
/// Construct DIEs for types that contain vtables.
void constructContainingTypeDIEs();
diff --git a/llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll b/llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
index 92dccdb771944..31f3da7430546 100644
--- a/llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
+++ b/llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
@@ -10,12 +10,12 @@ target triple = "thumbv7-apple-darwin10"
@x4 = internal global i8 1, align 1, !dbg !8
@x5 = global i8 1, align 1, !dbg !10
-; CHECK: DW_TAG_variable [6]
+; CHECK: DW_TAG_variable
; CHECK-NOT: DW_TAG
; CHECK: DW_AT_name {{.*}} "x1"
; CHECK-NOT: {{DW_TAG|NULL}}
; CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addr [[ADDR:0x[0-9a-fA-F]+]])
-; CHECK: DW_TAG_variable [6]
+; CHECK: DW_TAG_variable
; CHECK-NOT: DW_TAG
; CHECK: DW_AT_name {{.*}} "x2"
; CHECK-NOT: {{DW_TAG|NULL}}
diff --git a/llvm/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll b/llvm/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll
index d913a16eb93a5..ac229419a10f7 100644
--- a/llvm/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll
+++ b/llvm/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll
@@ -1,11 +1,11 @@
; RUN: llc -arm-global-merge -global-merge-group-by-use=false -filetype=obj < %s | llvm-dwarfdump -debug-info -v - | FileCheck %s
-; CHECK: DW_TAG_variable [6]
+; CHECK: DW_TAG_variable
; CHECK-NOT: DW_TAG
; CHECK: DW_AT_name {{.*}} "x1"
; CHECK-NOT: {{DW_TAG|NULL}}
; CHECK: DW_AT_location [DW_FORM_exprloc] (DW_OP_addr [[ADDR:0x[0-9a-fA-F]+]])
-; CHECK: DW_TAG_variable [6]
+; CHECK: DW_TAG_variable
; CHECK-NOT: DW_TAG
; CHECK: DW_AT_name {{.*}} "x2"
; CHECK-NOT: {{DW_TAG|NULL}}
diff --git a/llvm/test/DebugInfo/AMDGPU/variable-locations.ll b/llvm/test/DebugInfo/AMDGPU/variable-locations.ll
index b2fabbd3c3810..365dd9dfea78b 100644
--- a/llvm/test/DebugInfo/AMDGPU/variable-locations.ll
+++ b/llvm/test/DebugInfo/AMDGPU/variable-locations.ll
@@ -13,7 +13,22 @@
declare void @llvm.dbg.declare(metadata, metadata, metadata)
+; CHECK: {{.*}}DW_TAG_variable
+; CHECK-NEXT: DW_AT_name {{.*}}"GlobA"
+; CHECK-NEXT: DW_AT_type
+; CHECK-NEXT: DW_AT_external
+; CHECK-NEXT: DW_AT_decl_file
+; CHECK-NEXT: DW_AT_decl_line
+; CHECK-NEXT: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x0)
@GlobA = common addrspace(1) global i32 0, align 4, !dbg !0
+
+; CHECK: {{.*}}DW_TAG_variable
+; CHECK-NEXT: DW_AT_name {{.*}}"GlobB"
+; CHECK-NEXT: DW_AT_type
+; CHECK-NEXT: DW_AT_external
+; CHECK-NEXT: DW_AT_decl_file
+; CHECK-NEXT: DW_AT_decl_line
+; CHECK-NEXT: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x0)
@GlobB = common addrspace(1) global i32 0, align 4, !dbg !6
; CHECK: {{.*}}DW_TAG_subprogram
@@ -63,28 +78,12 @@ entry:
!llvm.ident = !{!12}
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
-
-; CHECK: {{.*}}DW_TAG_variable
-; CHECK-NEXT: DW_AT_name {{.*}}"GlobA"
-; CHECK-NEXT: DW_AT_type
-; CHECK-NEXT: DW_AT_external
-; CHECK-NEXT: DW_AT_decl_file
-; CHECK-NEXT: DW_AT_decl_line
-; CHECK-NEXT: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x0)
!1 = distinct !DIGlobalVariable(name: "GlobA", scope: !2, file: !3, line: 1, type: !8, isLocal: false, isDefinition: true)
!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 5.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)
!3 = !DIFile(filename: "variable-locations.cl", directory: "/some/random/directory")
!4 = !{}
!5 = !{!0, !6}
!6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression())
-
-; CHECK: {{.*}}DW_TAG_variable
-; CHECK-NEXT: DW_AT_name {{.*}}"GlobB"
-; CHECK-NEXT: DW_AT_type
-; CHECK-NEXT: DW_AT_external
-; CHECK-NEXT: DW_AT_decl_file
-; CHECK-NEXT: DW_AT_decl_line
-; CHECK-NEXT: DW_AT_location [DW_FORM_block1] (DW_OP_addr 0x0)
!7 = distinct !DIGlobalVariable(name: "GlobB", scope: !2, file: !3, line: 2, type: !8, isLocal: false, isDefinition: true)
!8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!9 = !{i32 2, i32 0}
diff --git a/llvm/test/DebugInfo/BPF/extern-void.ll b/llvm/test/DebugInfo/BPF/extern-void.ll
index 283dd54110073..3bf8e27623e76 100644
--- a/llvm/test/DebugInfo/BPF/extern-void.ll
+++ b/llvm/test/DebugInfo/BPF/extern-void.ll
@@ -36,8 +36,9 @@ entry:
; CHECK: .quad bla1
; CHECK-NEXT: DW_TAG_variable
;
-; CHECK: .quad bla2
+; CHECK: .quad bla2
; CHECK-NEXT: DW_TAG_const_type
+; CHECK-NEXT: DW_TAG_subprogram
; Function Attrs: nounwind readnone speculatable willreturn
declare void @llvm.dbg.value(metadata, metadata, metadata) #1
diff --git a/llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll b/llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
index 6e36aded9e190..2b6369e005213 100644
--- a/llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
+++ b/llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
@@ -27,15 +27,13 @@
; The DISubprogram should show up in compile unit a.
; CHECK: DW_TAG_compile_unit
; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_name ("a.cpp")
-; CHECK: DW_TAG_subprogram
-; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_name ("func")
+; CHECK: DW_AT_name ("b.cpp")
+; CHECK-NOT: DW_TAG_subprogram
; CHECK: DW_TAG_compile_unit
; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_name ("b.cpp")
-; CHECK-NOT: DW_TAG_subprogram
+; CHECK: DW_AT_name ("a.cpp")
+; CHECK: DW_AT_name ("func")
source_filename = "test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll"
diff --git a/llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll b/llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll
index b7e7247b91b58..07e420ce47d5e 100644
--- a/llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll
+++ b/llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll
@@ -18,10 +18,6 @@
; CHECK-NEXT: DW_AT_reference DW_FORM_flag_present
; CHECK: DW_TAG_subroutine_type DW_CHILDREN_yes
; CHECK-NEXT: DW_AT_rvalue_reference DW_FORM_flag_present
-
-; CHECK: DW_TAG_subprogram
-; CHECK-NOT: DW_TAG_subprogram
-; CHECK: DW_AT_name {{.*}} "g")
;
; CHECK: DW_TAG_subprogram
; CHECK-NOT: DW_TAG_subprogram
diff --git a/llvm/test/DebugInfo/Generic/debug-names-linkage-name.ll b/llvm/test/DebugInfo/Generic/debug-names-linkage-name.ll
index 9ea8c724bfc02..7b749f8c7f4d5 100644
--- a/llvm/test/DebugInfo/Generic/debug-names-linkage-name.ll
+++ b/llvm/test/DebugInfo/Generic/debug-names-linkage-name.ll
@@ -11,9 +11,9 @@
; We should have all three linkage names in the .debug_info and .debug_names
; ALL: .debug_info contents:
+; ALL: DW_AT_linkage_name ("_ZN1n1vE")
; ALL: DW_AT_linkage_name ("_Z1fi")
; ALL: DW_AT_linkage_name ("_Z1gi")
-; ALL: DW_AT_linkage_name ("_ZN1n1vE")
; ALL: .debug_names contents:
; ALL: String: {{.*}} "_Z1fi"
; ALL: String: {{.*}} "_Z1gi"
diff --git a/llvm/test/DebugInfo/Generic/enum-types.ll b/llvm/test/DebugInfo/Generic/enum-types.ll
index d40866c091a39..786ee28f54acb 100644
--- a/llvm/test/DebugInfo/Generic/enum-types.ll
+++ b/llvm/test/DebugInfo/Generic/enum-types.ll
@@ -6,12 +6,12 @@
; rdar://17628609
; CHECK: DW_TAG_compile_unit
+; CHECK: 0x[[ENUM:.*]]: DW_TAG_enumeration_type
+; CHECK-NEXT: DW_AT_name {{.*}}"EA"
; CHECK: DW_TAG_subprogram
; CHECK: DW_AT_MIPS_linkage_name {{.*}}"_Z4topA2EA"
; CHECK: DW_TAG_formal_parameter
-; CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x{{.*}} => {0x[[ENUM:.*]]}
-; CHECK: 0x[[ENUM]]: DW_TAG_enumeration_type
-; CHECK-NEXT: DW_AT_name {{.*}}"EA"
+; CHECK: DW_AT_type [DW_FORM_ref4] (cu + 0x{{.*}} => {0x[[ENUM]]}
; CHECK: DW_TAG_compile_unit
; CHECK: DW_TAG_subprogram
diff --git a/llvm/test/DebugInfo/Generic/import-inlined-declaration.ll b/llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
deleted file mode 100644
index 471526b1395c6..0000000000000
--- a/llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
+++ /dev/null
@@ -1,72 +0,0 @@
-; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump - | FileCheck --implicit-check-not "{{DW_TAG|NULL}}" %s
-
-; namespace ns {
-; inline __attribute__((always_inline))
-; void foo() { int a = 4; }
-; }
-;
-; void goo() {
-; using ns::foo;
-; foo();
-; }
-
-; Ensure that imported declarations reference the correct subprograms even if
-; those subprograms are inlined.
-
-; CHECK: DW_TAG_compile_unit
-; CHECK: DW_TAG_namespace
-; CHECK: DW_AT_name ("ns")
-; CHECK: [[FOO:0x.*]]: DW_TAG_subprogram
-; CHECK: DW_AT_name ("foo")
-; CHECK: DW_TAG_variable
-; CHECK: NULL
-; CHECK: NULL
-; CHECK: DW_TAG_base_type
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("goo")
-; CHECK: DW_TAG_inlined_subroutine
-; CHECK: DW_AT_abstract_origin ([[FOO]]
-; CHECK: DW_TAG_variable
-; CHECK: NULL
-; CHECK: DW_TAG_imported_declaration
-; CHECK: DW_AT_import ([[FOO]])
-; CHECK: NULL
-; CHECK: NULL
-
-; Function Attrs: mustprogress noinline optnone uwtable
-define dso_local void @_Z3goov() !dbg !4 {
-entry:
- %a.i = alloca i32, align 4
- call void @llvm.dbg.declare(metadata i32* %a.i, metadata !16, metadata !DIExpression()), !dbg !18
- store i32 4, i32* %a.i, align 4, !dbg !18
- ret void, !dbg !20
-}
-
-; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
-declare void @llvm.dbg.declare(metadata, metadata, metadata)
-
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!10, !11, !12, !13, !14}
-!llvm.ident = !{!15}
-
-!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !1, producer: "clang version 14.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, imports: !2, splitDebugInlining: false, nameTableKind: None)
-!1 = !DIFile(filename: "imported-inlined-declaration.cpp", directory: "")
-!2 = !{!3}
-!3 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !4, entity: !8, file: !1, line: 7)
-!4 = distinct !DISubprogram(name: "goo", linkageName: "_Z3goov", scope: !1, file: !1, line: 6, type: !5, scopeLine: 6, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !7)
-!5 = !DISubroutineType(types: !6)
-!6 = !{null}
-!7 = !{}
-!8 = distinct !DISubprogram(name: "foo", linkageName: "_ZN2ns3fooEv", scope: !9, file: !1, line: 3, type: !5, scopeLine: 3, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !7)
-!9 = !DINamespace(name: "ns", scope: null)
-!10 = !{i32 7, !"Dwarf Version", i32 4}
-!11 = !{i32 2, !"Debug Info Version", i32 3}
-!12 = !{i32 1, !"wchar_size", i32 4}
-!13 = !{i32 7, !"uwtable", i32 1}
-!14 = !{i32 7, !"frame-pointer", i32 2}
-!15 = !{!"clang version 14.0.0"}
-!16 = !DILocalVariable(name: "a", scope: !8, file: !1, line: 3, type: !17)
-!17 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!18 = !DILocation(line: 3, column: 18, scope: !8, inlinedAt: !19)
-!19 = distinct !DILocation(line: 8, column: 2, scope: !4)
-!20 = !DILocation(line: 9, column: 1, scope: !4)
diff --git a/llvm/test/DebugInfo/Generic/imported-name-inlined.ll b/llvm/test/DebugInfo/Generic/imported-name-inlined.ll
index a26b687b1f674..a3aaaff66f851 100644
--- a/llvm/test/DebugInfo/Generic/imported-name-inlined.ll
+++ b/llvm/test/DebugInfo/Generic/imported-name-inlined.ll
@@ -13,17 +13,21 @@
; Ensure that top level imported declarations don't produce an extra degenerate
; concrete subprogram definition.
+; FIXME: imported entities should only be emitted to the abstract origin if one is present
+
; CHECK: DW_TAG_compile_unit
; CHECK: DW_TAG_subprogram
; CHECK: DW_AT_name ("f1")
; CHECK: DW_TAG_imported_declaration
; CHECK: NULL
+; CHECK: DW_TAG_namespace
+; CHECK: DW_TAG_subprogram
+; CHECK: NULL
; CHECK: DW_TAG_subprogram
; CHECK: DW_AT_name ("f2")
; CHECK: DW_TAG_inlined_subroutine
-; CHECK: NULL
-; CHECK: DW_TAG_namespace
-; CHECK: DW_TAG_subprogram
+; CHECK: DW_TAG_imported_declaration
+; CHECK: NULL
; CHECK: NULL
; CHECK: NULL
diff --git a/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll b/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll
index 2d708b5cb21a9..df78a937ed128 100644
--- a/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll
+++ b/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll
@@ -34,9 +34,6 @@
; b.m_fn2();
; }
-; CHECK: DW_TAG_structure_type
-; CHECK-NEXT: DW_AT_name ("B")
-
; CHECK: DW_TAG_structure_type
; CHECK-NEXT: DW_AT_name ("C")
; CHECK: [[M_FN3_DECL:.*]]: DW_TAG_subprogram
diff --git a/llvm/test/DebugInfo/Generic/inlined-local-type.ll b/llvm/test/DebugInfo/Generic/inlined-local-type.ll
deleted file mode 100644
index b3f3f80c07d29..0000000000000
--- a/llvm/test/DebugInfo/Generic/inlined-local-type.ll
+++ /dev/null
@@ -1,125 +0,0 @@
-; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck --implicit-check-not "{{DW_TAG|NULL}}" %s
-
-; inline __attribute__((always_inline))
-; int removed() { struct A {int i;}; struct A a; return a.i++; }
-;
-; __attribute__((always_inline))
-; int not_removed() { struct B {int i;}; struct B b; return b.i++; }
-;
-; int foo() { return removed() + not_removed(); }}
-
-; Ensure that function-local types have the correct subprogram parent even if
-; those subprograms are inlined.
-
-; CHECK: DW_TAG_compile_unit
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_abstract_origin ({{0x.*}} "not_removed")
-; CHECK: DW_TAG_variable
-; CHECK: NULL
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("removed")
-; CHECK: [[A:0x.*]]: DW_TAG_structure_type
-; CHECK: DW_AT_name ("A")
-; CHECK: DW_TAG_member
-; CHECK: NULL
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_type ([[A]] "A")
-; CHECK: NULL
-; CHECK: DW_TAG_base_type
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("not_removed")
-; CHECK: [[B:0x.*]]: DW_TAG_structure_type
-; CHECK: DW_AT_name ("B")
-; CHECK: DW_TAG_member
-; CHECK: NULL
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_type ([[B]] "B")
-; CHECK: NULL
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_TAG_inlined_subroutine
-; CHECK: DW_TAG_variable
-; CHECK: NULL
-; CHECK: DW_TAG_inlined_subroutine
-; CHECK: DW_TAG_variable
-; CHECK: NULL
-; CHECK: NULL
-; CHECK: NULL
-
-%struct.B = type { i32 }
-%struct.A = type { i32 }
-
-define dso_local i32 @not_removed() !dbg !12 {
- %1 = alloca %struct.B, align 4
- call void @llvm.dbg.declare(metadata %struct.B* %1, metadata !18, metadata !DIExpression()), !dbg !22
- %2 = getelementptr inbounds %struct.B, %struct.B* %1, i32 0, i32 0, !dbg !23
- %3 = load i32, i32* %2, align 4, !dbg !24
- %4 = add nsw i32 %3, 1, !dbg !24
- store i32 %4, i32* %2, align 4, !dbg !24
- ret i32 %3, !dbg !25
-}
-
-declare void @llvm.dbg.declare(metadata, metadata, metadata)
-
-define dso_local i32 @foo() !dbg !26 {
- %1 = alloca %struct.A, align 4
- %2 = alloca %struct.B, align 4
- call void @llvm.dbg.declare(metadata %struct.A* %1, metadata !27, metadata !DIExpression()), !dbg !32
- %3 = getelementptr inbounds %struct.A, %struct.A* %1, i32 0, i32 0, !dbg !34
- %4 = load i32, i32* %3, align 4, !dbg !35
- %5 = add nsw i32 %4, 1, !dbg !35
- store i32 %5, i32* %3, align 4, !dbg !35
- call void @llvm.dbg.declare(metadata %struct.B* %2, metadata !18, metadata !DIExpression()), !dbg !36
- %6 = getelementptr inbounds %struct.B, %struct.B* %2, i32 0, i32 0, !dbg !38
- %7 = load i32, i32* %6, align 4, !dbg !39
- %8 = add nsw i32 %7, 1, !dbg !39
- store i32 %8, i32* %6, align 4, !dbg !39
- %9 = add nsw i32 %4, %7, !dbg !40
- ret i32 %9, !dbg !41
-}
-
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!2, !3, !4, !5, !6, !7, !8, !9, !10}
-!llvm.ident = !{!11}
-
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 14.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, splitDebugInlining: false, nameTableKind: None)
-!1 = !DIFile(filename: "inlined-local-type.cpp", directory: "")
-!2 = !{i32 7, !"Dwarf Version", i32 4}
-!3 = !{i32 2, !"Debug Info Version", i32 3}
-!4 = !{i32 1, !"wchar_size", i32 4}
-!5 = !{i32 1, !"branch-target-enforcement", i32 0}
-!6 = !{i32 1, !"sign-return-address", i32 0}
-!7 = !{i32 1, !"sign-return-address-all", i32 0}
-!8 = !{i32 1, !"sign-return-address-with-bkey", i32 0}
-!9 = !{i32 7, !"uwtable", i32 1}
-!10 = !{i32 7, !"frame-pointer", i32 1}
-!11 = !{!"clang version 14.0.0"}
-!12 = distinct !DISubprogram(name: "not_removed", scope: !13, file: !13, line: 5, type: !14, scopeLine: 5, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !17)
-!13 = !DIFile(filename: "inlined-local-type.cpp", directory: "")
-!14 = !DISubroutineType(types: !15)
-!15 = !{!16}
-!16 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!17 = !{}
-!18 = !DILocalVariable(name: "b", scope: !12, file: !13, line: 5, type: !19)
-!19 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "B", scope: !12, file: !13, line: 5, size: 32, elements: !20)
-!20 = !{!21}
-!21 = !DIDerivedType(tag: DW_TAG_member, name: "i", scope: !19, file: !13, line: 5, baseType: !16, size: 32)
-!22 = !DILocation(line: 5, column: 49, scope: !12)
-!23 = !DILocation(line: 5, column: 61, scope: !12)
-!24 = !DILocation(line: 5, column: 62, scope: !12)
-!25 = !DILocation(line: 5, column: 52, scope: !12)
-!26 = distinct !DISubprogram(name: "foo", scope: !13, file: !13, line: 7, type: !14, scopeLine: 7, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !17)
-!27 = !DILocalVariable(name: "a", scope: !28, file: !13, line: 2, type: !29)
-!28 = distinct !DISubprogram(name: "removed", scope: !13, file: !13, line: 2, type: !14, scopeLine: 2, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !17)
-!29 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "A", scope: !28, file: !13, line: 2, size: 32, elements: !30)
-!30 = !{!31}
-!31 = !DIDerivedType(tag: DW_TAG_member, name: "i", scope: !29, file: !13, line: 2, baseType: !16, size: 32)
-!32 = !DILocation(line: 2, column: 45, scope: !28, inlinedAt: !33)
-!33 = distinct !DILocation(line: 7, column: 20, scope: !26)
-!34 = !DILocation(line: 2, column: 57, scope: !28, inlinedAt: !33)
-!35 = !DILocation(line: 2, column: 58, scope: !28, inlinedAt: !33)
-!36 = !DILocation(line: 5, column: 49, scope: !12, inlinedAt: !37)
-!37 = distinct !DILocation(line: 7, column: 32, scope: !26)
-!38 = !DILocation(line: 5, column: 61, scope: !12, inlinedAt: !37)
-!39 = !DILocation(line: 5, column: 62, scope: !12, inlinedAt: !37)
-!40 = !DILocation(line: 7, column: 30, scope: !26)
-!41 = !DILocation(line: 7, column: 13, scope: !26)
diff --git a/llvm/test/DebugInfo/Generic/inlined-static-var.ll b/llvm/test/DebugInfo/Generic/inlined-static-var.ll
deleted file mode 100644
index 60c986fc2b648..0000000000000
--- a/llvm/test/DebugInfo/Generic/inlined-static-var.ll
+++ /dev/null
@@ -1,92 +0,0 @@
-; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck --implicit-check-not "{{DW_TAG|NULL}}" %s
-
-; inline __attribute__((always_inline))
-; int removed() { static int A; return A++; }
-;
-; __attribute__((always_inline))
-; int not_removed() { static int B; return B++; }
-;
-; int foo() { return removed() + not_removed(); }
-
-; Ensure that global variables belong to the correct subprograms even if those
-; subprograms are inlined.
-
-; CHECK: DW_TAG_compile_unit
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_abstract_origin {{.*}} "_Z11not_removedv"
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("removed")
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("A")
-; CHECK: NULL
-; CHECK: DW_TAG_base_type
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("not_removed")
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("B")
-; CHECK: NULL
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("foo")
-; CHECK: DW_TAG_inlined_subroutine
-; CHECK: DW_TAG_inlined_subroutine
-; CHECK: NULL
-; CHECK: NULL
-
- at _ZZ11not_removedvE1A = internal global i32 0, align 4, !dbg !0
- at _ZZ7removedvE1A = linkonce_odr dso_local global i32 0, align 4, !dbg !10
-
-define dso_local i32 @_Z11not_removedv() !dbg !2 {
- %1 = load i32, i32* @_ZZ11not_removedvE1A, align 4, !dbg !24
- %2 = add nsw i32 %1, 1, !dbg !24
- store i32 %2, i32* @_ZZ11not_removedvE1A, align 4, !dbg !24
- ret i32 %1, !dbg !25
-}
-
-define dso_local i32 @_Z3foov() !dbg !26 {
- %1 = load i32, i32* @_ZZ7removedvE1A, align 4, !dbg !27
- %2 = add nsw i32 %1, 1, !dbg !27
- store i32 %2, i32* @_ZZ7removedvE1A, align 4, !dbg !27
- %3 = load i32, i32* @_ZZ11not_removedvE1A, align 4, !dbg !29
- %4 = add nsw i32 %3, 1, !dbg !29
- store i32 %4, i32* @_ZZ11not_removedvE1A, align 4, !dbg !29
- %5 = add nsw i32 %1, %3, !dbg !31
- ret i32 %5, !dbg !32
-}
-
-!llvm.dbg.cu = !{!7}
-!llvm.module.flags = !{!14, !15, !16, !17, !18, !19, !20, !21, !22}
-!llvm.ident = !{!23}
-
-!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
-!1 = distinct !DIGlobalVariable(name: "B", scope: !2, file: !3, line: 5, type: !6, isLocal: true, isDefinition: true)
-!2 = distinct !DISubprogram(name: "not_removed", linkageName: "_Z11not_removedv", scope: !3, file: !3, line: 5, type: !4, scopeLine: 5, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !7, retainedNodes: !13)
-!3 = !DIFile(filename: "example.cpp", directory: "")
-!4 = !DISubroutineType(types: !5)
-!5 = !{!6}
-!6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!7 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !8, producer: "clang version 14.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !9, splitDebugInlining: false, nameTableKind: None)
-!8 = !DIFile(filename: "example.cpp", directory: "")
-!9 = !{!0, !10}
-!10 = !DIGlobalVariableExpression(var: !11, expr: !DIExpression())
-!11 = distinct !DIGlobalVariable(name: "A", scope: !12, file: !3, line: 2, type: !6, isLocal: false, isDefinition: true)
-!12 = distinct !DISubprogram(name: "removed", linkageName: "_Z7removedv", scope: !3, file: !3, line: 2, type: !4, scopeLine: 2, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !7, retainedNodes: !13)
-!13 = !{}
-!14 = !{i32 7, !"Dwarf Version", i32 4}
-!15 = !{i32 2, !"Debug Info Version", i32 3}
-!16 = !{i32 1, !"wchar_size", i32 4}
-!17 = !{i32 1, !"branch-target-enforcement", i32 0}
-!18 = !{i32 1, !"sign-return-address", i32 0}
-!19 = !{i32 1, !"sign-return-address-all", i32 0}
-!20 = !{i32 1, !"sign-return-address-with-bkey", i32 0}
-!21 = !{i32 7, !"uwtable", i32 1}
-!22 = !{i32 7, !"frame-pointer", i32 1}
-!23 = !{!"clang version 14.0.0"}
-!24 = !DILocation(line: 5, column: 43, scope: !2)
-!25 = !DILocation(line: 5, column: 35, scope: !2)
-!26 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !3, file: !3, line: 7, type: !4, scopeLine: 7, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !7, retainedNodes: !13)
-!27 = !DILocation(line: 2, column: 39, scope: !12, inlinedAt: !28)
-!28 = distinct !DILocation(line: 7, column: 20, scope: !26)
-!29 = !DILocation(line: 5, column: 43, scope: !2, inlinedAt: !30)
-!30 = distinct !DILocation(line: 7, column: 32, scope: !26)
-!31 = !DILocation(line: 7, column: 30, scope: !26)
-!32 = !DILocation(line: 7, column: 13, scope: !26)
diff --git a/llvm/test/DebugInfo/Generic/lexical_block_static.ll b/llvm/test/DebugInfo/Generic/lexical_block_static.ll
deleted file mode 100644
index 73d837587f4d6..0000000000000
--- a/llvm/test/DebugInfo/Generic/lexical_block_static.ll
+++ /dev/null
@@ -1,148 +0,0 @@
-; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck --implicit-check-not "{{DW_TAG|NULL}}" %s
-
-; inline __attribute__((always_inline))
-; int removed() {
-; {
-; static int A;
-; return A++;
-; }
-; }
-;
-; __attribute__((always_inline))
-; int not_removed() {
-; {
-; static int B;
-; return B++;
-; }
-; }
-;
-; int foo() {
-; {
-; static int C;
-; return ++C + removed() + not_removed();
-; }
-; }
-
-; CHECK: DW_TAG_compile_unit
-
-; Out-of-line definition of `not_removed()`.
-; The empty lexical block is created to match abstract origin.
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_abstract_origin {{.*}} "_Z11not_removedv"
-; CHECK: DW_TAG_lexical_block
-; CHECK: NULL
-
-; Abstract definition of `removed()`
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("removed")
-; CHECK: DW_AT_inline (DW_INL_inlined)
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("A")
-; CHECK: DW_AT_location (DW_OP_addr 0x0)
-; CHECK: NULL
-; CHECK: NULL
-; CHECK: DW_TAG_base_type
-
-; Abstract definition of `not_removed()`
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("not_removed")
-; CHECK: DW_AT_inline (DW_INL_inlined)
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("B")
-; CHECK: DW_AT_location (DW_OP_addr 0x0)
-; CHECK: NULL
-; CHECK: NULL
-
-; Definition of foo().
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("foo")
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_inlined_subroutine
-; CHECK: DW_TAG_lexical_block
-; CHECK: NULL
-; CHECK: DW_TAG_inlined_subroutine
-; CHECK: DW_TAG_lexical_block
-; CHECK: NULL
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("C")
-; CHECK: DW_AT_location (DW_OP_addr 0x0)
-; CHECK: NULL
-; CHECK: NULL
-; CHECK: NULL
-
-$_ZZ7removedvE1A = comdat any
-
- at _ZZ11not_removedvE1B = internal global i32 0, align 4, !dbg !0
- at _ZZ3foovE1C = internal global i32 0, align 4, !dbg !10
- at _ZZ7removedvE1A = linkonce_odr dso_local global i32 0, comdat, align 4, !dbg !15
-
-; Function Attrs: alwaysinline mustprogress nounwind uwtable
-define dso_local i32 @_Z11not_removedv() #0 !dbg !4 {
-entry:
- %0 = load i32, i32* @_ZZ11not_removedvE1B, align 4, !dbg !25
- %inc = add nsw i32 %0, 1, !dbg !25
- store i32 %inc, i32* @_ZZ11not_removedvE1B, align 4, !dbg !25
- ret i32 %0, !dbg !26
-}
-
-; Function Attrs: mustprogress noinline optnone uwtable
-define dso_local i32 @_Z3foov() #1 !dbg !13 {
-entry:
- %0 = load i32, i32* @_ZZ3foovE1C, align 4, !dbg !27
- %inc = add nsw i32 %0, 1, !dbg !27
- store i32 %inc, i32* @_ZZ3foovE1C, align 4, !dbg !27
- %1 = load i32, i32* @_ZZ7removedvE1A, align 4, !dbg !28
- %inc.i3 = add nsw i32 %1, 1, !dbg !28
- store i32 %inc.i3, i32* @_ZZ7removedvE1A, align 4, !dbg !28
- %add = add nsw i32 %inc, %1, !dbg !30
- %2 = load i32, i32* @_ZZ11not_removedvE1B, align 4, !dbg !31
- %inc.i = add nsw i32 %2, 1, !dbg !31
- store i32 %inc.i, i32* @_ZZ11not_removedvE1B, align 4, !dbg !31
- %add2 = add nsw i32 %add, %2, !dbg !33
- ret i32 %add2, !dbg !34
-}
-
-attributes #0 = { alwaysinline mustprogress nounwind uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
-attributes #1 = { mustprogress noinline optnone uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
-
-!llvm.dbg.cu = !{!8}
-!llvm.module.flags = !{!19, !20, !21, !22, !23}
-!llvm.ident = !{!24}
-
-!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
-!1 = distinct !DIGlobalVariable(name: "B", scope: !2, file: !3, line: 13, type: !7, isLocal: true, isDefinition: true)
-!2 = distinct !DILexicalBlock(scope: !4, file: !3, line: 12, column: 3)
-!3 = !DIFile(filename: "test_static.cpp", directory: "/home/kbessonova/workspace/llvm/llvm-project/build")
-!4 = distinct !DISubprogram(name: "not_removed", linkageName: "_Z11not_removedv", scope: !3, file: !3, line: 11, type: !5, scopeLine: 11, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !8, retainedNodes: !14)
-!5 = !DISubroutineType(types: !6)
-!6 = !{!7}
-!7 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!8 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !3, producer: "clang version 14.0.0 (git at github.com:llvm/llvm-project.git e1d09ac2d118825452bfc26e44565f7f4122fd6d)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !9, splitDebugInlining: false, nameTableKind: None)
-!9 = !{!0, !10, !15}
-!10 = !DIGlobalVariableExpression(var: !11, expr: !DIExpression())
-!11 = distinct !DIGlobalVariable(name: "C", scope: !12, file: !3, line: 20, type: !7, isLocal: true, isDefinition: true)
-!12 = distinct !DILexicalBlock(scope: !13, file: !3, line: 19, column: 3)
-!13 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !3, file: !3, line: 18, type: !5, scopeLine: 18, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !8, retainedNodes: !14)
-!14 = !{}
-!15 = !DIGlobalVariableExpression(var: !16, expr: !DIExpression())
-!16 = distinct !DIGlobalVariable(name: "A", scope: !17, file: !3, line: 5, type: !7, isLocal: false, isDefinition: true)
-!17 = distinct !DILexicalBlock(scope: !18, file: !3, line: 4, column: 3)
-!18 = distinct !DISubprogram(name: "removed", linkageName: "_Z7removedv", scope: !3, file: !3, line: 3, type: !5, scopeLine: 3, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !8, retainedNodes: !14)
-!19 = !{i32 7, !"Dwarf Version", i32 4}
-!20 = !{i32 2, !"Debug Info Version", i32 3}
-!21 = !{i32 1, !"wchar_size", i32 4}
-!22 = !{i32 7, !"uwtable", i32 1}
-!23 = !{i32 7, !"frame-pointer", i32 2}
-!24 = !{!"clang version 14.0.0 (git at github.com:llvm/llvm-project.git e1d09ac2d118825452bfc26e44565f7f4122fd6d)"}
-!25 = !DILocation(line: 14, column: 13, scope: !2)
-!26 = !DILocation(line: 14, column: 5, scope: !2)
-!27 = !DILocation(line: 21, column: 12, scope: !12)
-!28 = !DILocation(line: 6, column: 13, scope: !17, inlinedAt: !29)
-!29 = distinct !DILocation(line: 21, column: 18, scope: !12)
-!30 = !DILocation(line: 21, column: 16, scope: !12)
-!31 = !DILocation(line: 14, column: 13, scope: !2, inlinedAt: !32)
-!32 = distinct !DILocation(line: 21, column: 30, scope: !12)
-!33 = !DILocation(line: 21, column: 28, scope: !12)
-!34 = !DILocation(line: 21, column: 5, scope: !12)
diff --git a/llvm/test/DebugInfo/Generic/lexical_block_types.ll b/llvm/test/DebugInfo/Generic/lexical_block_types.ll
deleted file mode 100644
index 1d4e9e7eb3e7d..0000000000000
--- a/llvm/test/DebugInfo/Generic/lexical_block_types.ll
+++ /dev/null
@@ -1,421 +0,0 @@
-; RUN: %llc_dwarf -O0 -filetype=obj < %s | llvm-dwarfdump -debug-info - | FileCheck --implicit-check-not "{{DW_TAG|NULL}}" %s
-
-; inline __attribute__((always_inline))
-; void removed() {
-; struct A1 { int i; };
-; typedef int Int1;
-; {
-; struct I1 { Int1 j; };
-; struct C1 { typedef char Char1; Char1 c; };
-; A1 a1; a1.i++;
-; {
-; I1 i1; i1.j++;
-; C1 c1; c1.c++;
-; }
-; }
-; }
-;
-; __attribute__((always_inline))
-; void not_removed() {
-; struct A2 { int i; };
-; typedef int Int2;
-; {
-; struct I2 { Int2 j; };
-; struct C2 { typedef char Char2; Char2 c; };
-; A2 a2; a2.i++;
-; {
-; I2 i2; i2.j++;
-; C2 c2; c2.c++;
-; }
-; }
-; }
-;
-; void foo() {
-; struct A3 { int i; };
-; typedef int Int3;
-; {
-; struct I3 { Int3 j; };
-; {
-; struct C3 { typedef char Char3; Char3 c; };
-; A3 a3; a3.i++;
-; {
-; I3 i3; i3.j++;
-; C3 c3; c3.c++;
-; }
-; }
-; }
-; removed();
-; not_removed();
-; }
-;
-; CHECK: DW_TAG_compile_unit
-
-; Out-of-line definition of `not_removed()` shouldn't contain any debug info for types.
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_abstract_origin {{.*}} "_Z11not_removedv"
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_abstract_origin {{.*}} "a2"
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_abstract_origin {{.*}} "i2"
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_abstract_origin {{.*}} "c2"
-; CHECK: NULL
-; CHECK: NULL
-; CHECK: NULL
-
-; Abstract definition of `removed()`.
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("removed")
-; CHECK: DW_AT_inline (DW_INL_inlined)
-
-; I1 and C1 defined in the first lexical block, typedef Char1 is a child of C1.
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("a1")
-; CHECK: DW_AT_type {{.*}} "A1"
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_type {{.*}} "I1"
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_type {{.*}} "C1"
-; CHECK: NULL
-; CHECK: DW_TAG_structure_type
-; CHECK: DW_AT_name ("I1")
-; CHECK: DW_TAG_member
-; CHECK: DW_AT_type {{.*}} "Int1"
-; CHECK: NULL
-; CHECK: DW_TAG_structure_type
-; CHECK: DW_AT_name ("C1")
-; CHECK: DW_TAG_member
-; CHECK: DW_AT_type {{.*}} "C1::Char1"
-; CHECK: DW_TAG_typedef
-; CHECK: DW_AT_name ("Char1")
-; CHECK: NULL
-; CHECK: NULL
-
-; A1 and typedef Int1 defined in subprogram scope.
-; CHECK: DW_TAG_structure_type
-; CHECK: DW_AT_name ("A1")
-; CHECK: DW_TAG_member
-; CHECK: NULL
-; CHECK: DW_TAG_typedef
-; CHECK: DW_AT_name ("Int1")
-; CHECK: NULL
-
-; CHECK: DW_TAG_base_type
-; CHECK: DW_TAG_base_type
-
-; Abstract definition of `not_removed()`.
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("not_removed")
-; CHECK: DW_AT_inline (DW_INL_inlined)
-
-; I2 and C2 defined in the first lexical block, typedef Char2 is a child of C2.
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("a2")
-; CHECK: DW_AT_type {{.*}} "A2"
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("i2")
-; CHECK: DW_AT_type {{.*}} "I2"
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("c2")
-; CHECK: DW_AT_type {{.*}} "C2"
-; CHECK: NULL
-; CHECK: DW_TAG_structure_type
-; CHECK: DW_AT_name ("I2")
-; CHECK: DW_TAG_member
-; CHECK: DW_AT_type {{.*}} "Int2"
-; CHECK: NULL
-; CHECK: DW_TAG_structure_type
-; CHECK: DW_AT_name ("C2")
-; CHECK: DW_TAG_member
-; CHECK: DW_AT_type {{.*}} "C2::Char2"
-; CHECK: DW_TAG_typedef
-; CHECK: DW_AT_name ("Char2")
-; CHECK: NULL
-; CHECK: NULL
-
-; A2 and typedef Int2 defined in subprogram scope.
-; CHECK: DW_TAG_structure_type
-; CHECK: DW_AT_name ("A2")
-; CHECK: DW_TAG_member
-; CHECK: NULL
-; CHECK: DW_TAG_typedef
-; CHECK: DW_AT_name ("Int2")
-; CHECK: NULL
-
-; Definition of `foo()`.
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name ("foo")
-
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("a3")
-; CHECK: DW_AT_type {{.*}} "A3"
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("i3")
-; CHECK: DW_AT_type {{.*}} "I3"
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name ("c3")
-; CHECK: DW_AT_type {{.*}} "C3"
-; CHECK: NULL
-
-; C3 has the inner lexical block scope, typedef Char3 is a child of C3.
-; CHECK: DW_TAG_structure_type
-; CHECK: DW_AT_name ("C3")
-; CHECK: DW_TAG_member
-; CHECK: DW_AT_type {{.*}} "C3::Char3"
-; CHECK: DW_TAG_typedef
-; CHECK: DW_AT_name ("Char3")
-; CHECK: NULL
-; CHECK: NULL
-
-; CHECK: DW_TAG_inlined_subroutine
-; CHECK: DW_AT_abstract_origin {{.*}} "_Z7removedv"
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_TAG_variable
-; CHECK: NULL
-; CHECK: NULL
-; CHECK: NULL
-
-; CHECK: DW_TAG_inlined_subroutine
-; CHECK: DW_AT_abstract_origin {{.*}} "_Z11not_removedv"
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_variable
-; CHECK: DW_TAG_variable
-; CHECK: NULL
-; CHECK: NULL
-; CHECK: NULL
-
-; A3 and typedef Int3 defined in the subprogram scope.
-; FIXME: I3 has subprogram scope here, but should be in the outer lexical block
-; (which is ommitted). It wasn't placed correctly, because it's the only non-scope
-; entity in the block and it isn't listed in retainedTypes; we simply wasn't aware
-; about it while deciding whether to create a lexical block or not.
-; CHECK: DW_TAG_structure_type
-; CHECK: DW_AT_name ("A3")
-; CHECK: DW_TAG_member
-; CHECK: NULL
-; CHECK: DW_TAG_structure_type
-; CHECK: DW_AT_name ("I3")
-; CHECK: DW_TAG_member
-; CHECK: DW_AT_type {{.*}} "Int3"
-; CHECK: NULL
-; CHECK: DW_TAG_typedef
-; CHECK: DW_AT_name ("Int3")
-; CHECK: NULL
-; CHECK: NULL
-
-%struct.A2 = type { i32 }
-%struct.I2 = type { i32 }
-%struct.C2 = type { i8 }
-%struct.A1 = type { i32 }
-%struct.I1 = type { i32 }
-%struct.C1 = type { i8 }
-%struct.A3 = type { i32 }
-%struct.I3 = type { i32 }
-%struct.C3 = type { i8 }
-
-define dso_local void @_Z11not_removedv() !dbg !8 {
-entry:
- %a2 = alloca %struct.A2, align 4
- %i2 = alloca %struct.I2, align 4
- %c2 = alloca %struct.C2, align 1
- call void @llvm.dbg.declare(metadata %struct.A2* %a2, metadata !12, metadata !DIExpression()), !dbg !18
- %i = getelementptr inbounds %struct.A2, %struct.A2* %a2, i32 0, i32 0, !dbg !19
- %0 = load i32, i32* %i, align 4, !dbg !20
- %inc = add nsw i32 %0, 1, !dbg !20
- store i32 %inc, i32* %i, align 4, !dbg !20
- call void @llvm.dbg.declare(metadata %struct.I2* %i2, metadata !21, metadata !DIExpression()), !dbg !27
- %j = getelementptr inbounds %struct.I2, %struct.I2* %i2, i32 0, i32 0, !dbg !28
- %1 = load i32, i32* %j, align 4, !dbg !29
- %inc1 = add nsw i32 %1, 1, !dbg !29
- store i32 %inc1, i32* %j, align 4, !dbg !29
- call void @llvm.dbg.declare(metadata %struct.C2* %c2, metadata !30, metadata !DIExpression()), !dbg !36
- %c = getelementptr inbounds %struct.C2, %struct.C2* %c2, i32 0, i32 0, !dbg !37
- %2 = load i8, i8* %c, align 1, !dbg !38
- %inc2 = add i8 %2, 1, !dbg !38
- store i8 %inc2, i8* %c, align 1, !dbg !38
- ret void, !dbg !39
-}
-
-declare void @llvm.dbg.declare(metadata, metadata, metadata)
-
-define dso_local void @_Z3foov() !dbg !40 {
-entry:
- %a1.i = alloca %struct.A1, align 4
- %i1.i = alloca %struct.I1, align 4
- %c1.i = alloca %struct.C1, align 1
- %a2.i = alloca %struct.A2, align 4
- %i2.i = alloca %struct.I2, align 4
- %c2.i = alloca %struct.C2, align 1
- %a3 = alloca %struct.A3, align 4
- %i3 = alloca %struct.I3, align 4
- %c3 = alloca %struct.C3, align 1
- call void @llvm.dbg.declare(metadata %struct.A3* %a3, metadata !41, metadata !DIExpression()), !dbg !47
- %i = getelementptr inbounds %struct.A3, %struct.A3* %a3, i32 0, i32 0, !dbg !48
- %0 = load i32, i32* %i, align 4, !dbg !49
- %inc = add nsw i32 %0, 1, !dbg !49
- store i32 %inc, i32* %i, align 4, !dbg !49
- call void @llvm.dbg.declare(metadata %struct.I3* %i3, metadata !50, metadata !DIExpression()), !dbg !56
- %j = getelementptr inbounds %struct.I3, %struct.I3* %i3, i32 0, i32 0, !dbg !57
- %1 = load i32, i32* %j, align 4, !dbg !58
- %inc1 = add nsw i32 %1, 1, !dbg !58
- store i32 %inc1, i32* %j, align 4, !dbg !58
- call void @llvm.dbg.declare(metadata %struct.C3* %c3, metadata !59, metadata !DIExpression()), !dbg !64
- %c = getelementptr inbounds %struct.C3, %struct.C3* %c3, i32 0, i32 0, !dbg !65
- %2 = load i8, i8* %c, align 1, !dbg !66
- %inc2 = add i8 %2, 1, !dbg !66
- store i8 %inc2, i8* %c, align 1, !dbg !66
- call void @llvm.dbg.declare(metadata %struct.A1* %a1.i, metadata !67, metadata !DIExpression()), !dbg !73
- %i.i3 = getelementptr inbounds %struct.A1, %struct.A1* %a1.i, i32 0, i32 0, !dbg !75
- %3 = load i32, i32* %i.i3, align 4, !dbg !76
- %inc.i4 = add nsw i32 %3, 1, !dbg !76
- store i32 %inc.i4, i32* %i.i3, align 4, !dbg !76
- call void @llvm.dbg.declare(metadata %struct.I1* %i1.i, metadata !77, metadata !DIExpression()), !dbg !83
- %j.i5 = getelementptr inbounds %struct.I1, %struct.I1* %i1.i, i32 0, i32 0, !dbg !84
- %4 = load i32, i32* %j.i5, align 4, !dbg !85
- %inc1.i6 = add nsw i32 %4, 1, !dbg !85
- store i32 %inc1.i6, i32* %j.i5, align 4, !dbg !85
- call void @llvm.dbg.declare(metadata %struct.C1* %c1.i, metadata !86, metadata !DIExpression()), !dbg !91
- %c.i7 = getelementptr inbounds %struct.C1, %struct.C1* %c1.i, i32 0, i32 0, !dbg !92
- %5 = load i8, i8* %c.i7, align 1, !dbg !93
- %inc2.i8 = add i8 %5, 1, !dbg !93
- store i8 %inc2.i8, i8* %c.i7, align 1, !dbg !93
- call void @llvm.dbg.declare(metadata %struct.A2* %a2.i, metadata !12, metadata !DIExpression()), !dbg !94
- %i.i = getelementptr inbounds %struct.A2, %struct.A2* %a2.i, i32 0, i32 0, !dbg !96
- %6 = load i32, i32* %i.i, align 4, !dbg !97
- %inc.i = add nsw i32 %6, 1, !dbg !97
- store i32 %inc.i, i32* %i.i, align 4, !dbg !97
- call void @llvm.dbg.declare(metadata %struct.I2* %i2.i, metadata !21, metadata !DIExpression()), !dbg !98
- %j.i = getelementptr inbounds %struct.I2, %struct.I2* %i2.i, i32 0, i32 0, !dbg !99
- %7 = load i32, i32* %j.i, align 4, !dbg !100
- %inc1.i = add nsw i32 %7, 1, !dbg !100
- store i32 %inc1.i, i32* %j.i, align 4, !dbg !100
- call void @llvm.dbg.declare(metadata %struct.C2* %c2.i, metadata !30, metadata !DIExpression()), !dbg !101
- %c.i = getelementptr inbounds %struct.C2, %struct.C2* %c2.i, i32 0, i32 0, !dbg !102
- %8 = load i8, i8* %c.i, align 1, !dbg !103
- %inc2.i = add i8 %8, 1, !dbg !103
- store i8 %inc2.i, i8* %c.i, align 1, !dbg !103
- ret void, !dbg !104
-}
-
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!2, !3, !4, !5, !6}
-!llvm.ident = !{!7}
-
-!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !1, producer: "clang version 14.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, splitDebugInlining: false, nameTableKind: None)
-!1 = !DIFile(filename: "test.cpp", directory: "/")
-!2 = !{i32 7, !"Dwarf Version", i32 4}
-!3 = !{i32 2, !"Debug Info Version", i32 3}
-!4 = !{i32 1, !"wchar_size", i32 4}
-!5 = !{i32 7, !"uwtable", i32 1}
-!6 = !{i32 7, !"frame-pointer", i32 2}
-!7 = !{!"clang version 14.0.0"}
-!8 = distinct !DISubprogram(name: "not_removed", linkageName: "_Z11not_removedv", scope: !1, file: !1, line: 17, type: !9, scopeLine: 17, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !11)
-!9 = !DISubroutineType(types: !10)
-!10 = !{null}
-!11 = !{}
-!12 = !DILocalVariable(name: "a2", scope: !13, file: !1, line: 23, type: !14)
-!13 = distinct !DILexicalBlock(scope: !8, file: !1, line: 20, column: 3)
-!14 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "A2", scope: !8, file: !1, line: 18, size: 32, flags: DIFlagTypePassByValue, elements: !15)
-!15 = !{!16}
-!16 = !DIDerivedType(tag: DW_TAG_member, name: "i", scope: !14, file: !1, line: 18, baseType: !17, size: 32)
-!17 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!18 = !DILocation(line: 23, column: 8, scope: !13)
-!19 = !DILocation(line: 23, column: 15, scope: !13)
-!20 = !DILocation(line: 23, column: 16, scope: !13)
-!21 = !DILocalVariable(name: "i2", scope: !22, file: !1, line: 25, type: !23)
-!22 = distinct !DILexicalBlock(scope: !13, file: !1, line: 24, column: 5)
-!23 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "I2", scope: !13, file: !1, line: 21, size: 32, flags: DIFlagTypePassByValue, elements: !24)
-!24 = !{!25}
-!25 = !DIDerivedType(tag: DW_TAG_member, name: "j", scope: !23, file: !1, line: 21, baseType: !26, size: 32)
-!26 = !DIDerivedType(tag: DW_TAG_typedef, name: "Int2", scope: !8, file: !1, line: 19, baseType: !17)
-!27 = !DILocation(line: 25, column: 10, scope: !22)
-!28 = !DILocation(line: 25, column: 17, scope: !22)
-!29 = !DILocation(line: 25, column: 18, scope: !22)
-!30 = !DILocalVariable(name: "c2", scope: !22, file: !1, line: 26, type: !31)
-!31 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "C2", scope: !13, file: !1, line: 22, size: 8, flags: DIFlagTypePassByValue, elements: !32)
-!32 = !{!33}
-!33 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !31, file: !1, line: 22, baseType: !34, size: 8)
-!34 = !DIDerivedType(tag: DW_TAG_typedef, name: "Char2", scope: !31, file: !1, line: 22, baseType: !35)
-!35 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
-!36 = !DILocation(line: 26, column: 10, scope: !22)
-!37 = !DILocation(line: 26, column: 17, scope: !22)
-!38 = !DILocation(line: 26, column: 18, scope: !22)
-!39 = !DILocation(line: 29, column: 1, scope: !8)
-!40 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !1, file: !1, line: 31, type: !9, scopeLine: 31, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !11)
-!41 = !DILocalVariable(name: "a3", scope: !42, file: !1, line: 38, type: !44)
-!42 = distinct !DILexicalBlock(scope: !43, file: !1, line: 36, column: 5)
-!43 = distinct !DILexicalBlock(scope: !40, file: !1, line: 34, column: 3)
-!44 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "A3", scope: !40, file: !1, line: 32, size: 32, flags: DIFlagTypePassByValue, elements: !45)
-!45 = !{!46}
-!46 = !DIDerivedType(tag: DW_TAG_member, name: "i", scope: !44, file: !1, line: 32, baseType: !17, size: 32)
-!47 = !DILocation(line: 38, column: 10, scope: !42)
-!48 = !DILocation(line: 38, column: 17, scope: !42)
-!49 = !DILocation(line: 38, column: 18, scope: !42)
-!50 = !DILocalVariable(name: "i3", scope: !51, file: !1, line: 40, type: !52)
-!51 = distinct !DILexicalBlock(scope: !42, file: !1, line: 39, column: 7)
-!52 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "I3", scope: !43, file: !1, line: 35, size: 32, flags: DIFlagTypePassByValue, elements: !53)
-!53 = !{!54}
-!54 = !DIDerivedType(tag: DW_TAG_member, name: "j", scope: !52, file: !1, line: 35, baseType: !55, size: 32)
-!55 = !DIDerivedType(tag: DW_TAG_typedef, name: "Int3", scope: !40, file: !1, line: 33, baseType: !17)
-!56 = !DILocation(line: 40, column: 12, scope: !51)
-!57 = !DILocation(line: 40, column: 19, scope: !51)
-!58 = !DILocation(line: 40, column: 20, scope: !51)
-!59 = !DILocalVariable(name: "c3", scope: !51, file: !1, line: 41, type: !60)
-!60 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "C3", scope: !42, file: !1, line: 37, size: 8, flags: DIFlagTypePassByValue, elements: !61)
-!61 = !{!62}
-!62 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !60, file: !1, line: 37, baseType: !63, size: 8)
-!63 = !DIDerivedType(tag: DW_TAG_typedef, name: "Char3", scope: !60, file: !1, line: 37, baseType: !35)
-!64 = !DILocation(line: 41, column: 12, scope: !51)
-!65 = !DILocation(line: 41, column: 19, scope: !51)
-!66 = !DILocation(line: 41, column: 20, scope: !51)
-!67 = !DILocalVariable(name: "a1", scope: !68, file: !1, line: 8, type: !70)
-!68 = distinct !DILexicalBlock(scope: !69, file: !1, line: 5, column: 3)
-!69 = distinct !DISubprogram(name: "removed", linkageName: "_Z7removedv", scope: !1, file: !1, line: 2, type: !9, scopeLine: 2, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !11)
-!70 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "A1", scope: !69, file: !1, line: 3, size: 32, flags: DIFlagTypePassByValue, elements: !71, identifier: "_ZTSZ7removedvE2A1")
-!71 = !{!72}
-!72 = !DIDerivedType(tag: DW_TAG_member, name: "i", scope: !70, file: !1, line: 3, baseType: !17, size: 32)
-!73 = !DILocation(line: 8, column: 8, scope: !68, inlinedAt: !74)
-!74 = distinct !DILocation(line: 45, column: 3, scope: !40)
-!75 = !DILocation(line: 8, column: 15, scope: !68, inlinedAt: !74)
-!76 = !DILocation(line: 8, column: 16, scope: !68, inlinedAt: !74)
-!77 = !DILocalVariable(name: "i1", scope: !78, file: !1, line: 10, type: !79)
-!78 = distinct !DILexicalBlock(scope: !68, file: !1, line: 9, column: 5)
-!79 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "I1", scope: !68, file: !1, line: 6, size: 32, flags: DIFlagTypePassByValue, elements: !80, identifier: "_ZTSZ7removedvE2I1")
-!80 = !{!81}
-!81 = !DIDerivedType(tag: DW_TAG_member, name: "j", scope: !79, file: !1, line: 6, baseType: !82, size: 32)
-!82 = !DIDerivedType(tag: DW_TAG_typedef, name: "Int1", scope: !69, file: !1, line: 4, baseType: !17)
-!83 = !DILocation(line: 10, column: 10, scope: !78, inlinedAt: !74)
-!84 = !DILocation(line: 10, column: 17, scope: !78, inlinedAt: !74)
-!85 = !DILocation(line: 10, column: 18, scope: !78, inlinedAt: !74)
-!86 = !DILocalVariable(name: "c1", scope: !78, file: !1, line: 11, type: !87)
-!87 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "C1", scope: !68, file: !1, line: 7, size: 8, flags: DIFlagTypePassByValue, elements: !88, identifier: "_ZTSZ7removedvE2C1")
-!88 = !{!89}
-!89 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !87, file: !1, line: 7, baseType: !90, size: 8)
-!90 = !DIDerivedType(tag: DW_TAG_typedef, name: "Char1", scope: !87, file: !1, line: 7, baseType: !35)
-!91 = !DILocation(line: 11, column: 10, scope: !78, inlinedAt: !74)
-!92 = !DILocation(line: 11, column: 17, scope: !78, inlinedAt: !74)
-!93 = !DILocation(line: 11, column: 18, scope: !78, inlinedAt: !74)
-!94 = !DILocation(line: 23, column: 8, scope: !13, inlinedAt: !95)
-!95 = distinct !DILocation(line: 46, column: 3, scope: !40)
-!96 = !DILocation(line: 23, column: 15, scope: !13, inlinedAt: !95)
-!97 = !DILocation(line: 23, column: 16, scope: !13, inlinedAt: !95)
-!98 = !DILocation(line: 25, column: 10, scope: !22, inlinedAt: !95)
-!99 = !DILocation(line: 25, column: 17, scope: !22, inlinedAt: !95)
-!100 = !DILocation(line: 25, column: 18, scope: !22, inlinedAt: !95)
-!101 = !DILocation(line: 26, column: 10, scope: !22, inlinedAt: !95)
-!102 = !DILocation(line: 26, column: 17, scope: !22, inlinedAt: !95)
-!103 = !DILocation(line: 26, column: 18, scope: !22, inlinedAt: !95)
-!104 = !DILocation(line: 47, column: 1, scope: !40)
diff --git a/llvm/test/DebugInfo/Generic/namespace.ll b/llvm/test/DebugInfo/Generic/namespace.ll
index 7b9bf9b531b82..2c635ee5731a6 100644
--- a/llvm/test/DebugInfo/Generic/namespace.ll
+++ b/llvm/test/DebugInfo/Generic/namespace.ll
@@ -13,19 +13,6 @@
; CHECK-NOT: DW_AT_decl_file
; CHECK-NOT: DW_AT_decl_line
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_MIPS_linkage_name
-; CHECK: DW_AT_name ("f1")
-; CHECK: [[FUNC1:.*]]: DW_TAG_subprogram
-; CHECK: DW_AT_MIPS_linkage_name
-; CHECK: DW_AT_name ("f1")
-; CHECK: DW_TAG_formal_parameter
-; CHECK: NULL
-
-; CHECK: [[FUNC_FWD:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram
-; CHECK: DW_AT_name ("func_fwd")
-; CHECK-NOT: DW_AT_declaration
-
; CHECK: [[I:0x[0-9a-f]*]]:{{ *}}DW_TAG_variable
; CHECK: DW_AT_name ("i")
; CHECK: [[VAR_FWD:0x[0-9a-f]*]]:{{ *}}DW_TAG_variable
@@ -37,6 +24,15 @@
; CHECK: [[BAR:0x[0-9a-f]*]]:{{ *}}DW_TAG_structure_type
; CHECK: DW_AT_name ("bar")
+; CHECK: DW_TAG_subprogram
+; CHECK: DW_AT_MIPS_linkage_name
+; CHECK: DW_AT_name ("f1")
+; CHECK: [[FUNC1:.*]]: DW_TAG_subprogram
+; CHECK: DW_AT_MIPS_linkage_name
+; CHECK: DW_AT_name ("f1")
+; CHECK: DW_TAG_formal_parameter
+; CHECK: NULL
+
; CHECK: [[BAZ:0x[0-9a-f]*]]:{{.*}}DW_TAG_typedef
; CHECK: DW_AT_name ("baz")
@@ -47,6 +43,10 @@
; CHECK: [[FUNC_DECL:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram
; CHECK: DW_AT_name ("func_decl")
; CHECK: DW_AT_declaration
+
+; CHECK: [[FUNC_FWD:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram
+; CHECK: DW_AT_name ("func_fwd")
+; CHECK-NOT: DW_AT_declaration
; CHECK: NULL
; CHECK: DW_TAG_imported_module
@@ -56,17 +56,18 @@
; CHECK: DW_TAG_imported_declaration
; CHECK: NULL
+; CHECK: DW_TAG_base_type
+; CHECK: DW_TAG_imported_module
+; CHECK: DW_AT_decl_file ([[F2:.*]])
+; CHECK: DW_AT_decl_line (18)
+; CHECK: DW_AT_import ([[NS1]])
+; CHECK: DW_TAG_imported_declaration
+
; CHECK: DW_TAG_subprogram
; CHECK: DW_TAG_subprogram
; CHECK: DW_AT_MIPS_linkage_name
; CHECK: DW_AT_name ("func")
; CHECK: DW_TAG_formal_parameter
-; CHECK: DW_TAG_lexical_block
-; CHECK: DW_TAG_imported_module
-; CHECK: DW_AT_decl_file ([[F2]])
-; CHECK: DW_AT_decl_line (23)
-; CHECK: DW_AT_import {{.*}}
-; CHECK: NULL
; CHECK: DW_TAG_imported_module
; CHECK: DW_AT_decl_file ([[F2:.*]])
; CHECK: DW_AT_decl_line (26)
@@ -117,16 +118,16 @@
; CHECK: DW_AT_decl_file ([[F2]])
; CHECK: DW_AT_decl_line (37)
; CHECK: DW_AT_import ([[FUNC_FWD]])
+; CHECK: DW_TAG_lexical_block
+; CHECK: DW_TAG_imported_module
+; CHECK: DW_AT_decl_file ([[F2]])
+; CHECK: DW_AT_decl_line (23)
+; CHECK: DW_AT_import {{.*}}
+; CHECK: NULL
; CHECK: NULL
; CHECK: DW_TAG_subprogram
; CHECK: DW_TAG_base_type
-; CHECK: DW_TAG_imported_module
-; CHECK: DW_AT_decl_file ([[F2:.*]])
-; CHECK: DW_AT_decl_line (18)
-; CHECK: DW_AT_import ([[NS1]])
-; CHECK: DW_TAG_imported_declaration
-; CHECK: DW_TAG_base_type
; CHECK: NULL
; IR generated from clang/test/CodeGenCXX/debug-info-namespace.cpp, file paths
diff --git a/llvm/test/DebugInfo/Generic/varargs.ll b/llvm/test/DebugInfo/Generic/varargs.ll
index 99acaff776715..81b5091afd427 100644
--- a/llvm/test/DebugInfo/Generic/varargs.ll
+++ b/llvm/test/DebugInfo/Generic/varargs.ll
@@ -12,23 +12,23 @@
;
; CHECK: DW_TAG_subprogram
; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_name ("b")
+; CHECK: DW_AT_name ("a")
; CHECK-NOT: DW_TAG
; CHECK: DW_TAG_formal_parameter
; CHECK-NOT: DW_TAG
-; CHECK: DW_TAG_variable
-; CHECK-NOT: DW_TAG
-; CHECK: DW_TAG_variable
+; CHECK: DW_TAG_formal_parameter
; CHECK-NOT: DW_TAG
; CHECK: DW_TAG_unspecified_parameters
;
; CHECK: DW_TAG_subprogram
; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_name ("a")
+; CHECK: DW_AT_name ("b")
; CHECK-NOT: DW_TAG
; CHECK: DW_TAG_formal_parameter
; CHECK-NOT: DW_TAG
-; CHECK: DW_TAG_formal_parameter
+; CHECK: DW_TAG_variable
+; CHECK-NOT: DW_TAG
+; CHECK: DW_TAG_variable
; CHECK-NOT: DW_TAG
; CHECK: DW_TAG_unspecified_parameters
;
diff --git a/llvm/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir b/llvm/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir
index 261da42a88d03..98ec9dc8fa417 100644
--- a/llvm/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir
+++ b/llvm/test/DebugInfo/MIR/AArch64/implicit-def-dead-scope.mir
@@ -5,7 +5,7 @@
# encountering an IMPLICIT_DEF in its own lexical scope.
# CHECK: .debug_info contents:
-# CHECK: DW_TAG_formal_parameter [13]
+# CHECK: DW_TAG_formal_parameter [14]
# CHECK-NEXT: DW_AT_const_value [DW_FORM_udata] (0)
# CHECK-NEXT: DW_AT_abstract_origin {{.*}} "name"
--- |
diff --git a/llvm/test/DebugInfo/NVPTX/debug-addr-class.ll b/llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
index d2b7a31ec9f60..73ec34787ad64 100644
--- a/llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
+++ b/llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
@@ -105,68 +105,68 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata)
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 2 // Abbreviation Code
-; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
-; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
-; CHECK-NEXT:.b8 17 // DW_AT_low_pc
-; CHECK-NEXT:.b8 1 // DW_FORM_addr
-; CHECK-NEXT:.b8 18 // DW_AT_high_pc
-; CHECK-NEXT:.b8 1 // DW_FORM_addr
-; CHECK-NEXT:.b8 64 // DW_AT_frame_base
-; CHECK-NEXT:.b8 10 // DW_FORM_block1
-; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 64
-; CHECK-NEXT:.b8 8 // DW_FORM_string
+; CHECK-NEXT:.b8 52 // DW_TAG_variable
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
+; CHECK-NEXT:.b8 73 // DW_AT_type
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 63 // DW_AT_external
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 63 // DW_AT_external
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 51 // DW_AT_address_class
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 2 // DW_AT_location
+; CHECK-NEXT:.b8 10 // DW_FORM_block1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 3 // Abbreviation Code
-; CHECK-NEXT:.b8 5 // DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 36 // DW_TAG_base_type
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 58 // DW_AT_decl_file
+; CHECK-NEXT:.b8 62 // DW_AT_encoding
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 59 // DW_AT_decl_line
+; CHECK-NEXT:.b8 11 // DW_AT_byte_size
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 73 // DW_AT_type
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 4 // Abbreviation Code
-; CHECK-NEXT:.b8 52 // DW_TAG_variable
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
+; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 17 // DW_AT_low_pc
+; CHECK-NEXT:.b8 1 // DW_FORM_addr
+; CHECK-NEXT:.b8 18 // DW_AT_high_pc
+; CHECK-NEXT:.b8 1 // DW_FORM_addr
+; CHECK-NEXT:.b8 64 // DW_AT_frame_base
+; CHECK-NEXT:.b8 10 // DW_FORM_block1
+; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 64
+; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 73 // DW_AT_type
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 63 // DW_AT_external
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 51 // DW_AT_address_class
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 2 // DW_AT_location
-; CHECK-NEXT:.b8 10 // DW_FORM_block1
+; CHECK-NEXT:.b8 63 // DW_AT_external
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 5 // Abbreviation Code
-; CHECK-NEXT:.b8 36 // DW_TAG_base_type
+; CHECK-NEXT:.b8 5 // DW_TAG_formal_parameter
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 62 // DW_AT_encoding
+; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 11 // DW_AT_byte_size
+; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 73 // DW_AT_type
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 6 // Abbreviation Code
@@ -258,7 +258,46 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata)
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT:.b64 Lfunc_end0 // DW_AT_high_pc
-; CHECK-NEXT:.b8 2 // Abbrev [2] 0x65:0x45 DW_TAG_subprogram
+; CHECK-NEXT:.b8 2 // Abbrev [2] 0x65:0x1a DW_TAG_variable
+; CHECK-NEXT:.b8 71 // DW_AT_name
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 79
+; CHECK-NEXT:.b8 66
+; CHECK-NEXT:.b8 65
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b32 127 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 3 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5 // DW_AT_address_class
+; CHECK-NEXT:.b8 9 // DW_AT_location
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b64 GLOBAL
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x7f:0x7 DW_TAG_base_type
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 5 // DW_AT_encoding
+; CHECK-NEXT:.b8 4 // DW_AT_byte_size
+; CHECK-NEXT:.b8 2 // Abbrev [2] 0x86:0x1a DW_TAG_variable
+; CHECK-NEXT:.b8 83 // DW_AT_name
+; CHECK-NEXT:.b8 72
+; CHECK-NEXT:.b8 65
+; CHECK-NEXT:.b8 82
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 68
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b32 127 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 4 // DW_AT_decl_line
+; CHECK-NEXT:.b8 8 // DW_AT_address_class
+; CHECK-NEXT:.b8 9 // DW_AT_location
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b64 SHARED
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0xa0:0x45 DW_TAG_subprogram
; CHECK-NEXT:.b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT:.b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT:.b8 1 // DW_AT_frame_base
@@ -276,71 +315,32 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata)
; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 6 // DW_AT_decl_line
; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0x85:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xc0:0x9 DW_TAG_formal_parameter
; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 6 // DW_AT_decl_line
; CHECK-NEXT:.b32 229 // DW_AT_type
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0x8e:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xc9:0x9 DW_TAG_formal_parameter
; CHECK-NEXT:.b8 120 // DW_AT_name
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 6 // DW_AT_decl_line
; CHECK-NEXT:.b32 238 // DW_AT_type
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0x97:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xd2:0x9 DW_TAG_formal_parameter
; CHECK-NEXT:.b8 121 // DW_AT_name
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 6 // DW_AT_decl_line
; CHECK-NEXT:.b32 238 // DW_AT_type
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0xa0:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xdb:0x9 DW_TAG_formal_parameter
; CHECK-NEXT:.b8 105 // DW_AT_name
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 6 // DW_AT_decl_line
-; CHECK-NEXT:.b32 196 // DW_AT_type
+; CHECK-NEXT:.b32 127 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 4 // Abbrev [4] 0xaa:0x1a DW_TAG_variable
-; CHECK-NEXT:.b8 71 // DW_AT_name
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 79
-; CHECK-NEXT:.b8 66
-; CHECK-NEXT:.b8 65
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 196 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 3 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5 // DW_AT_address_class
-; CHECK-NEXT:.b8 9 // DW_AT_location
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b64 GLOBAL
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0xc4:0x7 DW_TAG_base_type
-; CHECK-NEXT:.b8 105 // DW_AT_name
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_encoding
-; CHECK-NEXT:.b8 4 // DW_AT_byte_size
-; CHECK-NEXT:.b8 4 // Abbrev [4] 0xcb:0x1a DW_TAG_variable
-; CHECK-NEXT:.b8 83 // DW_AT_name
-; CHECK-NEXT:.b8 72
-; CHECK-NEXT:.b8 65
-; CHECK-NEXT:.b8 82
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 196 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 4 // DW_AT_decl_line
-; CHECK-NEXT:.b8 8 // DW_AT_address_class
-; CHECK-NEXT:.b8 9 // DW_AT_location
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b64 SHARED
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0xe5:0x9 DW_TAG_base_type
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xe5:0x9 DW_TAG_base_type
; CHECK-NEXT:.b8 102 // DW_AT_name
; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
diff --git a/llvm/test/DebugInfo/NVPTX/debug-info.ll b/llvm/test/DebugInfo/NVPTX/debug-info.ll
index 7329e92337ecd..2edd807a8d823 100644
--- a/llvm/test/DebugInfo/NVPTX/debug-info.ll
+++ b/llvm/test/DebugInfo/NVPTX/debug-info.ll
@@ -127,39 +127,35 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 2 // Abbreviation Code
-; CHECK-NEXT:.b8 19 // DW_TAG_structure_type
+; CHECK-NEXT:.b8 57 // DW_TAG_namespace
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 11 // DW_AT_byte_size
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 0 // EOM(1)
+; CHECK-NEXT:.b8 0 // EOM(2)
+; CHECK-NEXT:.b8 3 // Abbreviation Code
+; CHECK-NEXT:.b8 8 // DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 24 // DW_AT_import
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 3 // Abbreviation Code
-; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
+; CHECK-NEXT:.b8 4 // Abbreviation Code
+; CHECK-NEXT:.b8 8 // DW_TAG_imported_declaration
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 64
-; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 3 // DW_AT_name
-; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 73 // DW_AT_type
+; CHECK-NEXT:.b8 5 // DW_FORM_data2
+; CHECK-NEXT:.b8 24 // DW_AT_import
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 60 // DW_AT_declaration
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 63 // DW_AT_external
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 4 // Abbreviation Code
+; CHECK-NEXT:.b8 5 // Abbreviation Code
; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
@@ -175,69 +171,43 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
; CHECK-NEXT:.b8 60 // DW_AT_declaration
; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 63 // DW_AT_external
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 5 // Abbreviation Code
+; CHECK-NEXT:.b8 6 // Abbreviation Code
; CHECK-NEXT:.b8 5 // DW_TAG_formal_parameter
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 73 // DW_AT_type
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 52 // DW_AT_artificial
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 6 // Abbreviation Code
-; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
-; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 7 // Abbreviation Code
+; CHECK-NEXT:.b8 36 // DW_TAG_base_type
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 58 // DW_AT_decl_file
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 59 // DW_AT_decl_line
+; CHECK-NEXT:.b8 62 // DW_AT_encoding
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 60 // DW_AT_declaration
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 63 // DW_AT_external
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 50 // DW_AT_accessibility
+; CHECK-NEXT:.b8 11 // DW_AT_byte_size
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 7 // Abbreviation Code
-; CHECK-NEXT:.b8 5 // DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 8 // Abbreviation Code
+; CHECK-NEXT:.b8 15 // DW_TAG_pointer_type
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 73 // DW_AT_type
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 8 // Abbreviation Code
-; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
-; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
-; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 64
-; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 3 // DW_AT_name
-; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 58 // DW_AT_decl_file
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 60 // DW_AT_declaration
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 63 // DW_AT_external
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 50 // DW_AT_accessibility
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 9 // Abbreviation Code
+; CHECK-NEXT:.b8 38 // DW_TAG_const_type
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
+; CHECK-NEXT:.b8 73 // DW_AT_type
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 9 // Abbreviation Code
+; CHECK-NEXT:.b8 10 // Abbreviation Code
; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
-; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 64
-; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
@@ -250,80 +220,40 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 63 // DW_AT_external
; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 50 // DW_AT_accessibility
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 0 // EOM(1)
-; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 10 // Abbreviation Code
-; CHECK-NEXT:.b8 36 // DW_TAG_base_type
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 3 // DW_AT_name
-; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 62 // DW_AT_encoding
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 11 // DW_AT_byte_size
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 11 // Abbreviation Code
-; CHECK-NEXT:.b8 13 // DW_TAG_member
+; CHECK-NEXT:.b8 22 // DW_TAG_typedef
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 3 // DW_AT_name
-; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 73 // DW_AT_type
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 3 // DW_AT_name
+; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 56 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 10 // DW_FORM_block1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 12 // Abbreviation Code
-; CHECK-NEXT:.b8 15 // DW_TAG_pointer_type
+; CHECK-NEXT:.b8 19 // DW_TAG_structure_type
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 73 // DW_AT_type
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 60 // DW_AT_declaration
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 13 // Abbreviation Code
-; CHECK-NEXT:.b8 38 // DW_TAG_const_type
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 73 // DW_AT_type
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 0 // EOM(1)
-; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 14 // Abbreviation Code
-; CHECK-NEXT:.b8 16 // DW_TAG_reference_type
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 73 // DW_AT_type
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 0 // EOM(1)
-; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 15 // Abbreviation Code
-; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 71 // DW_AT_specification
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 32 // DW_AT_inline
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 0 // EOM(1)
-; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 16 // Abbreviation Code
; CHECK-NEXT:.b8 19 // DW_TAG_structure_type
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
-; CHECK-NEXT:.b8 3 // DW_AT_name
-; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 11 // DW_AT_byte_size
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5 // DW_FORM_data2
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 17 // Abbreviation Code
+; CHECK-NEXT:.b8 14 // Abbreviation Code
; CHECK-NEXT:.b8 13 // DW_TAG_member
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 3 // DW_AT_name
@@ -333,14 +263,14 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5 // DW_FORM_data2
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 56 // DW_AT_data_member_location
; CHECK-NEXT:.b8 10 // DW_FORM_block1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 18 // Abbreviation Code
+; CHECK-NEXT:.b8 15 // Abbreviation Code
; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
-; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
@@ -351,14 +281,14 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 63 // DW_AT_external
; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 135 // DW_AT_noreturn
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 19 // Abbreviation Code
+; CHECK-NEXT:.b8 16 // Abbreviation Code
; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
-; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 64
-; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
@@ -373,6 +303,21 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
+; CHECK-NEXT:.b8 17 // Abbreviation Code
+; CHECK-NEXT:.b8 21 // DW_TAG_subroutine_type
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
+; CHECK-NEXT:.b8 0 // EOM(1)
+; CHECK-NEXT:.b8 0 // EOM(2)
+; CHECK-NEXT:.b8 18 // Abbreviation Code
+; CHECK-NEXT:.b8 15 // DW_TAG_pointer_type
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
+; CHECK-NEXT:.b8 0 // EOM(1)
+; CHECK-NEXT:.b8 0 // EOM(2)
+; CHECK-NEXT:.b8 19 // Abbreviation Code
+; CHECK-NEXT:.b8 38 // DW_TAG_const_type
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
+; CHECK-NEXT:.b8 0 // EOM(1)
+; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 20 // Abbreviation Code
; CHECK-NEXT:.b8 22 // DW_TAG_typedef
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
@@ -387,45 +332,65 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 21 // Abbreviation Code
+; CHECK-NEXT:.b8 21 // DW_TAG_subroutine_type
+; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 73 // DW_AT_type
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 0 // EOM(1)
+; CHECK-NEXT:.b8 0 // EOM(2)
+; CHECK-NEXT:.b8 22 // Abbreviation Code
; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
-; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 64
-; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 5 // DW_FORM_data2
+; CHECK-NEXT:.b8 60 // DW_AT_declaration
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 63 // DW_AT_external
; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 32 // DW_AT_inline
+; CHECK-NEXT:.b8 135 // DW_AT_noreturn
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 0 // EOM(1)
+; CHECK-NEXT:.b8 0 // EOM(2)
+; CHECK-NEXT:.b8 23 // Abbreviation Code
+; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 3 // DW_AT_name
+; CHECK-NEXT:.b8 8 // DW_FORM_string
+; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 59 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5 // DW_FORM_data2
+; CHECK-NEXT:.b8 60 // DW_AT_declaration
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 63 // DW_AT_external
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 22 // Abbreviation Code
-; CHECK-NEXT:.b8 5 // DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 24 // Abbreviation Code
+; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 5 // DW_FORM_data2
; CHECK-NEXT:.b8 73 // DW_AT_type
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 60 // DW_AT_declaration
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 63 // DW_AT_external
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 23 // Abbreviation Code
+; CHECK-NEXT:.b8 25 // Abbreviation Code
; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
-; CHECK-NEXT:.b8 17 // DW_AT_low_pc
-; CHECK-NEXT:.b8 1 // DW_FORM_addr
-; CHECK-NEXT:.b8 18 // DW_AT_high_pc
-; CHECK-NEXT:.b8 1 // DW_FORM_addr
-; CHECK-NEXT:.b8 64 // DW_AT_frame_base
-; CHECK-NEXT:.b8 10 // DW_FORM_block1
; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 64
; CHECK-NEXT:.b8 8 // DW_FORM_string
@@ -435,91 +400,89 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 73 // DW_AT_type
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 60 // DW_AT_declaration
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 63 // DW_AT_external
; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 24 // Abbreviation Code
-; CHECK-NEXT:.b8 52 // DW_TAG_variable
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
+; CHECK-NEXT:.b8 26 // Abbreviation Code
+; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 64
+; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 5 // DW_FORM_data2
; CHECK-NEXT:.b8 73 // DW_AT_type
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 60 // DW_AT_declaration
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 25 // Abbreviation Code
-; CHECK-NEXT:.b8 29 // DW_TAG_inlined_subroutine
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 49 // DW_AT_abstract_origin
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 17 // DW_AT_low_pc
-; CHECK-NEXT:.b8 1 // DW_FORM_addr
-; CHECK-NEXT:.b8 18 // DW_AT_high_pc
-; CHECK-NEXT:.b8 1 // DW_FORM_addr
-; CHECK-NEXT:.b8 88 // DW_AT_call_file
+; CHECK-NEXT:.b8 27 // Abbreviation Code
+; CHECK-NEXT:.b8 19 // DW_TAG_structure_type
+; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 3 // DW_AT_name
+; CHECK-NEXT:.b8 8 // DW_FORM_string
+; CHECK-NEXT:.b8 11 // DW_AT_byte_size
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 89 // DW_AT_call_line
+; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 87 // DW_AT_call_column
+; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 26 // Abbreviation Code
-; CHECK-NEXT:.b8 29 // DW_TAG_inlined_subroutine
-; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
-; CHECK-NEXT:.b8 49 // DW_AT_abstract_origin
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 17 // DW_AT_low_pc
-; CHECK-NEXT:.b8 1 // DW_FORM_addr
-; CHECK-NEXT:.b8 18 // DW_AT_high_pc
-; CHECK-NEXT:.b8 1 // DW_FORM_addr
-; CHECK-NEXT:.b8 88 // DW_AT_call_file
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 89 // DW_AT_call_line
+; CHECK-NEXT:.b8 28 // Abbreviation Code
+; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
+; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 64
+; CHECK-NEXT:.b8 8 // DW_FORM_string
+; CHECK-NEXT:.b8 3 // DW_AT_name
+; CHECK-NEXT:.b8 8 // DW_FORM_string
+; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 87 // DW_AT_call_column
+; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 73 // DW_AT_type
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 60 // DW_AT_declaration
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 63 // DW_AT_external
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 27 // Abbreviation Code
+; CHECK-NEXT:.b8 29 // Abbreviation Code
; CHECK-NEXT:.b8 5 // DW_TAG_formal_parameter
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 49 // DW_AT_abstract_origin
+; CHECK-NEXT:.b8 73 // DW_AT_type
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 52 // DW_AT_artificial
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 28 // Abbreviation Code
-; CHECK-NEXT:.b8 57 // DW_TAG_namespace
+; CHECK-NEXT:.b8 30 // Abbreviation Code
+; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 0 // EOM(1)
-; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 29 // Abbreviation Code
-; CHECK-NEXT:.b8 8 // DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 24 // DW_AT_import
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 0 // EOM(1)
-; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 30 // Abbreviation Code
-; CHECK-NEXT:.b8 8 // DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 58 // DW_AT_decl_file
+; CHECK-NEXT:.b8 60 // DW_AT_declaration
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 63 // DW_AT_external
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 50 // DW_AT_accessibility
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5 // DW_FORM_data2
-; CHECK-NEXT:.b8 24 // DW_AT_import
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 31 // Abbreviation Code
@@ -534,15 +497,20 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 73 // DW_AT_type
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
; CHECK-NEXT:.b8 60 // DW_AT_declaration
; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 63 // DW_AT_external
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 50 // DW_AT_accessibility
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 32 // Abbreviation Code
; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 64
+; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
@@ -555,60 +523,60 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 63 // DW_AT_external
; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 50 // DW_AT_accessibility
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 33 // Abbreviation Code
-; CHECK-NEXT:.b8 22 // DW_TAG_typedef
+; CHECK-NEXT:.b8 16 // DW_TAG_reference_type
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 73 // DW_AT_type
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 3 // DW_AT_name
-; CHECK-NEXT:.b8 8 // DW_FORM_string
-; CHECK-NEXT:.b8 58 // DW_AT_decl_file
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
-; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 34 // Abbreviation Code
-; CHECK-NEXT:.b8 19 // DW_TAG_structure_type
+; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 60 // DW_AT_declaration
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 71 // DW_AT_specification
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 32 // DW_AT_inline
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 35 // Abbreviation Code
; CHECK-NEXT:.b8 19 // DW_TAG_structure_type
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 3 // DW_AT_name
+; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 11 // DW_AT_byte_size
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 5 // DW_FORM_data2
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 36 // Abbreviation Code
-; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
+; CHECK-NEXT:.b8 13 // DW_TAG_member
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
+; CHECK-NEXT:.b8 73 // DW_AT_type
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
; CHECK-NEXT:.b8 5 // DW_FORM_data2
-; CHECK-NEXT:.b8 60 // DW_AT_declaration
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 63 // DW_AT_external
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 135 // DW_AT_noreturn
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 56 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 10 // DW_FORM_block1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 37 // Abbreviation Code
; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 64
+; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
@@ -624,65 +592,45 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 38 // Abbreviation Code
-; CHECK-NEXT:.b8 21 // DW_TAG_subroutine_type
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 0 // EOM(1)
-; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 39 // Abbreviation Code
-; CHECK-NEXT:.b8 15 // DW_TAG_pointer_type
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 0 // EOM(1)
-; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 40 // Abbreviation Code
-; CHECK-NEXT:.b8 38 // DW_TAG_const_type
-; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
-; CHECK-NEXT:.b8 0 // EOM(1)
-; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 41 // Abbreviation Code
-; CHECK-NEXT:.b8 21 // DW_TAG_subroutine_type
-; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
-; CHECK-NEXT:.b8 73 // DW_AT_type
-; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 0 // EOM(1)
-; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 42 // Abbreviation Code
; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 64
+; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5 // DW_FORM_data2
-; CHECK-NEXT:.b8 60 // DW_AT_declaration
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 63 // DW_AT_external
; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 135 // DW_AT_noreturn
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 32 // DW_AT_inline
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 43 // Abbreviation Code
-; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
+; CHECK-NEXT:.b8 39 // Abbreviation Code
+; CHECK-NEXT:.b8 5 // DW_TAG_formal_parameter
; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
; CHECK-NEXT:.b8 3 // DW_AT_name
; CHECK-NEXT:.b8 8 // DW_FORM_string
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5 // DW_FORM_data2
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 73 // DW_AT_type
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 60 // DW_AT_declaration
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
-; CHECK-NEXT:.b8 63 // DW_AT_external
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
-; CHECK-NEXT:.b8 44 // Abbreviation Code
+; CHECK-NEXT:.b8 40 // Abbreviation Code
; CHECK-NEXT:.b8 46 // DW_TAG_subprogram
; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 17 // DW_AT_low_pc
+; CHECK-NEXT:.b8 1 // DW_FORM_addr
+; CHECK-NEXT:.b8 18 // DW_AT_high_pc
+; CHECK-NEXT:.b8 1 // DW_FORM_addr
+; CHECK-NEXT:.b8 64 // DW_AT_frame_base
+; CHECK-NEXT:.b8 10 // DW_FORM_block1
; CHECK-NEXT:.b8 135 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 64
; CHECK-NEXT:.b8 8 // DW_FORM_string
@@ -691,11 +639,63 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 58 // DW_AT_decl_file
; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5 // DW_FORM_data2
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 63 // DW_AT_external
+; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 0 // EOM(1)
+; CHECK-NEXT:.b8 0 // EOM(2)
+; CHECK-NEXT:.b8 41 // Abbreviation Code
+; CHECK-NEXT:.b8 52 // DW_TAG_variable
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
+; CHECK-NEXT:.b8 3 // DW_AT_name
+; CHECK-NEXT:.b8 8 // DW_FORM_string
+; CHECK-NEXT:.b8 58 // DW_AT_decl_file
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 59 // DW_AT_decl_line
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
; CHECK-NEXT:.b8 73 // DW_AT_type
; CHECK-NEXT:.b8 19 // DW_FORM_ref4
-; CHECK-NEXT:.b8 60 // DW_AT_declaration
-; CHECK-NEXT:.b8 12 // DW_FORM_flag
+; CHECK-NEXT:.b8 0 // EOM(1)
+; CHECK-NEXT:.b8 0 // EOM(2)
+; CHECK-NEXT:.b8 42 // Abbreviation Code
+; CHECK-NEXT:.b8 29 // DW_TAG_inlined_subroutine
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
+; CHECK-NEXT:.b8 49 // DW_AT_abstract_origin
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 17 // DW_AT_low_pc
+; CHECK-NEXT:.b8 1 // DW_FORM_addr
+; CHECK-NEXT:.b8 18 // DW_AT_high_pc
+; CHECK-NEXT:.b8 1 // DW_FORM_addr
+; CHECK-NEXT:.b8 88 // DW_AT_call_file
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 89 // DW_AT_call_line
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 87 // DW_AT_call_column
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 0 // EOM(1)
+; CHECK-NEXT:.b8 0 // EOM(2)
+; CHECK-NEXT:.b8 43 // Abbreviation Code
+; CHECK-NEXT:.b8 29 // DW_TAG_inlined_subroutine
+; CHECK-NEXT:.b8 1 // DW_CHILDREN_yes
+; CHECK-NEXT:.b8 49 // DW_AT_abstract_origin
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
+; CHECK-NEXT:.b8 17 // DW_AT_low_pc
+; CHECK-NEXT:.b8 1 // DW_FORM_addr
+; CHECK-NEXT:.b8 18 // DW_AT_high_pc
+; CHECK-NEXT:.b8 1 // DW_FORM_addr
+; CHECK-NEXT:.b8 88 // DW_AT_call_file
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 89 // DW_AT_call_line
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 87 // DW_AT_call_column
+; CHECK-NEXT:.b8 11 // DW_FORM_data1
+; CHECK-NEXT:.b8 0 // EOM(1)
+; CHECK-NEXT:.b8 0 // EOM(2)
+; CHECK-NEXT:.b8 44 // Abbreviation Code
+; CHECK-NEXT:.b8 5 // DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 0 // DW_CHILDREN_no
+; CHECK-NEXT:.b8 49 // DW_AT_abstract_origin
+; CHECK-NEXT:.b8 19 // DW_FORM_ref4
; CHECK-NEXT:.b8 0 // EOM(1)
; CHECK-NEXT:.b8 0 // EOM(2)
; CHECK-NEXT:.b8 0 // EOM(3)
@@ -744,7658 +744,7658 @@ if.end: ; preds = %if.then, %entry
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT:.b64 Lfunc_end0 // DW_AT_high_pc
-; CHECK-NEXT:.b8 2 // Abbrev [2] 0x41:0x22a DW_TAG_structure_type
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 2 // Abbrev [2] 0x41:0x588 DW_TAG_namespace
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 73
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1 // DW_AT_byte_size
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 77 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0x5f:0x4f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x46:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 202 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1481 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x4d:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 203 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1525 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x54:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 204 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1563 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x5b:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 205 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1594 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x62:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 206 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1623 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x69:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 207 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1654 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x70:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 208 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1683 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x77:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 209 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1720 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x7e:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 210 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1751 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x85:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 211 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1780 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x8c:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 212 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1809 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x93:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 213 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1852 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x9a:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 214 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1879 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xa1:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 215 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1908 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xa8:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 216 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1935 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xaf:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 217 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1964 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xb6:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 218 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1991 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xbd:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 219 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2020 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xc4:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 220 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2051 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xcb:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 221 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2080 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xd2:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 222 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2115 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xd9:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 223 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2146 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xe0:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 224 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2185 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xe7:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 225 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2220 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xee:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 226 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2255 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xf5:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 227 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2290 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0xfc:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 228 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2339 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x103:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 229 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2382 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x10a:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 230 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2419 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x111:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 231 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2450 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x118:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 232 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2495 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x11f:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 233 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2540 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x126:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 234 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2596 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x12d:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 235 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2627 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x134:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 236 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2666 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x13b:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 237 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2716 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x142:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 238 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2770 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x149:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 239 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2801 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x150:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 240 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2838 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x157:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 241 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2888 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x15e:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 242 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2929 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x165:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 243 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2966 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x16c:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 244 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2999 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x173:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 245 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3030 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x17a:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 246 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3063 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x181:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 247 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3090 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x188:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 248 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3121 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x18f:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 249 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3152 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x196:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 250 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3181 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x19d:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 251 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3210 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x1a4:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 252 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3241 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x1ab:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 253 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3274 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x1b2:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 254 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3309 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x1b9:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 255 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3350 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x1c0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 0 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3407 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x1c8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 1 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3438 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x1d0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 2 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3477 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x1d8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 3 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3522 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x1e0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 4 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3555 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x1e8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 5 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3600 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x1f0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 6 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3646 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x1f8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 7 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3675 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x200:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 8 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3706 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x208:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 9 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3747 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x210:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 10 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3786 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x218:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 11 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3821 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x220:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 12 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3848 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x228:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 13 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3877 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x230:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 14 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3906 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x238:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 15 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3933 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x240:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 16 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3962 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x248:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 17 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 3995 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x250:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 102 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4026 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x257:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 121 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4046 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x25e:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 140 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4066 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x265:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 159 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4086 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x26c:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 180 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4112 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x273:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 199 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4132 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x27a:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 218 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4151 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x281:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 237 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4171 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x288:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 0 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4190 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x290:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 19 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4210 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x298:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 38 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4231 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2a0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 59 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4256 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2a8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
; CHECK-NEXT:.b8 78 // DW_AT_decl_line
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0xae:0x4f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 79 // DW_AT_decl_line
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0xfd:0x4f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 122
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 122
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 80 // DW_AT_decl_line
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 4 // Abbrev [4] 0x14c:0x49 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111 // DW_AT_name
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 32
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 83 // DW_AT_decl_line
-; CHECK-NEXT:.b32 635 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x18e:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 682 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 6 // Abbrev [6] 0x195:0x27 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 85 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x1b5:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 692 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1bc:0x2c DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 85 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x1dc:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 692 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1e2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 697 // DW_AT_type
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4282 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2b0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 97 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4308 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2b8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 116 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4327 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2c0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 135 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4348 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2c8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 147 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4378 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2d0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 184 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4402 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2d8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 203 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4421 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2e0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 222 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4441 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2e8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 241 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4461 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x2f0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3 // DW_AT_decl_file
+; CHECK-NEXT:.b8 4 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 4480 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x2f8:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 118 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4500 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x2ff:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 119 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4515 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x306:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 121 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4563 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x30d:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 122 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4576 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x314:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 123 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4596 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x31b:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 129 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4625 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x322:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 130 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4645 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x329:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 131 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4666 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x330:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 132 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4687 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x337:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 133 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4815 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x33e:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 134 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4843 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x345:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 135 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4868 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x34c:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 136 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4886 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x353:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 137 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4903 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x35a:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 138 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4931 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x361:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 139 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4952 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x368:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 140 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4978 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x36f:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 142 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5001 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x376:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 143 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5028 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x37d:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 144 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5079 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x384:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 146 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5112 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x38b:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 152 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5145 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x392:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 153 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5160 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x399:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 154 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5189 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3a0:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 155 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5223 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3a7:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 156 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5255 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3ae:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 157 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5287 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3b5:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 158 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5320 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3bc:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 160 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5343 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3c3:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 161 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5388 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3ca:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 241 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5536 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3d1:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 243 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5585 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3d8:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 245 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5604 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3df:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 246 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5490 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3e6:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 247 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5626 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3ed:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 249 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5653 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3f4:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 250 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5768 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x3fb:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 251 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5675 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x402:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 252 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5708 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x409:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 253 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5795 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x410:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 149 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 5838 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x418:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 150 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 5870 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x420:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 151 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 5904 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x428:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 152 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 5936 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x430:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 153 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 5970 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x438:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 154 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6010 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x440:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 155 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6042 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x448:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 156 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6076 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x450:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 157 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6108 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x458:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 158 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6140 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x460:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 159 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6186 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x468:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 160 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6216 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x470:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 161 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6248 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x478:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 162 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6280 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x480:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 163 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6310 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x488:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 164 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6342 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x490:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 165 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6372 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x498:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 166 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6406 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4a0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 167 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6438 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4a8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 168 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6476 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4b0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 169 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6510 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4b8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 170 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6552 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4c0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 171 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6590 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4c8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 172 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6628 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4d0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 173 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6666 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4d8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 174 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6707 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4e0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 175 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6747 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4e8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 176 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6781 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4f0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 177 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6821 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x4f8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 178 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6857 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x500:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 179 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6893 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x508:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 180 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6931 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x510:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 181 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6965 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x518:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 182 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 6999 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x520:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 183 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7031 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x528:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 184 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7063 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x530:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 185 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7093 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x538:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 186 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7127 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x540:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 187 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7163 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x548:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 188 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7202 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x550:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 189 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7245 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x558:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 190 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7294 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x560:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 191 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7330 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x568:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 192 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7379 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x570:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 193 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7428 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x578:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 194 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7460 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x580:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 195 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7494 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x588:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 196 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7538 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x590:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 197 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7580 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x598:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 198 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7610 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x5a0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 199 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7642 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x5a8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 200 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7674 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x5b0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 201 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7704 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x5b8:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 202 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7736 // DW_AT_import
+; CHECK-NEXT:.b8 4 // Abbrev [4] 0x5c0:0x8 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 10 // DW_AT_decl_file
+; CHECK-NEXT:.b8 203 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 7772 // DW_AT_import
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 8 // Abbrev [8] 0x1e8:0x43 DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x5c9:0x1b DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 83
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 82
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 83
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111 // DW_AT_name
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 61
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 85 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 44 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1508 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x21f:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 682 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x225:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 697 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x5de:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1508 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 9 // Abbrev [9] 0x22b:0x3f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0x5e4:0x11 DW_TAG_base_type
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 32
; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111 // DW_AT_name
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 38
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 85 // DW_AT_decl_line
-; CHECK-NEXT:.b32 702 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x263:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 682 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x26b:0x10 DW_TAG_base_type
-; CHECK-NEXT:.b8 117 // DW_AT_name
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 32
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_encoding
-; CHECK-NEXT:.b8 4 // DW_AT_byte_size
-; CHECK-NEXT:.b8 2 // Abbrev [2] 0x27b:0x2f DW_TAG_structure_type
-; CHECK-NEXT:.b8 117 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_byte_size
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 190 // DW_AT_decl_line
-; CHECK-NEXT:.b8 11 // Abbrev [11] 0x285:0xc DW_TAG_member
-; CHECK-NEXT:.b8 120 // DW_AT_name
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 192 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 35
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 11 // Abbrev [11] 0x291:0xc DW_TAG_member
-; CHECK-NEXT:.b8 121 // DW_AT_name
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 192 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 35
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b8 11 // Abbrev [11] 0x29d:0xc DW_TAG_member
-; CHECK-NEXT:.b8 122 // DW_AT_name
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 192 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 35
-; CHECK-NEXT:.b8 8
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x2aa:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 687 // DW_AT_type
-; CHECK-NEXT:.b8 13 // Abbrev [13] 0x2af:0x5 DW_TAG_const_type
-; CHECK-NEXT:.b32 65 // DW_AT_type
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x2b4:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 65 // DW_AT_type
-; CHECK-NEXT:.b8 14 // Abbrev [14] 0x2b9:0x5 DW_TAG_reference_type
-; CHECK-NEXT:.b32 687 // DW_AT_type
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x2be:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 65 // DW_AT_type
-; CHECK-NEXT:.b8 15 // Abbrev [15] 0x2c3:0x6 DW_TAG_subprogram
-; CHECK-NEXT:.b32 95 // DW_AT_specification
-; CHECK-NEXT:.b8 1 // DW_AT_inline
-; CHECK-NEXT:.b8 2 // Abbrev [2] 0x2c9:0x228 DW_TAG_structure_type
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1 // DW_AT_byte_size
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 88 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0x2e7:0x4f DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // DW_AT_encoding
+; CHECK-NEXT:.b8 8 // DW_AT_byte_size
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x5f5:0x1d DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 46 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x60c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0x612:0x9 DW_TAG_base_type
+; CHECK-NEXT:.b8 102 // DW_AT_name
; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 89 // DW_AT_decl_line
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0x336:0x4f DW_TAG_subprogram
+; CHECK-NEXT:.b8 4 // DW_AT_encoding
+; CHECK-NEXT:.b8 4 // DW_AT_byte_size
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x61b:0x1f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 48 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x634:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x63a:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 121
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 90 // DW_AT_decl_line
-; CHECK-NEXT:.b32 619 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 50 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0x385:0x4f DW_TAG_subprogram
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x651:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x657:0x1f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 122
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 52 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x670:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x676:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 122
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 91 // DW_AT_decl_line
-; CHECK-NEXT:.b32 619 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 56 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 4 // Abbrev [4] 0x3d4:0x47 DW_TAG_subprogram
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x68d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x693:0x25 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111 // DW_AT_name
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 54 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x6ad:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x6b2:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x6b8:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 32
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 94 // DW_AT_decl_line
-; CHECK-NEXT:.b32 1265 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 58 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x414:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1441 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x6d1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 6 // Abbrev [6] 0x41b:0x27 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x6d7:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 99 // DW_AT_name
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 96 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 60 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x43b:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1451 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x6ee:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 6 // Abbrev [6] 0x442:0x2c DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x6f4:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 99 // DW_AT_name
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 96 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 62 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x462:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1451 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x468:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1456 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x70b:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 8 // Abbrev [8] 0x46e:0x43 DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x711:0x2b DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 56
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 99 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 64 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x731:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x736:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x73c:0x1b DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 99 // DW_AT_name
; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 66 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x751:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x757:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 83
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 82
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 83
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111 // DW_AT_name
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 99 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 68 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x76e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x774:0x1b DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 101 // DW_AT_name
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 61
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 72 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x789:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x78f:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 70 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x7a6:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x7ac:0x1b DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 76 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x7c1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x7c7:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 74 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x7de:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x7e4:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 49
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 96 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 78 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x4a5:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1441 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x4ab:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1456 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x7fd:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 9 // Abbrev [9] 0x4b1:0x3f DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x803:0x1d DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111 // DW_AT_name
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102 // DW_AT_name
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 38
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 96 // DW_AT_decl_line
-; CHECK-NEXT:.b32 1461 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 80 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x4e9:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1441 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x81a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 16 // Abbrev [16] 0x4f1:0x9d DW_TAG_structure_type
-; CHECK-NEXT:.b8 100 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_byte_size
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 161 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b8 17 // Abbrev [17] 0x4fb:0xd DW_TAG_member
-; CHECK-NEXT:.b8 120 // DW_AT_name
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 163 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 35
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 17 // Abbrev [17] 0x508:0xd DW_TAG_member
-; CHECK-NEXT:.b8 121 // DW_AT_name
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 163 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 35
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b8 17 // Abbrev [17] 0x515:0xd DW_TAG_member
-; CHECK-NEXT:.b8 122 // DW_AT_name
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 163 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 35
-; CHECK-NEXT:.b8 8
-; CHECK-NEXT:.b8 18 // Abbrev [18] 0x522:0x21 DW_TAG_subprogram
-; CHECK-NEXT:.b8 100 // DW_AT_name
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x820:0x23 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 165 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x52d:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1422 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x533:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x538:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x53d:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 619 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 18 // Abbrev [18] 0x543:0x17 DW_TAG_subprogram
-; CHECK-NEXT:.b8 100 // DW_AT_name
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 166 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 82 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x54e:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1422 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x554:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1427 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x838:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x83d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 19 // Abbrev [19] 0x55a:0x33 DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x843:0x1f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111 // DW_AT_name
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 32
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 167 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 1427 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 84 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x586:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1422 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x85c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x58e:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 1265 // DW_AT_type
-; CHECK-NEXT:.b8 20 // Abbrev [20] 0x593:0xe DW_TAG_typedef
-; CHECK-NEXT:.b32 635 // DW_AT_type
-; CHECK-NEXT:.b8 117 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x862:0x27 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 3 // DW_AT_decl_file
-; CHECK-NEXT:.b8 127 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x5a1:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 1446 // DW_AT_type
-; CHECK-NEXT:.b8 13 // Abbrev [13] 0x5a6:0x5 DW_TAG_const_type
-; CHECK-NEXT:.b32 713 // DW_AT_type
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x5ab:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 713 // DW_AT_type
-; CHECK-NEXT:.b8 14 // Abbrev [14] 0x5b0:0x5 DW_TAG_reference_type
-; CHECK-NEXT:.b32 1446 // DW_AT_type
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x5b5:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 713 // DW_AT_type
-; CHECK-NEXT:.b8 15 // Abbrev [15] 0x5ba:0x6 DW_TAG_subprogram
-; CHECK-NEXT:.b32 743 // DW_AT_specification
-; CHECK-NEXT:.b8 1 // DW_AT_inline
-; CHECK-NEXT:.b8 2 // Abbrev [2] 0x5c0:0x233 DW_TAG_structure_type
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1 // DW_AT_byte_size
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 66 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0x5df:0x50 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 86 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x879:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x87e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x883:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x889:0x23 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 88 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x8a1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x8a6:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x8ac:0x23 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 67 // DW_AT_decl_line
-; CHECK-NEXT:.b32 619 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 90 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0x62f:0x50 DW_TAG_subprogram
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x8c4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x8c9:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x8cf:0x23 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 92 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x8e7:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x8ec:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x8f2:0x2a DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 48
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 112
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 112
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 121
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 68 // DW_AT_decl_line
-; CHECK-NEXT:.b32 619 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 94 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // Abbrev [3] 0x67f:0x50 DW_TAG_subprogram
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x916:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0x91c:0x7 DW_TAG_base_type
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 5 // DW_AT_encoding
+; CHECK-NEXT:.b8 4 // DW_AT_byte_size
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x923:0x26 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 80
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 102 // DW_AT_name
; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 96 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x93e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x943:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2377 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x949:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x94e:0x25 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 104 // DW_AT_name
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 98 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x968:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x96d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x973:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 122
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 100 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x98c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x992:0x25 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 56
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 122
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 69 // DW_AT_decl_line
-; CHECK-NEXT:.b32 619 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 102 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 4 // Abbrev [4] 0x6cf:0x4a DW_TAG_subprogram
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x9b1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0x9b7:0x8 DW_TAG_base_type
+; CHECK-NEXT:.b8 98 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 2 // DW_AT_encoding
+; CHECK-NEXT:.b8 1 // DW_AT_byte_size
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x9bf:0x2d DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 57
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111 // DW_AT_name
-; CHECK-NEXT:.b8 112
; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 32
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 72 // DW_AT_decl_line
-; CHECK-NEXT:.b32 635 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 106 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x712:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2035 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x9e1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x9e6:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 6 // Abbrev [6] 0x719:0x28 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0x9ec:0x38 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 113
; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 74 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 105 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x73a:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2045 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xa19:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xa1e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 6 // Abbrev [6] 0x741:0x2d DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xa24:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 74 // DW_AT_decl_line
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 108 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x762:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2045 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x768:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2050 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xa3d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 8 // Abbrev [8] 0x76e:0x44 DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xa43:0x27 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 112 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xa5f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xa64:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xa6a:0x32 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 49
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 83
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 82
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 83
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111 // DW_AT_name
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 61
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 74 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 111 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x7a6:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2035 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x7ac:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2050 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xa91:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xa96:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 9 // Abbrev [9] 0x7b2:0x40 DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xa9c:0x36 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111 // DW_AT_name
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 38
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_decl_file
-; CHECK-NEXT:.b8 74 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2055 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 114 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 3 // DW_AT_accessibility
-; CHECK-NEXT: // DW_ACCESS_private
-; CHECK-NEXT:.b8 5 // Abbrev [5] 0x7eb:0x6 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2035 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xac7:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xacc:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x7f3:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 2040 // DW_AT_type
-; CHECK-NEXT:.b8 13 // Abbrev [13] 0x7f8:0x5 DW_TAG_const_type
-; CHECK-NEXT:.b32 1472 // DW_AT_type
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x7fd:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 1472 // DW_AT_type
-; CHECK-NEXT:.b8 14 // Abbrev [14] 0x802:0x5 DW_TAG_reference_type
-; CHECK-NEXT:.b32 2040 // DW_AT_type
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x807:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 1472 // DW_AT_type
-; CHECK-NEXT:.b8 15 // Abbrev [15] 0x80c:0x6 DW_TAG_subprogram
-; CHECK-NEXT:.b32 1503 // DW_AT_specification
-; CHECK-NEXT:.b8 1 // DW_AT_inline
-; CHECK-NEXT:.b8 21 // Abbrev [21] 0x812:0x32 DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xad2:0x1f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 3 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 1 // DW_AT_inline
-; CHECK-NEXT:.b8 22 // Abbrev [22] 0x826:0x9 DW_TAG_formal_parameter
-; CHECK-NEXT:.b8 120 // DW_AT_name
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 3 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 22 // Abbrev [22] 0x82f:0x9 DW_TAG_formal_parameter
-; CHECK-NEXT:.b8 121 // DW_AT_name
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 3 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 22 // Abbrev [22] 0x838:0xb DW_TAG_formal_parameter
-; CHECK-NEXT:.b8 114 // DW_AT_name
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 105 // DW_AT_name
; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 3 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2125 // DW_AT_type
+; CHECK-NEXT:.b8 116 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xaeb:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x844:0x9 DW_TAG_base_type
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_encoding
-; CHECK-NEXT:.b8 4 // DW_AT_byte_size
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x84d:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 23 // Abbrev [23] 0x852:0xbf DW_TAG_subprogram
-; CHECK-NEXT:.b64 Lfunc_begin0 // DW_AT_low_pc
-; CHECK-NEXT:.b64 Lfunc_end0 // DW_AT_high_pc
-; CHECK-NEXT:.b8 1 // DW_AT_frame_base
-; CHECK-NEXT:.b8 156
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xaf1:0x25 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 56
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 83
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 5 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 22 // Abbrev [22] 0x87d:0x9 DW_TAG_formal_parameter
-; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 5 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 22 // Abbrev [22] 0x886:0x9 DW_TAG_formal_parameter
-; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 118 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xb10:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xb16:0x32 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 5 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 22 // Abbrev [22] 0x88f:0x9 DW_TAG_formal_parameter
-; CHECK-NEXT:.b8 120 // DW_AT_name
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 5 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2125 // DW_AT_type
-; CHECK-NEXT:.b8 22 // Abbrev [22] 0x898:0x9 DW_TAG_formal_parameter
-; CHECK-NEXT:.b8 121 // DW_AT_name
+; CHECK-NEXT:.b8 120 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xb3d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xb42:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xb48:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 5 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2125 // DW_AT_type
-; CHECK-NEXT:.b8 24 // Abbrev [24] 0x8a1:0x9 DW_TAG_variable
-; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 1 // DW_AT_decl_file
-; CHECK-NEXT:.b8 6 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 25 // Abbrev [25] 0x8aa:0x18 DW_TAG_inlined_subroutine
-; CHECK-NEXT:.b32 707 // DW_AT_abstract_origin
-; CHECK-NEXT:.b64 Ltmp0 // DW_AT_low_pc
-; CHECK-NEXT:.b64 Ltmp1 // DW_AT_high_pc
-; CHECK-NEXT:.b8 1 // DW_AT_call_file
-; CHECK-NEXT:.b8 6 // DW_AT_call_line
-; CHECK-NEXT:.b8 11 // DW_AT_call_column
-; CHECK-NEXT:.b8 25 // Abbrev [25] 0x8c2:0x18 DW_TAG_inlined_subroutine
-; CHECK-NEXT:.b32 1466 // DW_AT_abstract_origin
-; CHECK-NEXT:.b64 Ltmp1 // DW_AT_low_pc
-; CHECK-NEXT:.b64 Ltmp2 // DW_AT_high_pc
-; CHECK-NEXT:.b8 1 // DW_AT_call_file
-; CHECK-NEXT:.b8 6 // DW_AT_call_line
-; CHECK-NEXT:.b8 24 // DW_AT_call_column
-; CHECK-NEXT:.b8 25 // Abbrev [25] 0x8da:0x18 DW_TAG_inlined_subroutine
-; CHECK-NEXT:.b32 2060 // DW_AT_abstract_origin
-; CHECK-NEXT:.b64 Ltmp2 // DW_AT_low_pc
-; CHECK-NEXT:.b64 Ltmp3 // DW_AT_high_pc
-; CHECK-NEXT:.b8 1 // DW_AT_call_file
-; CHECK-NEXT:.b8 6 // DW_AT_call_line
-; CHECK-NEXT:.b8 37 // DW_AT_call_column
-; CHECK-NEXT:.b8 26 // Abbrev [26] 0x8f2:0x1e DW_TAG_inlined_subroutine
-; CHECK-NEXT:.b32 2066 // DW_AT_abstract_origin
-; CHECK-NEXT:.b64 Ltmp9 // DW_AT_low_pc
-; CHECK-NEXT:.b64 Ltmp10 // DW_AT_high_pc
-; CHECK-NEXT:.b8 1 // DW_AT_call_file
-; CHECK-NEXT:.b8 8 // DW_AT_call_line
-; CHECK-NEXT:.b8 5 // DW_AT_call_column
-; CHECK-NEXT:.b8 27 // Abbrev [27] 0x90a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2095 // DW_AT_abstract_origin
-; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 121 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2917 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xb5f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2917 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 28 // Abbrev [28] 0x911:0x588 DW_TAG_namespace
-; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0xb65:0xc DW_TAG_base_type
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 5 // DW_AT_encoding
+; CHECK-NEXT:.b8 8 // DW_AT_byte_size
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xb71:0x25 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x916:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 202 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3737 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x91d:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 203 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3781 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x924:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 204 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3810 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x92b:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 205 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3841 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x932:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 206 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3870 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x939:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 207 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3901 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x940:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 208 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3930 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x947:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 209 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3967 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x94e:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 210 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3998 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x955:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 211 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4027 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x95c:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 212 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4056 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x963:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 213 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4099 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x96a:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 214 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4126 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x971:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 215 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4155 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x978:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 216 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4182 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x97f:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 217 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4211 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x986:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 218 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4238 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x98d:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 219 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4267 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x994:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 220 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4298 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x99b:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 221 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4327 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9a2:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 222 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4362 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9a9:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 223 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4393 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9b0:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 224 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4432 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9b7:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 225 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4467 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9be:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 226 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4502 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9c5:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 227 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4537 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9cc:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 228 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4586 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9d3:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 229 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4629 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9da:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 230 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4666 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9e1:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 231 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4697 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9e8:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 232 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4742 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9ef:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 233 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4787 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9f6:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 234 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4843 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x9fd:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 235 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4874 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa04:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 236 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4913 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa0b:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 237 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4963 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa12:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 238 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5017 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa19:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 239 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5048 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa20:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 240 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5085 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa27:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 241 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5135 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa2e:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 242 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5176 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa35:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 243 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5213 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa3c:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 244 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5246 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa43:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 245 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5277 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa4a:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 246 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5310 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa51:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 247 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5337 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa58:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 248 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5368 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa5f:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 249 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5399 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa66:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 250 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5428 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa6d:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 251 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5457 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa74:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 252 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5488 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa7b:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 253 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5521 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa82:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 254 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5556 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xa89:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 255 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5592 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xa90:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 0 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5649 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xa98:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 1 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5680 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xaa0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 2 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5719 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xaa8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 3 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5764 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xab0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 4 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5797 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xab8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 5 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5842 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xac0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 6 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5888 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xac8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 7 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5917 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xad0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 8 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5948 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xad8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 9 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5989 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xae0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 10 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6028 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xae8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 11 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6063 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xaf0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 12 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6090 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xaf8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 13 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6119 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb00:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 14 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6148 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb08:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 15 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6175 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb10:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 16 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6204 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb18:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 17 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6237 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xb20:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 102 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6268 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xb27:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 121 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6288 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xb2e:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 140 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6308 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xb35:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 159 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6328 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xb3c:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 180 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6354 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xb43:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 199 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6374 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xb4a:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 218 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6393 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xb51:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 237 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6413 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb58:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 0 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6432 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb60:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 19 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6452 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb68:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 38 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6473 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb70:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 59 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6498 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb78:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 78 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6524 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb80:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 97 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6550 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb88:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 116 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6569 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb90:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 135 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6590 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xb98:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 147 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6620 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xba0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 184 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6644 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xba8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 203 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6663 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xbb0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 222 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6683 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xbb8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 241 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6703 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xbc0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 6 // DW_AT_decl_file
-; CHECK-NEXT:.b8 4 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 6722 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xbc8:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 118 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6742 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xbcf:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 119 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6757 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xbd6:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 121 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6805 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xbdd:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 122 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6818 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xbe4:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 123 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6838 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xbeb:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 129 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6867 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xbf2:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xb8b:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xb90:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xb96:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 125 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xbb1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xbb7:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 126 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xbd0:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xbd6:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 128 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xbf1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xbf7:0x1b DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 138 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xc0c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xc12:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 48
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 48
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 130 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6887 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xbf9:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 131 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6908 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc00:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xc2b:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xc31:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 132 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6929 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc07:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 133 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7057 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc0e:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xc4a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xc50:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 134 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7085 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc15:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 135 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7110 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc1c:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xc67:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xc6d:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 136 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7128 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc23:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 137 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7145 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc2a:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 138 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7173 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc31:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 139 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7194 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc38:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xc84:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xc8a:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 140 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7220 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc3f:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
+; CHECK-NEXT:.b32 2917 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xca3:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xca9:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 142 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7243 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc46:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
+; CHECK-NEXT:.b32 2917 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xcc4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xcca:0x23 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 143 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7270 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc4d:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 144 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7321 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc54:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xce7:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xced:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 80
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 109 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 145 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xd06:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xd0b:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3345 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0xd11:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xd16:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 80
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
; CHECK-NEXT:.b8 146 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7354 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc5b:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 152 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7387 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc62:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 153 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7402 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc69:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 154 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7431 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc70:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 155 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7449 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc77:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 156 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7481 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc7e:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 157 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7513 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc85:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 158 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7546 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc8c:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 160 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7569 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc93:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 161 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7614 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xc9a:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 241 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7762 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xca1:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 243 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7811 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xca8:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 245 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7830 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xcaf:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 246 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7716 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xcb6:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 247 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7852 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xcbd:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 249 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7879 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xcc4:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 250 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7994 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xccb:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 251 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7901 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xcd2:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 252 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7934 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0xcd9:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 253 // DW_AT_decl_line
-; CHECK-NEXT:.b32 8021 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xce0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 149 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8064 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xce8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 150 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8096 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xcf0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 151 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8130 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xcf8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 152 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8162 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd00:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 153 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8196 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd08:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 154 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8236 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd10:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 155 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8268 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd18:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 156 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8302 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd20:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 157 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8334 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd28:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 158 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8366 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd30:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 159 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8412 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd38:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 160 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8442 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd40:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 161 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8474 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd48:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 162 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8506 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd50:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 163 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8536 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd58:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 164 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8568 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd60:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 165 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8598 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd68:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 166 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8632 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd70:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 167 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8664 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd78:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 168 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8702 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd80:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 169 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8736 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd88:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 170 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8778 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd90:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 171 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8816 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xd98:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 172 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8854 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xda0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 173 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8892 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xda8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 174 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8933 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xdb0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 175 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 8973 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xdb8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 176 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9007 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xdc0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 177 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9047 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xdc8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 178 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9083 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xdd0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 179 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9119 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xdd8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 180 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9157 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xde0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 181 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9191 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xde8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 182 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9225 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xdf0:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 183 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9257 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xdf8:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 184 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9289 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe00:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 185 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9319 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe08:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 186 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9353 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe10:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 187 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9389 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe18:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 188 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9428 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe20:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 189 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9471 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe28:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 190 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9520 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe30:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 191 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9556 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe38:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 192 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9605 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe40:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 193 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9654 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe48:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 194 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9686 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe50:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 195 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9720 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe58:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 196 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9764 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe60:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 197 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9806 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe68:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 198 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9836 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe70:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 199 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9868 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe78:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 200 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9900 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe80:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 201 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9930 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe88:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 202 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9962 // DW_AT_import
-; CHECK-NEXT:.b8 30 // Abbrev [30] 0xe90:0x8 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 13 // DW_AT_decl_file
-; CHECK-NEXT:.b8 203 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 9998 // DW_AT_import
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xd2d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0xd33:0xa DW_TAG_base_type
+; CHECK-NEXT:.b8 100 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_encoding
+; CHECK-NEXT:.b8 8 // DW_AT_byte_size
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0xd3d:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 3394 // DW_AT_type
+; CHECK-NEXT:.b8 9 // Abbrev [9] 0xd42:0x5 DW_TAG_const_type
+; CHECK-NEXT:.b32 3399 // DW_AT_type
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0xd47:0x8 DW_TAG_base_type
+; CHECK-NEXT:.b8 99 // DW_AT_name
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 8 // DW_AT_encoding
+; CHECK-NEXT:.b8 1 // DW_AT_byte_size
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xd4f:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 80
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 147 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xd68:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xe99:0x1b DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xd6e:0x27 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 57
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 44 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 149 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xeae:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xd8f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0xeb4:0x11 DW_TAG_base_type
-; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xd95:0x2d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 57
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 151 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xdb7:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xdbc:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xdc2:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 119
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 112 // DW_AT_name
; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 119
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 155 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xdd8:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xddd:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xde3:0x2d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 57
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 32
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 157 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xe05:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xe0a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xe10:0x2e DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 80
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 159 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xe2e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xe33:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xe38:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2377 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xe3e:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 114 // DW_AT_name
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_encoding
-; CHECK-NEXT:.b8 8 // DW_AT_byte_size
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xec5:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 161 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xe55:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xe5b:0x1f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 114 // DW_AT_name
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 46 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 163 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xedc:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xe74:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xee2:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xe7a:0x29 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 165 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xe98:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xe9d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2917 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xea3:0x27 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 167 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xebf:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xec4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xeca:0x23 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 55
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 48 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 169 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2487 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xefb:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xee7:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xf01:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xeed:0x1b DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 50 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 171 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xf18:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xf02:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xf1e:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xf08:0x1d DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 52
; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 52 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 173 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xf37:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xf1f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xf3d:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xf25:0x1d DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 56 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 175 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xf54:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xf3c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xf5a:0x25 DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xf42:0x1b DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 116 // DW_AT_name
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 54 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 177 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xf74:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xf79:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xf57:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xf7f:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xf5d:0x1d DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 52
; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 116 // DW_AT_name
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 58 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 179 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xf98:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xf74:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xf9e:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xf7a:0x21 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 54
; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 116 // DW_AT_name
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 60 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 181 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xfb5:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xf95:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xfbb:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 5 // Abbrev [5] 0xf9b:0x1f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116 // DW_AT_name
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 62 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_decl_file
+; CHECK-NEXT:.b8 183 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xfd2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xfb4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0xfd8:0x2b DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 56
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0xfba:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 121
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 54 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xfc8:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0xfce:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 64 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 56 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xff8:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0xffd:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xfdc:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1003:0x1b DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0xfe2:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 58 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0xff0:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0xff6:0x1a DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 60 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1005:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x100a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1010:0x14 DW_TAG_subprogram
; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 66 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 178 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1018:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x101e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x101e:0x1d DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1024:0x13 DW_TAG_subprogram
+; CHECK-NEXT:.b8 99 // DW_AT_name
; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 63 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1031:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1037:0x14 DW_TAG_subprogram
; CHECK-NEXT:.b8 99 // DW_AT_name
; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 68 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 72 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1035:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1045:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x103b:0x1b DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x104b:0x13 DW_TAG_subprogram
; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 72 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 100 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1050:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1058:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1056:0x1d DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x105e:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 181 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x106c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1072:0x15 DW_TAG_subprogram
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 70 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 184 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x106d:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1081:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1073:0x1b DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1087:0x19 DW_TAG_subprogram
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 76 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 187 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1088:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1095:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x109a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x108e:0x1d DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x10a0:0x1a DW_TAG_subprogram
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 74 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 103 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x10a5:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x10af:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x10b4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2377 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x10ab:0x1f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x10ba:0x1a DW_TAG_subprogram
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 106 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x10c9:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x10ce:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x10d4:0x13 DW_TAG_subprogram
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 109 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x10e1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x10e7:0x15 DW_TAG_subprogram
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 48
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 78 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 112 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x10c4:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x10f6:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x10ca:0x1d DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x10fc:0x19 DW_TAG_subprogram
+; CHECK-NEXT:.b8 109 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 115 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x110a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x110f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4373 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x1115:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x111a:0x18 DW_TAG_subprogram
+; CHECK-NEXT:.b8 112 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 119
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 80 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 153 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x10e1:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1127:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x112c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x10e7:0x23 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1132:0x13 DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 65 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x113f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1145:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 82 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 74 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x10ff:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1104:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1153:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x110a:0x1f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1159:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 113
; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 84 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 156 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1123:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1167:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1129:0x27 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x116d:0x13 DW_TAG_subprogram
+; CHECK-NEXT:.b8 116 // DW_AT_name
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 86 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 67 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1140:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1145:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x114a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x117a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1150:0x23 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1180:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 116 // DW_AT_name
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 88 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 2 // DW_AT_decl_file
+; CHECK-NEXT:.b8 76 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1168:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x116d:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x118e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3379 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1173:0x23 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 11 // Abbrev [11] 0x1194:0xd DW_TAG_typedef
+; CHECK-NEXT:.b32 4513 // DW_AT_type
+; CHECK-NEXT:.b8 100 // DW_AT_name
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 101 // DW_AT_decl_line
+; CHECK-NEXT:.b8 12 // Abbrev [12] 0x11a1:0x2 DW_TAG_structure_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 11 // Abbrev [11] 0x11a3:0xe DW_TAG_typedef
+; CHECK-NEXT:.b32 4529 // DW_AT_type
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 90 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x118b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1190:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1196:0x23 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 109 // DW_AT_decl_line
+; CHECK-NEXT:.b8 13 // Abbrev [13] 0x11b1:0x22 DW_TAG_structure_type
+; CHECK-NEXT:.b8 16 // DW_AT_byte_size
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 105 // DW_AT_decl_line
+; CHECK-NEXT:.b8 14 // Abbrev [14] 0x11b5:0xf DW_TAG_member
+; CHECK-NEXT:.b8 113 // DW_AT_name
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b32 2917 // DW_AT_type
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 107 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 35
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 14 // Abbrev [14] 0x11c4:0xe DW_TAG_member
+; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b32 2917 // DW_AT_type
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 92 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x11ae:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x11b3:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x11b9:0x2a DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 108 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 35
+; CHECK-NEXT:.b8 8
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 15 // Abbrev [15] 0x11d3:0xd DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 3 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 1 // DW_AT_noreturn
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x11e0:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 121
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 94 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 7 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x11dd:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x11ee:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x11e3:0x7 DW_TAG_base_type
-; CHECK-NEXT:.b8 105 // DW_AT_name
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x11f4:0x17 DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_encoding
-; CHECK-NEXT:.b8 4 // DW_AT_byte_size
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x11ea:0x26 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 96 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 7 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1205:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x120a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4624 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1205:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4619 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x1210:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1215:0x25 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x120b:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 4624 // DW_AT_type
+; CHECK-NEXT:.b8 17 // Abbrev [17] 0x1210:0x1 DW_TAG_subroutine_type
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1211:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 104 // DW_AT_name
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 6 // DW_AT_decl_file
+; CHECK-NEXT:.b8 26 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x121f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x1225:0x15 DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 98 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 22 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x122f:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1234:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1234:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x123a:0x1f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x123a:0x15 DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 100 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 27 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 2917 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1253:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1249:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1259:0x25 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 56
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x124f:0x2b DW_TAG_subprogram
+; CHECK-NEXT:.b8 98 // DW_AT_name
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 7 // DW_AT_decl_file
+; CHECK-NEXT:.b8 20 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4730 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1260:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4731 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1265:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4731 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x126a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x126f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1274:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4772 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 18 // Abbrev [18] 0x127a:0x1 DW_TAG_pointer_type
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x127b:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 4736 // DW_AT_type
+; CHECK-NEXT:.b8 19 // Abbrev [19] 0x1280:0x1 DW_TAG_const_type
+; CHECK-NEXT:.b8 11 // Abbrev [11] 0x1281:0xe DW_TAG_typedef
+; CHECK-NEXT:.b32 4751 // DW_AT_type
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 122
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 8 // DW_AT_decl_file
+; CHECK-NEXT:.b8 62 // DW_AT_decl_line
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0x128f:0x15 DW_TAG_base_type
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 32
; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 102 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1278:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x127e:0x8 DW_TAG_base_type
-; CHECK-NEXT:.b8 98 // DW_AT_name
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 7 // DW_AT_encoding
+; CHECK-NEXT:.b8 8 // DW_AT_byte_size
+; CHECK-NEXT:.b8 20 // Abbrev [20] 0x12a4:0x16 DW_TAG_typedef
+; CHECK-NEXT:.b32 4794 // DW_AT_type
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 2 // DW_AT_encoding
-; CHECK-NEXT:.b8 1 // DW_AT_byte_size
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1286:0x2d DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 57
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 112
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 230 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x12ba:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 4799 // DW_AT_type
+; CHECK-NEXT:.b8 21 // Abbrev [21] 0x12bf:0x10 DW_TAG_subroutine_type
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x12c4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4731 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x12c9:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4731 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x12cf:0x1c DW_TAG_subprogram
+; CHECK-NEXT:.b8 99 // DW_AT_name
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 106 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
+; CHECK-NEXT:.b8 212 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4730 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x12a8:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x12ad:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x12e0:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x12e5:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x12b3:0x38 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x12eb:0x19 DW_TAG_subprogram
+; CHECK-NEXT:.b8 100 // DW_AT_name
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 21 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 4500 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x12f9:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x12fe:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 22 // Abbrev [22] 0x1304:0x12 DW_TAG_subprogram
+; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 31 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 1 // DW_AT_noreturn
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1310:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 23 // Abbrev [23] 0x1316:0x11 DW_TAG_subprogram
+; CHECK-NEXT:.b8 102 // DW_AT_name
; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 227 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1321:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4730 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x1327:0x17 DW_TAG_subprogram
+; CHECK-NEXT:.b8 103 // DW_AT_name
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 105 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
+; CHECK-NEXT:.b8 52 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 4926 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x12e0:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x12e5:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1338:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x12eb:0x1f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x133e:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 3399 // DW_AT_type
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x1343:0x15 DW_TAG_subprogram
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 108 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
+; CHECK-NEXT:.b8 8 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 2917 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1304:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1352:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2917 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x130a:0x27 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x1358:0x1a DW_TAG_subprogram
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 112 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
+; CHECK-NEXT:.b8 23 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 4515 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1326:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x132b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1367:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2917 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x136c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2917 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1331:0x32 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x1372:0x17 DW_TAG_subprogram
+; CHECK-NEXT:.b8 109 // DW_AT_name
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 111 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
+; CHECK-NEXT:.b8 210 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4730 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1358:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x135d:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1383:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1363:0x36 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x1389:0x1b DW_TAG_subprogram
+; CHECK-NEXT:.b8 109 // DW_AT_name
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 95 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1399:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x139e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x13a4:0x23 DW_TAG_subprogram
+; CHECK-NEXT:.b8 109 // DW_AT_name
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 119
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 106 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x13b7:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5063 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x13bc:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x13c1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x13c7:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 5068 // DW_AT_type
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0x13cc:0xb DW_TAG_base_type
+; CHECK-NEXT:.b8 119 // DW_AT_name
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 5 // DW_AT_encoding
+; CHECK-NEXT:.b8 4 // DW_AT_byte_size
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x13d7:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 109 // DW_AT_name
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 119
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 98 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x13e8:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5063 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x13ed:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x13f2:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 23 // Abbrev [23] 0x13f8:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 113 // DW_AT_name
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 114 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
+; CHECK-NEXT:.b8 253 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x138e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1393:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1399:0x1f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1404:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4730 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1409:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x140e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1413:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4772 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 24 // Abbrev [24] 0x1419:0xf DW_TAG_subprogram
+; CHECK-NEXT:.b8 114 // DW_AT_name
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 118 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x1428:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 116 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
+; CHECK-NEXT:.b8 224 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 4730 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x13b2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x143a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4730 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x143f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x13b8:0x25 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 56
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 23 // Abbrev [23] 0x1445:0x12 DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
-; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 118 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
+; CHECK-NEXT:.b8 120 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x13d7:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1451:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5207 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x13dd:0x32 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1457:0x10 DW_TAG_base_type
+; CHECK-NEXT:.b8 117 // DW_AT_name
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 7 // DW_AT_encoding
+; CHECK-NEXT:.b8 4 // DW_AT_byte_size
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1467:0x1b DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 164 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3379 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1477:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x147c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5250 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x1482:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 4926 // DW_AT_type
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1487:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 183 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2917 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1497:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x149c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5250 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x14a1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x14a7:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 187 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4751 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x14b8:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x14bd:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5250 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x14c2:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x14c8:0x17 DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 121
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 120 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
+; CHECK-NEXT:.b8 205 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1404:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1409:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x14d9:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x140f:0x1d DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x14df:0x23 DW_TAG_subprogram
+; CHECK-NEXT:.b8 119 // DW_AT_name
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 109 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x14f2:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4926 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x14f7:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5378 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x14fc:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4737 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x1502:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 5383 // DW_AT_type
+; CHECK-NEXT:.b8 9 // Abbrev [9] 0x1507:0x5 DW_TAG_const_type
+; CHECK-NEXT:.b32 5068 // DW_AT_type
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x150c:0x1c DW_TAG_subprogram
+; CHECK-NEXT:.b8 119 // DW_AT_name
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 121 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5164 // DW_AT_type
+; CHECK-NEXT:.b8 102 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1426:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5164 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x151d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 4926 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1522:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5068 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x142c:0xc DW_TAG_base_type
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 2 // Abbrev [2] 0x1528:0x78 DW_TAG_namespace
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 32
-; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_encoding
-; CHECK-NEXT:.b8 8 // DW_AT_byte_size
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1438:0x25 DW_TAG_subprogram
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x1533:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 201 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5536 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x153a:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 207 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5585 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x1541:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 211 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5604 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x1548:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 217 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5626 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x154f:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 228 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5653 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x1556:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 229 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5675 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x155d:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 230 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5708 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x1564:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 232 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5768 // DW_AT_import
+; CHECK-NEXT:.b8 3 // Abbrev [3] 0x156b:0x7 DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 233 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5795 // DW_AT_import
+; CHECK-NEXT:.b8 25 // Abbrev [25] 0x1572:0x2d DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 57
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 69
; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 100 // DW_AT_name
; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 5 // DW_AT_decl_file
+; CHECK-NEXT:.b8 214 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5536 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1594:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1599:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 11 // Abbrev [11] 0x15a0:0xf DW_TAG_typedef
+; CHECK-NEXT:.b32 5551 // DW_AT_type
; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 121 // DW_AT_decl_line
+; CHECK-NEXT:.b8 13 // Abbrev [13] 0x15af:0x22 DW_TAG_structure_type
+; CHECK-NEXT:.b8 16 // DW_AT_byte_size
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 117 // DW_AT_decl_line
+; CHECK-NEXT:.b8 14 // Abbrev [14] 0x15b3:0xf DW_TAG_member
+; CHECK-NEXT:.b8 113 // DW_AT_name
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 119 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 35
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 14 // Abbrev [14] 0x15c2:0xe DW_TAG_member
+; CHECK-NEXT:.b8 114 // DW_AT_name
; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 120 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 35
+; CHECK-NEXT:.b8 8
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 22 // Abbrev [22] 0x15d1:0x13 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 69
; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 123 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 45 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1452:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1457:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 1 // DW_AT_noreturn
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x15de:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x145d:0x21 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x15e4:0x16 DW_TAG_subprogram
+; CHECK-NEXT:.b8 108 // DW_AT_name
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 12 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x15f4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x15fa:0x1b DW_TAG_subprogram
; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 125 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 29 // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 5536 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1478:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x160a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x160f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1508 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x147e:0x1f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 16 // Abbrev [16] 0x1615:0x16 DW_TAG_subprogram
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 126 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b8 36 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 1508 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1497:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1625:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x149d:0x21 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x162b:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 209 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1508 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x163c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1641:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5250 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1646:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x164c:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 4 // DW_AT_decl_file
+; CHECK-NEXT:.b8 214 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5742 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x165e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1663:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5250 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1668:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0x166e:0x1a DW_TAG_base_type
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 32
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 7 // DW_AT_encoding
+; CHECK-NEXT:.b8 8 // DW_AT_byte_size
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1688:0x1b DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 128 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3764 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x14b8:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x14be:0x1b DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 138 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 172 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x14d3:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1698:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x169d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5250 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x14d9:0x1f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 10 // Abbrev [10] 0x16a3:0x1c DW_TAG_subprogram
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 130 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 175 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5823 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x14f2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x16b4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3389 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x16b9:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5250 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x14f8:0x1f DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 7 // Abbrev [7] 0x16bf:0xf DW_TAG_base_type
; CHECK-NEXT:.b8 108 // DW_AT_name
; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 132 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1511:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1517:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 4 // DW_AT_encoding
+; CHECK-NEXT:.b8 8 // DW_AT_byte_size
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x16ce:0x20 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 134 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 62 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x152e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x16e8:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1534:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x16ee:0x22 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 136 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 90 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x154b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x170a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1551:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1710:0x20 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 140 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5164 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 57 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x156a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x172a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1570:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1730:0x22 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 142 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5164 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x158b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1591:0x23 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 143 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 95 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x15ae:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x174c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x15b4:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1752:0x28 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 109 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 145 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 47 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x15cd:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x15d2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2125 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x176f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1774:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x15d8:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x177a:0x20 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 80
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 146 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 52 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x15ef:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1794:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x15f5:0xa DW_TAG_base_type
-; CHECK-NEXT:.b8 100 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_encoding
-; CHECK-NEXT:.b8 8 // DW_AT_byte_size
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x15ff:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 5636 // DW_AT_type
-; CHECK-NEXT:.b8 13 // Abbrev [13] 0x1604:0x5 DW_TAG_const_type
-; CHECK-NEXT:.b32 5641 // DW_AT_type
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1609:0x8 DW_TAG_base_type
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 8 // DW_AT_encoding
-; CHECK-NEXT:.b8 1 // DW_AT_byte_size
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1611:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x179a:0x22 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
-; CHECK-NEXT:.b8 75
-; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 147 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 100 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x162a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x17b6:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1630:0x27 DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x17bc:0x20 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 57
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 110 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 99 // DW_AT_name
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 149 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 150 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1651:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x17d6:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1657:0x2d DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x17dc:0x20 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 57
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 99 // DW_AT_name
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 151 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 11 // DW_AT_decl_file
+; CHECK-NEXT:.b8 155 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1679:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x167e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x17f6:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1684:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x17fc:0x2e DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 57
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 119
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 112 // DW_AT_name
+; CHECK-NEXT:.b8 99 // DW_AT_name
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 119
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 155 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 165 // DW_AT_decl_line
+; CHECK-NEXT:.b8 4
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x169a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x169f:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x181f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1824:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x16a5:0x2d DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x182a:0x1e DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 57
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 99 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 157 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 219 // DW_AT_decl_line
+; CHECK-NEXT:.b8 4
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x16c7:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x16cc:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1842:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x16d2:0x2e DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1848:0x20 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
-; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 99 // DW_AT_name
; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 159 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 32 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x16f0:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x16f5:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x16fa:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4624 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1862:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1700:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1868:0x20 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 161 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 210 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1717:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1882:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x171d:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1888:0x1e DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 163 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 200 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1736:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x18a0:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x173c:0x29 DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x18a6:0x20 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 165 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 11 // DW_AT_decl_file
+; CHECK-NEXT:.b8 145 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x175a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x175f:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5164 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x18c0:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1765:0x27 DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x18c6:0x1e DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 167 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 14 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1781:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1786:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x18de:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x178c:0x23 DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x18e4:0x22 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101 // DW_AT_name
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 169 // DW_AT_decl_line
-; CHECK-NEXT:.b32 4734 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 105 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x17a9:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1900:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x17af:0x1b DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1906:0x20 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 171 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 11 // DW_AT_decl_file
+; CHECK-NEXT:.b8 95 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x17c4:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1920:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x17ca:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1926:0x26 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 173 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 80 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x17e1:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1941:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1946:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x17e7:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x194c:0x22 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 175 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x17fe:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x1804:0x1b DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 116 // DW_AT_name
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 177 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 11 // DW_AT_decl_file
+; CHECK-NEXT:.b8 85 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1819:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1968:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x181f:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x196e:0x2a DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 116 // DW_AT_name
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 179 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 32 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1836:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1988:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x198d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1992:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x183c:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1998:0x26 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 116 // DW_AT_name
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 102 // DW_AT_name
; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 181 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 11 // DW_AT_decl_file
+; CHECK-NEXT:.b8 110 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1857:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x19b3:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x19b8:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 31 // Abbrev [31] 0x185d:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x19be:0x26 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 116 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_decl_file
-; CHECK-NEXT:.b8 183 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1876:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x187c:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 54 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x188a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1890:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 56 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x189e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x18a4:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 58 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x18b2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x18b8:0x1a DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 60 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x18c7:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x18cc:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x18d2:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 178 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x18e0:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x18e6:0x13 DW_TAG_subprogram
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 63 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x18f3:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x18f9:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 72 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1907:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x190d:0x13 DW_TAG_subprogram
-; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 100 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x191a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1920:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 181 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 11 // DW_AT_decl_file
+; CHECK-NEXT:.b8 105 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x192e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x19d9:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x19de:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1934:0x15 DW_TAG_subprogram
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x19e4:0x26 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 184 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1943:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1949:0x19 DW_TAG_subprogram
; CHECK-NEXT:.b8 102 // DW_AT_name
; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 187 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 17 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1957:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x195c:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x19ff:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1a04:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1962:0x1a DW_TAG_subprogram
-; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1a0a:0x29 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 80
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 103 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1971:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1976:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4624 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x197c:0x1a DW_TAG_subprogram
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 106 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 7 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x198b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1990:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1a28:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1a2d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2377 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1996:0x13 DW_TAG_subprogram
-; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1a33:0x28 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 112
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 109 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x19a3:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x19a9:0x15 DW_TAG_subprogram
-; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 104 // DW_AT_name
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 112
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 112 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 110 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x19b8:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1a50:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1a55:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x19be:0x19 DW_TAG_subprogram
-; CHECK-NEXT:.b8 109 // DW_AT_name
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1a5b:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 115 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x19cc:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x19d1:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6615 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x19d7:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x19dc:0x18 DW_TAG_subprogram
-; CHECK-NEXT:.b8 112 // DW_AT_name
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 119
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 153 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x19e9:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x19ee:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x19f4:0x13 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 65 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 85 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1a01:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1a77:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1a07:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1a7d:0x28 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 74 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1a15:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1a1b:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 156 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 240 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1a29:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1a9a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1a9f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1a2f:0x13 DW_TAG_subprogram
-; CHECK-NEXT:.b8 116 // DW_AT_name
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1aa5:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 67 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1a3c:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1a42:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 116 // DW_AT_name
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_decl_file
-; CHECK-NEXT:.b8 76 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1a50:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 33 // Abbrev [33] 0x1a56:0xd DW_TAG_typedef
-; CHECK-NEXT:.b32 6755 // DW_AT_type
-; CHECK-NEXT:.b8 100 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 101 // DW_AT_decl_line
-; CHECK-NEXT:.b8 34 // Abbrev [34] 0x1a63:0x2 DW_TAG_structure_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 33 // Abbrev [33] 0x1a65:0xe DW_TAG_typedef
-; CHECK-NEXT:.b32 6771 // DW_AT_type
; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 109 // DW_AT_decl_line
-; CHECK-NEXT:.b8 35 // Abbrev [35] 0x1a73:0x22 DW_TAG_structure_type
-; CHECK-NEXT:.b8 16 // DW_AT_byte_size
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 105 // DW_AT_decl_line
-; CHECK-NEXT:.b8 11 // Abbrev [11] 0x1a77:0xf DW_TAG_member
-; CHECK-NEXT:.b8 113 // DW_AT_name
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 5164 // DW_AT_type
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 107 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 35
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 11 // Abbrev [11] 0x1a86:0xe DW_TAG_member
-; CHECK-NEXT:.b8 114 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 5164 // DW_AT_type
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 108 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 35
-; CHECK-NEXT:.b8 8
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 36 // Abbrev [36] 0x1a95:0xd DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 3 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 1 // DW_AT_noreturn
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1aa2:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 7 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 235 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ab0:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1ac3:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1ab6:0x17 DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1ac9:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 7 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ac7:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6861 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x1acd:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 6866 // DW_AT_type
-; CHECK-NEXT:.b8 38 // Abbrev [38] 0x1ad2:0x1 DW_TAG_subroutine_type
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1ad3:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 9 // DW_AT_decl_file
-; CHECK-NEXT:.b8 26 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
+; CHECK-NEXT:.b8 125 // DW_AT_decl_line
+; CHECK-NEXT:.b8 4
+; CHECK-NEXT:.b32 1508 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ae1:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1ae7:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1ae7:0x15 DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1aed:0x26 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 56
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 22 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1af6:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1afc:0x15 DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 108 // DW_AT_name
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 27 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 5164 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1b0b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1b11:0x2b DW_TAG_subprogram
-; CHECK-NEXT:.b8 98 // DW_AT_name
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 10 // DW_AT_decl_file
-; CHECK-NEXT:.b8 20 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6972 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 66 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1508 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1b22:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6973 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1b27:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6973 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1b2c:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1b31:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1b36:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7014 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 39 // Abbrev [39] 0x1b3c:0x1 DW_TAG_pointer_type
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x1b3d:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 6978 // DW_AT_type
-; CHECK-NEXT:.b8 40 // Abbrev [40] 0x1b42:0x1 DW_TAG_const_type
-; CHECK-NEXT:.b8 33 // Abbrev [33] 0x1b43:0xe DW_TAG_typedef
-; CHECK-NEXT:.b32 6993 // DW_AT_type
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 122
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1b0d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1b13:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 48
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 11 // DW_AT_decl_file
-; CHECK-NEXT:.b8 62 // DW_AT_decl_line
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1b51:0x15 DW_TAG_base_type
; CHECK-NEXT:.b8 108 // DW_AT_name
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 32
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 32
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 48
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_encoding
-; CHECK-NEXT:.b8 8 // DW_AT_byte_size
-; CHECK-NEXT:.b8 20 // Abbrev [20] 0x1b66:0x16 DW_TAG_typedef
-; CHECK-NEXT:.b32 7036 // DW_AT_type
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 76 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1b2f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1b35:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 49
; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 230 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x1b7c:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 7041 // DW_AT_type
-; CHECK-NEXT:.b8 41 // Abbrev [41] 0x1b81:0x10 DW_TAG_subroutine_type
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1b86:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6973 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1b8b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6973 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1b91:0x1c DW_TAG_subprogram
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108 // DW_AT_name
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 212 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6972 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 85 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ba2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ba7:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1b51:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1bad:0x19 DW_TAG_subprogram
-; CHECK-NEXT:.b8 100 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1b57:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 21 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 6742 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1bbb:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1bc0:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 42 // Abbrev [42] 0x1bc6:0x12 DW_TAG_subprogram
-; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 31 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 5 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 1 // DW_AT_noreturn
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1bd2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1b71:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 18 // Abbrev [18] 0x1bd8:0x11 DW_TAG_subprogram
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1b77:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 227 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 90 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1be3:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6972 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1b91:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1be9:0x17 DW_TAG_subprogram
-; CHECK-NEXT:.b8 103 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1b97:0x1e DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 52 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 7168 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 67 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1bfa:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1baf:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x1c00:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 5641 // DW_AT_type
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1c05:0x15 DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1bb5:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 8 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 5164 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 116 // DW_AT_decl_line
+; CHECK-NEXT:.b8 4
+; CHECK-NEXT:.b32 2917 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1c14:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5164 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1bd1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1c1a:0x1a DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1bd7:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 23 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 6757 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 71 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 2917 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1c29:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5164 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1c2e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5164 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1bf5:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1c34:0x17 DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1bfb:0x27 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 80
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 109 // DW_AT_name
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 210 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6972 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 12 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1c45:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1c17:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1c1c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3345 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1c4b:0x1b DW_TAG_subprogram
-; CHECK-NEXT:.b8 109 // DW_AT_name
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1c22:0x2b DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 48
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 95 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1c5b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1c60:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1c66:0x23 DW_TAG_subprogram
-; CHECK-NEXT:.b8 109 // DW_AT_name
+; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 119
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 106 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 6979 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 130 // DW_AT_decl_line
+; CHECK-NEXT:.b8 4
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1c79:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7305 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1c7e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1c83:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x1c89:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 7310 // DW_AT_type
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1c8e:0xb DW_TAG_base_type
-; CHECK-NEXT:.b8 119 // DW_AT_name
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1c47:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1c4d:0x31 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 48
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 5 // DW_AT_encoding
-; CHECK-NEXT:.b8 4 // DW_AT_byte_size
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1c99:0x21 DW_TAG_subprogram
-; CHECK-NEXT:.b8 109 // DW_AT_name
-; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 194 // DW_AT_decl_line
+; CHECK-NEXT:.b8 4
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1c73:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1c78:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1c7e:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 112
; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 119
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 98 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1caa:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7305 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1caf:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1cb4:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 18 // Abbrev [18] 0x1cba:0x21 DW_TAG_subprogram
-; CHECK-NEXT:.b8 113 // DW_AT_name
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 112 // DW_AT_name
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 119
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 253 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 47 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1cc6:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6972 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ccb:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1cd0:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1cd5:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7014 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 43 // Abbrev [43] 0x1cdb:0xf DW_TAG_subprogram
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1c97:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1c9c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1ca2:0x31 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 48
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 109
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 118 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 22 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1cea:0x1d DW_TAG_subprogram
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1cc8:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1ccd:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1cd3:0x31 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 80
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 114 // DW_AT_name
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 224 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 6972 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 27 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1cfc:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6972 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d01:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1cf4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1cf9:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1cfe:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2377 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 18 // Abbrev [18] 0x1d07:0x12 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1d04:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 120 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 111 // DW_AT_decl_line
+; CHECK-NEXT:.b8 4
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d13:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 619 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1d1e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1d19:0x1b DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1d24:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 164 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5621 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d29:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d2e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7476 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x1d34:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 7168 // DW_AT_type
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1d39:0x20 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 114 // DW_AT_name
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 183 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5164 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 61 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d49:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d4e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7476 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d53:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1d59:0x21 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1d40:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1d46:0x2c DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 56
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 187 // DW_AT_decl_line
-; CHECK-NEXT:.b32 6993 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d6a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d6f:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7476 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d74:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1d7a:0x17 DW_TAG_subprogram
; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 205 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 250 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1d8b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1d67:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1d6c:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2917 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1d91:0x23 DW_TAG_subprogram
-; CHECK-NEXT:.b8 119 // DW_AT_name
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1d72:0x2a DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 55
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 109 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 6979 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1da4:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7168 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1da9:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7604 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1dae:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 6979 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 12 // Abbrev [12] 0x1db4:0x5 DW_TAG_pointer_type
-; CHECK-NEXT:.b32 7609 // DW_AT_type
-; CHECK-NEXT:.b8 13 // Abbrev [13] 0x1db9:0x5 DW_TAG_const_type
-; CHECK-NEXT:.b32 7310 // DW_AT_type
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1dbe:0x1c DW_TAG_subprogram
-; CHECK-NEXT:.b8 119 // DW_AT_name
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 102 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 245 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1dcf:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7168 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1dd4:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7310 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1d91:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1d96:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2332 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 28 // Abbrev [28] 0x1dda:0x78 DW_TAG_namespace
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1de5:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 201 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7762 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1dec:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 207 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7811 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1df3:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 211 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7830 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1dfa:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 217 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7852 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1e01:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 228 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7879 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1e08:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 229 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7901 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1e0f:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 230 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7934 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1e16:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 232 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7994 // DW_AT_import
-; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1e1d:0x7 DW_TAG_imported_declaration
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 233 // DW_AT_decl_line
-; CHECK-NEXT:.b32 8021 // DW_AT_import
-; CHECK-NEXT:.b8 4 // Abbrev [4] 0x1e24:0x2d DW_TAG_subprogram
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1d9c:0x1e DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 78
-; CHECK-NEXT:.b8 57
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 100 // DW_AT_name
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 8 // DW_AT_decl_file
-; CHECK-NEXT:.b8 214 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7762 // DW_AT_type
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 210 // DW_AT_decl_line
+; CHECK-NEXT:.b8 4
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1e46:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 3764 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1e4b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 3764 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1db4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 33 // Abbrev [33] 0x1e52:0xf DW_TAG_typedef
-; CHECK-NEXT:.b32 7777 // DW_AT_type
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1dba:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 121 // DW_AT_decl_line
-; CHECK-NEXT:.b8 35 // Abbrev [35] 0x1e61:0x22 DW_TAG_structure_type
-; CHECK-NEXT:.b8 16 // DW_AT_byte_size
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 117 // DW_AT_decl_line
-; CHECK-NEXT:.b8 11 // Abbrev [11] 0x1e65:0xf DW_TAG_member
-; CHECK-NEXT:.b8 113 // DW_AT_name
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 3764 // DW_AT_type
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 119 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 35
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 11 // Abbrev [11] 0x1e74:0xe DW_TAG_member
-; CHECK-NEXT:.b8 114 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b32 3764 // DW_AT_type
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 120 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
-; CHECK-NEXT:.b8 35
-; CHECK-NEXT:.b8 8
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 42 // Abbrev [42] 0x1e83:0x13 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_name
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 45 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 37 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 1 // DW_AT_noreturn
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1e90:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1dd4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1e96:0x16 DW_TAG_subprogram
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1dda:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 12 // DW_AT_decl_line
+; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 11 // DW_AT_decl_file
+; CHECK-NEXT:.b8 139 // DW_AT_decl_line
; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ea6:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1df4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1eac:0x1b DW_TAG_subprogram
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1dfa:0x1e DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 29 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 7762 // DW_AT_type
+; CHECK-NEXT:.b8 116 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 252 // DW_AT_decl_line
+; CHECK-NEXT:.b8 4
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ebc:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 3764 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ec1:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1e12:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 37 // Abbrev [37] 0x1ec7:0x16 DW_TAG_subprogram
-; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1e18:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 53
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 36 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b8 116 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 42 // DW_AT_decl_line
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ed7:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1e32:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1edd:0x21 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1e38:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 55
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 209 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b8 116 // DW_AT_name
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 9 // DW_AT_decl_file
+; CHECK-NEXT:.b8 56 // DW_AT_decl_line
+; CHECK-NEXT:.b8 6
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1eee:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ef3:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7476 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ef8:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1efe:0x22 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1e56:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 26 // Abbrev [26] 0x1e5c:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 214 // DW_AT_decl_line
-; CHECK-NEXT:.b32 7968 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1f10:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1f15:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7476 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1f1a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1f20:0x1a DW_TAG_base_type
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 32
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 32
; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 32
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_encoding
-; CHECK-NEXT:.b8 8 // DW_AT_byte_size
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1f3a:0x1b DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 116 // DW_AT_name
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 172 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 11 // DW_AT_decl_file
+; CHECK-NEXT:.b8 150 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1f4a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1f4f:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7476 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x1e78:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 1554 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 32 // Abbrev [32] 0x1f55:0x1c DW_TAG_subprogram
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 27 // Abbrev [27] 0x1e7e:0x22a DW_TAG_structure_type
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 73
; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7 // DW_AT_decl_file
-; CHECK-NEXT:.b8 175 // DW_AT_decl_line
-; CHECK-NEXT:.b32 8049 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 1 // DW_AT_external
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1f66:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5631 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1f6b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 7476 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 10 // Abbrev [10] 0x1f71:0xf DW_TAG_base_type
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 1 // DW_AT_byte_size
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 77 // DW_AT_decl_line
+; CHECK-NEXT:.b8 28 // Abbrev [28] 0x1e9c:0x4f DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 90
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4 // DW_AT_encoding
-; CHECK-NEXT:.b8 8 // DW_AT_byte_size
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x1f80:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 78 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5207 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 28 // Abbrev [28] 0x1eeb:0x4f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 62 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1f9a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x1fa0:0x22 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 121
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 90 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 79 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5207 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1fbc:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x1fc2:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 28 // Abbrev [28] 0x1f3a:0x4f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 57 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1fdc:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x1fe2:0x22 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 122
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 122
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 95 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 80 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5207 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x1ffe:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2004:0x28 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 25 // Abbrev [25] 0x1f89:0x49 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 111 // DW_AT_name
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 47 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 83 // DW_AT_decl_line
+; CHECK-NEXT:.b32 8360 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2021:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2026:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1fcb:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 8407 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x202c:0x20 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 30 // Abbrev [30] 0x1fd2:0x27 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 52 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 85 // DW_AT_decl_line
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2046:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x1ff2:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 8417 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x204c:0x22 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 30 // Abbrev [30] 0x1ff9:0x2c DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 100 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 85 // DW_AT_decl_line
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2068:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x2019:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 8417 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x201f:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 8422 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x206e:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31 // Abbrev [31] 0x2025:0x43 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 99 // DW_AT_name
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 83
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 82
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 83
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 111 // DW_AT_name
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 61
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 150 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 85 // DW_AT_decl_line
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2088:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x205c:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 8407 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x2062:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 8422 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x208e:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 32 // Abbrev [32] 0x2068:0x3f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 14 // DW_AT_decl_file
-; CHECK-NEXT:.b8 155 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 111 // DW_AT_name
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 38
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 85 // DW_AT_decl_line
+; CHECK-NEXT:.b32 8427 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x20a8:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x20a0:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 8407 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x20ae:0x2e DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 57
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 27 // Abbrev [27] 0x20a8:0x2f DW_TAG_structure_type
+; CHECK-NEXT:.b8 117 // DW_AT_name
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 103
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 12 // DW_AT_byte_size
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 190 // DW_AT_decl_line
+; CHECK-NEXT:.b8 14 // Abbrev [14] 0x20b2:0xc DW_TAG_member
+; CHECK-NEXT:.b8 120 // DW_AT_name
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 165 // DW_AT_decl_line
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x20d1:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x20d6:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x20dc:0x1e DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b32 5207 // DW_AT_type
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 192 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 35
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 14 // Abbrev [14] 0x20be:0xc DW_TAG_member
+; CHECK-NEXT:.b8 121 // DW_AT_name
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 219 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5207 // DW_AT_type
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 192 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 35
; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x20f4:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 14 // Abbrev [14] 0x20ca:0xc DW_TAG_member
+; CHECK-NEXT:.b8 122 // DW_AT_name
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b32 5207 // DW_AT_type
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 192 // DW_AT_decl_line
+; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 35
+; CHECK-NEXT:.b8 8
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x20fa:0x20 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x20d7:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 8412 // DW_AT_type
+; CHECK-NEXT:.b8 9 // Abbrev [9] 0x20dc:0x5 DW_TAG_const_type
+; CHECK-NEXT:.b32 7806 // DW_AT_type
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x20e1:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 7806 // DW_AT_type
+; CHECK-NEXT:.b8 33 // Abbrev [33] 0x20e6:0x5 DW_TAG_reference_type
+; CHECK-NEXT:.b32 8412 // DW_AT_type
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x20eb:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 7806 // DW_AT_type
+; CHECK-NEXT:.b8 34 // Abbrev [34] 0x20f0:0x6 DW_TAG_subprogram
+; CHECK-NEXT:.b32 7836 // DW_AT_specification
+; CHECK-NEXT:.b8 1 // DW_AT_inline
+; CHECK-NEXT:.b8 27 // Abbrev [27] 0x20f6:0x228 DW_TAG_structure_type
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 99 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 68
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 32 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2114:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x211a:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_byte_size
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 88 // DW_AT_decl_line
+; CHECK-NEXT:.b8 28 // Abbrev [28] 0x2114:0x4f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 68
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 210 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2134:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x213a:0x1e DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 200 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2152:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2158:0x20 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 14 // DW_AT_decl_file
-; CHECK-NEXT:.b8 145 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2172:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2178:0x1e DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 14 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 89 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5207 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2190:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2196:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 28 // Abbrev [28] 0x2163:0x4f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 68
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101 // DW_AT_name
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 121
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 105 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 90 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5207 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x21b2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x21b8:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 28 // Abbrev [28] 0x21b2:0x4f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 68
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 122
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 122
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 14 // DW_AT_decl_file
-; CHECK-NEXT:.b8 95 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 91 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5207 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x21d2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x21d8:0x26 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 25 // Abbrev [25] 0x2201:0x47 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 50
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 68
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 52
; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 80 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x21f3:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x21f8:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x21fe:0x22 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 111 // DW_AT_name
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 14 // DW_AT_decl_file
-; CHECK-NEXT:.b8 85 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x221a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2220:0x2a DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 32 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 94 // DW_AT_decl_line
+; CHECK-NEXT:.b32 8990 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x223a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x223f:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2244:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x2241:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9166 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x224a:0x26 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 30 // Abbrev [30] 0x2248:0x27 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 68
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 14 // DW_AT_decl_file
-; CHECK-NEXT:.b8 110 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 96 // DW_AT_decl_line
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2265:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x226a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x2268:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9176 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2270:0x26 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 30 // Abbrev [30] 0x226f:0x2c DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 14 // DW_AT_decl_file
-; CHECK-NEXT:.b8 105 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x228b:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2290:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2296:0x26 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 68
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 17 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 96 // DW_AT_decl_line
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x22b1:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x22b6:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x228f:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9176 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x2295:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9181 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x22bc:0x29 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31 // Abbrev [31] 0x229b:0x43 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 7 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x22da:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x22df:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4624 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x22e5:0x28 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 68
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 83
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 82
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 83
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 104 // DW_AT_name
-; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 111 // DW_AT_name
; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 61
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 110 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 96 // DW_AT_decl_line
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2302:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2307:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x22d2:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9166 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x22d8:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9181 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x230d:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 32 // Abbrev [32] 0x22de:0x3f DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105 // DW_AT_name
; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 85 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2329:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x232f:0x28 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 68
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 111 // DW_AT_name
; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 38
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 240 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 96 // DW_AT_decl_line
+; CHECK-NEXT:.b32 9186 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x234c:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2351:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x2316:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9166 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2357:0x24 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 35 // Abbrev [35] 0x231e:0x9d DW_TAG_structure_type
+; CHECK-NEXT:.b8 100 // DW_AT_name
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 12 // DW_AT_byte_size
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 161 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 36 // Abbrev [36] 0x2328:0xd DW_TAG_member
+; CHECK-NEXT:.b8 120 // DW_AT_name
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b32 5207 // DW_AT_type
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 163 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 35
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 36 // Abbrev [36] 0x2335:0xd DW_TAG_member
+; CHECK-NEXT:.b8 121 // DW_AT_name
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b32 5207 // DW_AT_type
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 163 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 35
+; CHECK-NEXT:.b8 4
+; CHECK-NEXT:.b8 36 // Abbrev [36] 0x2342:0xd DW_TAG_member
+; CHECK-NEXT:.b8 122 // DW_AT_name
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b32 5207 // DW_AT_type
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 163 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 2 // DW_AT_data_member_location
+; CHECK-NEXT:.b8 35
+; CHECK-NEXT:.b8 8
+; CHECK-NEXT:.b8 23 // Abbrev [23] 0x234f:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 100 // DW_AT_name
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 165 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x235a:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9147 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x2360:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5207 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x2365:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5207 // DW_AT_type
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x236a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5207 // DW_AT_type
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 23 // Abbrev [23] 0x2370:0x17 DW_TAG_subprogram
+; CHECK-NEXT:.b8 100 // DW_AT_name
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 235 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 166 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2375:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x237b:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9147 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x2381:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9152 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x237b:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 37 // Abbrev [37] 0x2387:0x33 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111 // DW_AT_name
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 125 // DW_AT_decl_line
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b32 3764 // DW_AT_type
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 167 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b32 9152 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2399:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x23b3:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9147 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x239f:0x26 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 56
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x23bb:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 8990 // DW_AT_type
+; CHECK-NEXT:.b8 20 // Abbrev [20] 0x23c0:0xe DW_TAG_typedef
+; CHECK-NEXT:.b32 8360 // DW_AT_type
+; CHECK-NEXT:.b8 117 // DW_AT_name
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 14 // DW_AT_decl_file
+; CHECK-NEXT:.b8 127 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x23ce:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 9171 // DW_AT_type
+; CHECK-NEXT:.b8 9 // Abbrev [9] 0x23d3:0x5 DW_TAG_const_type
+; CHECK-NEXT:.b32 8438 // DW_AT_type
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x23d8:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 8438 // DW_AT_type
+; CHECK-NEXT:.b8 33 // Abbrev [33] 0x23dd:0x5 DW_TAG_reference_type
+; CHECK-NEXT:.b32 9171 // DW_AT_type
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x23e2:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 8438 // DW_AT_type
+; CHECK-NEXT:.b8 34 // Abbrev [34] 0x23e7:0x6 DW_TAG_subprogram
+; CHECK-NEXT:.b32 8468 // DW_AT_specification
+; CHECK-NEXT:.b8 1 // DW_AT_inline
+; CHECK-NEXT:.b8 27 // Abbrev [27] 0x23ed:0x233 DW_TAG_structure_type
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
+; CHECK-NEXT:.b8 1 // DW_AT_byte_size
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
; CHECK-NEXT:.b8 66 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 3764 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x23bf:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x23c5:0x22 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 76 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x23e1:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x23e7:0x22 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 85 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2403:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2409:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 28 // Abbrev [28] 0x240c:0x50 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 78
; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 5 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2423:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2429:0x20 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 90 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2443:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2449:0x1e DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 67 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2461:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2467:0x22 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 120
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 116 // DW_AT_decl_line
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b32 5164 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 67 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5207 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2483:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2489:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 28 // Abbrev [28] 0x245c:0x50 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 71 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 5164 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x24a7:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x24ad:0x27 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 109 // DW_AT_name
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 73
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 12 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x24c9:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x24ce:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2125 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x24d4:0x2b DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 110 // DW_AT_name
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 121
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 130 // DW_AT_decl_line
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 68 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5207 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x24f9:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x24ff:0x31 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 28 // Abbrev [28] 0x24ac:0x50 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 110 // DW_AT_name
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 194 // DW_AT_decl_line
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2525:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x252a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2530:0x24 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 119
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 112 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 119
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 47 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2549:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x254e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2554:0x31 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 122
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 122
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 22 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 69 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5207 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x257a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x257f:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2585:0x31 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 25 // Abbrev [25] 0x24fc:0x4a DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 53
; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 111 // DW_AT_name
+; CHECK-NEXT:.b8 112
; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 27 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x25a6:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x25ab:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x25b0:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4624 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x25b6:0x20 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 51
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 72 // DW_AT_decl_line
+; CHECK-NEXT:.b32 8360 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_declaration
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x253f:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9760 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 30 // Abbrev [30] 0x2546:0x28 DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 111 // DW_AT_decl_line
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 74 // DW_AT_decl_line
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x25d0:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x2567:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9770 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x25d6:0x22 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 30 // Abbrev [30] 0x256e:0x2d DW_TAG_subprogram
+; CHECK-NEXT:.b8 95 // DW_AT_name
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 99
; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114 // DW_AT_name
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 61 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 74 // DW_AT_decl_line
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x25f2:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x258f:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9770 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x2595:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9775 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x25f8:0x2c DW_TAG_subprogram
+; CHECK-NEXT:.b8 31 // Abbrev [31] 0x259b:0x44 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 56
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 83
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 82
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 83
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 111 // DW_AT_name
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 61
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 250 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 74 // DW_AT_decl_line
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2619:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x261e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 5164 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x25d3:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9760 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
+; CHECK-NEXT:.b8 6 // Abbrev [6] 0x25d9:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9775 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2624:0x2a DW_TAG_subprogram
+; CHECK-NEXT:.b8 32 // Abbrev [32] 0x25df:0x40 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 75
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 117
; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 97
; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 245 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2643:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2648:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 4579 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x264e:0x1e DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 116
; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 73
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 111 // DW_AT_name
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 38
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 210 // DW_AT_decl_line
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 13 // DW_AT_decl_file
+; CHECK-NEXT:.b8 74 // DW_AT_decl_line
+; CHECK-NEXT:.b32 9780 // DW_AT_type
; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2666:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 3 // DW_AT_accessibility
+; CHECK-NEXT: // DW_ACCESS_private
+; CHECK-NEXT:.b8 29 // Abbrev [29] 0x2618:0x6 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9760 // DW_AT_type
+; CHECK-NEXT:.b8 1 // DW_AT_artificial
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x266c:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 0 // End Of Children Mark
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x2620:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 9765 // DW_AT_type
+; CHECK-NEXT:.b8 9 // Abbrev [9] 0x2625:0x5 DW_TAG_const_type
+; CHECK-NEXT:.b32 9197 // DW_AT_type
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x262a:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 9197 // DW_AT_type
+; CHECK-NEXT:.b8 33 // Abbrev [33] 0x262f:0x5 DW_TAG_reference_type
+; CHECK-NEXT:.b32 9765 // DW_AT_type
+; CHECK-NEXT:.b8 8 // Abbrev [8] 0x2634:0x5 DW_TAG_pointer_type
+; CHECK-NEXT:.b32 9197 // DW_AT_type
+; CHECK-NEXT:.b8 34 // Abbrev [34] 0x2639:0x6 DW_TAG_subprogram
+; CHECK-NEXT:.b32 9228 // DW_AT_specification
+; CHECK-NEXT:.b8 1 // DW_AT_inline
+; CHECK-NEXT:.b8 38 // Abbrev [38] 0x263f:0x32 DW_TAG_subprogram
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 80
; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 37 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2686:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x268c:0x20 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 53
+; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 101
; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115 // DW_AT_name
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 12 // DW_AT_decl_file
+; CHECK-NEXT:.b8 3 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 1 // DW_AT_inline
+; CHECK-NEXT:.b8 39 // Abbrev [39] 0x2653:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 120 // DW_AT_name
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 14 // DW_AT_decl_file
-; CHECK-NEXT:.b8 139 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x26a6:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x26ac:0x1e DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 12 // DW_AT_decl_file
+; CHECK-NEXT:.b8 3 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 39 // Abbrev [39] 0x265c:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 121 // DW_AT_name
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 116 // DW_AT_name
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 12 // DW_AT_decl_file
+; CHECK-NEXT:.b8 3 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 39 // Abbrev [39] 0x2665:0xb DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 114 // DW_AT_name
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 252 // DW_AT_decl_line
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x26c4:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 3 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3345 // DW_AT_type
; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x26ca:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 40 // Abbrev [40] 0x2671:0xbf DW_TAG_subprogram
+; CHECK-NEXT:.b64 Lfunc_begin0 // DW_AT_low_pc
+; CHECK-NEXT:.b64 Lfunc_end0 // DW_AT_high_pc
+; CHECK-NEXT:.b8 1 // DW_AT_frame_base
+; CHECK-NEXT:.b8 156
; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 115
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 105
; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 80
; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 83
+; CHECK-NEXT:.b8 95
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 116 // DW_AT_name
+; CHECK-NEXT:.b8 115 // DW_AT_name
; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 121
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 42 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x26e4:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x26ea:0x24 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 5 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1 // DW_AT_external
+; CHECK-NEXT:.b8 39 // Abbrev [39] 0x269c:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 110 // DW_AT_name
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 116 // DW_AT_name
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 12 // DW_AT_decl_file
+; CHECK-NEXT:.b8 5 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 39 // Abbrev [39] 0x26a5:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 97 // DW_AT_name
; CHECK-NEXT:.b8 0
; CHECK-NEXT:.b8 12 // DW_AT_decl_file
-; CHECK-NEXT:.b8 56 // DW_AT_decl_line
-; CHECK-NEXT:.b8 6
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x2708:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 0 // End Of Children Mark
-; CHECK-NEXT:.b8 44 // Abbrev [44] 0x270e:0x22 DW_TAG_subprogram
-; CHECK-NEXT:.b8 95 // DW_AT_MIPS_linkage_name
-; CHECK-NEXT:.b8 90
-; CHECK-NEXT:.b8 76
-; CHECK-NEXT:.b8 54
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 5 // DW_AT_decl_line
+; CHECK-NEXT:.b32 1554 // DW_AT_type
+; CHECK-NEXT:.b8 39 // Abbrev [39] 0x26ae:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 120 // DW_AT_name
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 116 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 12 // DW_AT_decl_file
+; CHECK-NEXT:.b8 5 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3345 // DW_AT_type
+; CHECK-NEXT:.b8 39 // Abbrev [39] 0x26b7:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 121 // DW_AT_name
; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 14 // DW_AT_decl_file
-; CHECK-NEXT:.b8 150 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 2116 // DW_AT_type
-; CHECK-NEXT:.b8 1 // DW_AT_declaration
-; CHECK-NEXT:.b8 7 // Abbrev [7] 0x272a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2116 // DW_AT_type
+; CHECK-NEXT:.b8 12 // DW_AT_decl_file
+; CHECK-NEXT:.b8 5 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3345 // DW_AT_type
+; CHECK-NEXT:.b8 41 // Abbrev [41] 0x26c0:0x9 DW_TAG_variable
+; CHECK-NEXT:.b8 105 // DW_AT_name
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 12 // DW_AT_decl_file
+; CHECK-NEXT:.b8 6 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2332 // DW_AT_type
+; CHECK-NEXT:.b8 42 // Abbrev [42] 0x26c9:0x18 DW_TAG_inlined_subroutine
+; CHECK-NEXT:.b32 8432 // DW_AT_abstract_origin
+; CHECK-NEXT:.b64 Ltmp0 // DW_AT_low_pc
+; CHECK-NEXT:.b64 Ltmp1 // DW_AT_high_pc
+; CHECK-NEXT:.b8 12 // DW_AT_call_file
+; CHECK-NEXT:.b8 6 // DW_AT_call_line
+; CHECK-NEXT:.b8 11 // DW_AT_call_column
+; CHECK-NEXT:.b8 42 // Abbrev [42] 0x26e1:0x18 DW_TAG_inlined_subroutine
+; CHECK-NEXT:.b32 9191 // DW_AT_abstract_origin
+; CHECK-NEXT:.b64 Ltmp1 // DW_AT_low_pc
+; CHECK-NEXT:.b64 Ltmp2 // DW_AT_high_pc
+; CHECK-NEXT:.b8 12 // DW_AT_call_file
+; CHECK-NEXT:.b8 6 // DW_AT_call_line
+; CHECK-NEXT:.b8 24 // DW_AT_call_column
+; CHECK-NEXT:.b8 42 // Abbrev [42] 0x26f9:0x18 DW_TAG_inlined_subroutine
+; CHECK-NEXT:.b32 9785 // DW_AT_abstract_origin
+; CHECK-NEXT:.b64 Ltmp2 // DW_AT_low_pc
+; CHECK-NEXT:.b64 Ltmp3 // DW_AT_high_pc
+; CHECK-NEXT:.b8 12 // DW_AT_call_file
+; CHECK-NEXT:.b8 6 // DW_AT_call_line
+; CHECK-NEXT:.b8 37 // DW_AT_call_column
+; CHECK-NEXT:.b8 43 // Abbrev [43] 0x2711:0x1e DW_TAG_inlined_subroutine
+; CHECK-NEXT:.b32 9791 // DW_AT_abstract_origin
+; CHECK-NEXT:.b64 Ltmp9 // DW_AT_low_pc
+; CHECK-NEXT:.b64 Ltmp10 // DW_AT_high_pc
+; CHECK-NEXT:.b8 12 // DW_AT_call_file
+; CHECK-NEXT:.b8 8 // DW_AT_call_line
+; CHECK-NEXT:.b8 5 // DW_AT_call_column
+; CHECK-NEXT:.b8 44 // Abbrev [44] 0x2729:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 9820 // DW_AT_abstract_origin
+; CHECK-NEXT:.b8 0 // End Of Children Mark
; CHECK-NEXT:.b8 0 // End Of Children Mark
; CHECK-NEXT:.b8 0 // End Of Children Mark
; CHECK-NEXT: }
diff --git a/llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll b/llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
index a6bfd8533a273..43cc586fff198 100644
--- a/llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
+++ b/llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
@@ -153,6 +153,15 @@ attributes #2 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 2 // Abbreviation Code
+; CHECK-NEXT: .b8 19 // DW_TAG_structure_type
+; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
+; CHECK-NEXT: .b8 3 // DW_AT_name
+; CHECK-NEXT: .b8 8 // DW_FORM_string
+; CHECK-NEXT: .b8 60 // DW_AT_declaration
+; CHECK-NEXT: .b8 12 // DW_FORM_flag
+; CHECK-NEXT: .b8 0 // EOM(1)
+; CHECK-NEXT: .b8 0 // EOM(2)
+; CHECK-NEXT: .b8 3 // Abbreviation Code
; CHECK-NEXT: .b8 46 // DW_TAG_subprogram
; CHECK-NEXT: .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: .b8 17 // DW_AT_low_pc
@@ -170,13 +179,11 @@ attributes #2 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
-; CHECK-NEXT: .b8 73 // DW_AT_type
-; CHECK-NEXT: .b8 19 // DW_FORM_ref4
; CHECK-NEXT: .b8 63 // DW_AT_external
; CHECK-NEXT: .b8 12 // DW_FORM_flag
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
-; CHECK-NEXT: .b8 3 // Abbreviation Code
+; CHECK-NEXT: .b8 4 // Abbreviation Code
; CHECK-NEXT: .b8 5 // DW_TAG_formal_parameter
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
@@ -189,18 +196,20 @@ attributes #2 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp
; CHECK-NEXT: .b8 19 // DW_FORM_ref4
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
-; CHECK-NEXT: .b8 4 // Abbreviation Code
-; CHECK-NEXT: .b8 36 // DW_TAG_base_type
+; CHECK-NEXT: .b8 5 // Abbreviation Code
+; CHECK-NEXT: .b8 52 // DW_TAG_variable
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
-; CHECK-NEXT: .b8 62 // DW_AT_encoding
+; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
-; CHECK-NEXT: .b8 11 // DW_AT_byte_size
+; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
+; CHECK-NEXT: .b8 73 // DW_AT_type
+; CHECK-NEXT: .b8 16 // DW_FORM_ref_addr
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
-; CHECK-NEXT: .b8 5 // Abbreviation Code
+; CHECK-NEXT: .b8 6 // Abbreviation Code
; CHECK-NEXT: .b8 46 // DW_TAG_subprogram
; CHECK-NEXT: .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: .b8 17 // DW_AT_low_pc
@@ -218,42 +227,33 @@ attributes #2 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
+; CHECK-NEXT: .b8 73 // DW_AT_type
+; CHECK-NEXT: .b8 19 // DW_FORM_ref4
; CHECK-NEXT: .b8 63 // DW_AT_external
; CHECK-NEXT: .b8 12 // DW_FORM_flag
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
-; CHECK-NEXT: .b8 6 // Abbreviation Code
-; CHECK-NEXT: .b8 52 // DW_TAG_variable
+; CHECK-NEXT: .b8 7 // Abbreviation Code
+; CHECK-NEXT: .b8 36 // DW_TAG_base_type
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
-; CHECK-NEXT: .b8 58 // DW_AT_decl_file
+; CHECK-NEXT: .b8 62 // DW_AT_encoding
; CHECK-NEXT: .b8 11 // DW_FORM_data1
-; CHECK-NEXT: .b8 59 // DW_AT_decl_line
+; CHECK-NEXT: .b8 11 // DW_AT_byte_size
; CHECK-NEXT: .b8 11 // DW_FORM_data1
-; CHECK-NEXT: .b8 73 // DW_AT_type
-; CHECK-NEXT: .b8 16 // DW_FORM_ref_addr
-; CHECK-NEXT: .b8 0 // EOM(1)
-; CHECK-NEXT: .b8 0 // EOM(2)
-; CHECK-NEXT: .b8 7 // Abbreviation Code
-; CHECK-NEXT: .b8 19 // DW_TAG_structure_type
-; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
-; CHECK-NEXT: .b8 3 // DW_AT_name
-; CHECK-NEXT: .b8 8 // DW_FORM_string
-; CHECK-NEXT: .b8 60 // DW_AT_declaration
-; CHECK-NEXT: .b8 12 // DW_FORM_flag
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 0 // EOM(3)
; CHECK-NEXT: }
; CHECK-NEXT: .section .debug_info
; CHECK-NEXT: {
-; CHECK-NEXT: .b32 152 // Length of Unit
+; CHECK-NEXT: .b32 159 // Length of Unit
; CHECK-NEXT: .b8 2 // DWARF version number
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: .b8 8 // Address Size (in bytes)
-; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0x91 DW_TAG_compile_unit
+; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0x98 DW_TAG_compile_unit
; CHECK-NEXT: .b8 99 // DW_AT_producer
; CHECK-NEXT: .b8 108
; CHECK-NEXT: .b8 97
@@ -301,7 +301,7 @@ attributes #2 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp
; CHECK-NEXT: .b8 115
; CHECK-NEXT: .b8 101
; CHECK-NEXT: .b8 116
-; CHECK-NEXT: .b8 49
+; CHECK-NEXT: .b8 50
; CHECK-NEXT: .b8 46
; CHECK-NEXT: .b8 99
; CHECK-NEXT: .b8 99
@@ -323,11 +323,15 @@ attributes #2 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp
; CHECK-NEXT: .b8 99
; CHECK-NEXT: .b8 99
; CHECK-NEXT: .b8 0
-; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
-; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc
-; CHECK-NEXT: .b8 2 // Abbrev [2] 0x64:0x30 DW_TAG_subprogram
-; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
-; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc
+; CHECK-NEXT: .b64 Lfunc_begin1 // DW_AT_low_pc
+; CHECK-NEXT: .b64 Lfunc_end1 // DW_AT_high_pc
+; CHECK-NEXT: .b8 2 // Abbrev [2] 0x64:0x4 DW_TAG_structure_type
+; CHECK-NEXT: .b8 65 // DW_AT_name
+; CHECK-NEXT: .b8 0
+; CHECK-NEXT: .b8 1 // DW_AT_declaration
+; CHECK-NEXT: .b8 3 // Abbrev [3] 0x68:0x3a DW_TAG_subprogram
+; CHECK-NEXT: .b64 Lfunc_begin1 // DW_AT_low_pc
+; CHECK-NEXT: .b64 Lfunc_end1 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_AT_frame_base
; CHECK-NEXT: .b8 156
; CHECK-NEXT: .b8 95 // DW_AT_MIPS_linkage_name
@@ -335,38 +339,37 @@ attributes #2 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp
; CHECK-NEXT: .b8 51
; CHECK-NEXT: .b8 98
; CHECK-NEXT: .b8 97
-; CHECK-NEXT: .b8 114
-; CHECK-NEXT: .b8 105
+; CHECK-NEXT: .b8 122
+; CHECK-NEXT: .b8 49
+; CHECK-NEXT: .b8 65
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 98 // DW_AT_name
; CHECK-NEXT: .b8 97
-; CHECK-NEXT: .b8 114
+; CHECK-NEXT: .b8 122
; CHECK-NEXT: .b8 0
-; CHECK-NEXT: .b8 1 // DW_AT_decl_file
-; CHECK-NEXT: .b8 1 // DW_AT_decl_line
-; CHECK-NEXT: .b32 148 // DW_AT_type
+; CHECK-NEXT: .b8 2 // DW_AT_decl_file
+; CHECK-NEXT: .b8 6 // DW_AT_decl_line
; CHECK-NEXT: .b8 1 // DW_AT_external
-; CHECK-NEXT: .b8 3 // Abbrev [3] 0x8a:0x9 DW_TAG_formal_parameter
-; CHECK-NEXT: .b8 98 // DW_AT_name
+; CHECK-NEXT: .b8 4 // Abbrev [4] 0x8b:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT: .b8 97 // DW_AT_name
; CHECK-NEXT: .b8 0
-; CHECK-NEXT: .b8 1 // DW_AT_decl_file
-; CHECK-NEXT: .b8 1 // DW_AT_decl_line
-; CHECK-NEXT: .b32 148 // DW_AT_type
-; CHECK-NEXT: .b8 0 // End Of Children Mark
-; CHECK-NEXT: .b8 4 // Abbrev [4] 0x94:0x7 DW_TAG_base_type
-; CHECK-NEXT: .b8 105 // DW_AT_name
-; CHECK-NEXT: .b8 110
-; CHECK-NEXT: .b8 116
+; CHECK-NEXT: .b8 2 // DW_AT_decl_file
+; CHECK-NEXT: .b8 6 // DW_AT_decl_line
+; CHECK-NEXT: .b32 100 // DW_AT_type
+; CHECK-NEXT: .b8 5 // Abbrev [5] 0x94:0xd DW_TAG_variable
+; CHECK-NEXT: .b8 122 // DW_AT_name
; CHECK-NEXT: .b8 0
-; CHECK-NEXT: .b8 5 // DW_AT_encoding
-; CHECK-NEXT: .b8 4 // DW_AT_byte_size
+; CHECK-NEXT: .b8 2 // DW_AT_decl_file
+; CHECK-NEXT: .b8 7 // DW_AT_decl_line
+; CHECK-NEXT: .b64 .debug_info+311 // DW_AT_type
; CHECK-NEXT: .b8 0 // End Of Children Mark
-; CHECK-NEXT: .b32 159 // Length of Unit
+; CHECK-NEXT: .b8 0 // End Of Children Mark
+; CHECK-NEXT: .b32 152 // Length of Unit
; CHECK-NEXT: .b8 2 // DWARF version number
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: .b8 8 // Address Size (in bytes)
-; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0x98 DW_TAG_compile_unit
+; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0x91 DW_TAG_compile_unit
; CHECK-NEXT: .b8 99 // DW_AT_producer
; CHECK-NEXT: .b8 108
; CHECK-NEXT: .b8 97
@@ -414,7 +417,7 @@ attributes #2 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp
; CHECK-NEXT: .b8 115
; CHECK-NEXT: .b8 101
; CHECK-NEXT: .b8 116
-; CHECK-NEXT: .b8 50
+; CHECK-NEXT: .b8 49
; CHECK-NEXT: .b8 46
; CHECK-NEXT: .b8 99
; CHECK-NEXT: .b8 99
@@ -436,11 +439,11 @@ attributes #2 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp
; CHECK-NEXT: .b8 99
; CHECK-NEXT: .b8 99
; CHECK-NEXT: .b8 0
-; CHECK-NEXT: .b64 Lfunc_begin1 // DW_AT_low_pc
-; CHECK-NEXT: .b64 Lfunc_end1 // DW_AT_high_pc
-; CHECK-NEXT: .b8 5 // Abbrev [5] 0x64:0x3a DW_TAG_subprogram
-; CHECK-NEXT: .b64 Lfunc_begin1 // DW_AT_low_pc
-; CHECK-NEXT: .b64 Lfunc_end1 // DW_AT_high_pc
+; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
+; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc
+; CHECK-NEXT: .b8 6 // Abbrev [6] 0x64:0x30 DW_TAG_subprogram
+; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
+; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_AT_frame_base
; CHECK-NEXT: .b8 156
; CHECK-NEXT: .b8 95 // DW_AT_MIPS_linkage_name
@@ -448,34 +451,31 @@ attributes #2 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp
; CHECK-NEXT: .b8 51
; CHECK-NEXT: .b8 98
; CHECK-NEXT: .b8 97
-; CHECK-NEXT: .b8 122
-; CHECK-NEXT: .b8 49
-; CHECK-NEXT: .b8 65
+; CHECK-NEXT: .b8 114
+; CHECK-NEXT: .b8 105
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 98 // DW_AT_name
; CHECK-NEXT: .b8 97
-; CHECK-NEXT: .b8 122
+; CHECK-NEXT: .b8 114
; CHECK-NEXT: .b8 0
-; CHECK-NEXT: .b8 2 // DW_AT_decl_file
-; CHECK-NEXT: .b8 6 // DW_AT_decl_line
+; CHECK-NEXT: .b8 1 // DW_AT_decl_file
+; CHECK-NEXT: .b8 1 // DW_AT_decl_line
+; CHECK-NEXT: .b32 148 // DW_AT_type
; CHECK-NEXT: .b8 1 // DW_AT_external
-; CHECK-NEXT: .b8 3 // Abbrev [3] 0x87:0x9 DW_TAG_formal_parameter
-; CHECK-NEXT: .b8 97 // DW_AT_name
-; CHECK-NEXT: .b8 0
-; CHECK-NEXT: .b8 2 // DW_AT_decl_file
-; CHECK-NEXT: .b8 6 // DW_AT_decl_line
-; CHECK-NEXT: .b32 158 // DW_AT_type
-; CHECK-NEXT: .b8 6 // Abbrev [6] 0x90:0xd DW_TAG_variable
-; CHECK-NEXT: .b8 122 // DW_AT_name
+; CHECK-NEXT: .b8 4 // Abbrev [4] 0x8a:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT: .b8 98 // DW_AT_name
; CHECK-NEXT: .b8 0
-; CHECK-NEXT: .b8 2 // DW_AT_decl_file
-; CHECK-NEXT: .b8 7 // DW_AT_decl_line
-; CHECK-NEXT: .b64 .debug_info+148 // DW_AT_type
+; CHECK-NEXT: .b8 1 // DW_AT_decl_file
+; CHECK-NEXT: .b8 1 // DW_AT_decl_line
+; CHECK-NEXT: .b32 148 // DW_AT_type
; CHECK-NEXT: .b8 0 // End Of Children Mark
-; CHECK-NEXT: .b8 7 // Abbrev [7] 0x9e:0x4 DW_TAG_structure_type
-; CHECK-NEXT: .b8 65 // DW_AT_name
+; CHECK-NEXT: .b8 7 // Abbrev [7] 0x94:0x7 DW_TAG_base_type
+; CHECK-NEXT: .b8 105 // DW_AT_name
+; CHECK-NEXT: .b8 110
+; CHECK-NEXT: .b8 116
; CHECK-NEXT: .b8 0
-; CHECK-NEXT: .b8 1 // DW_AT_declaration
+; CHECK-NEXT: .b8 5 // DW_AT_encoding
+; CHECK-NEXT: .b8 4 // DW_AT_byte_size
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: }
; CHECK-NEXT: .section .debug_loc { }
diff --git a/llvm/test/DebugInfo/PowerPC/strict-dwarf.ll b/llvm/test/DebugInfo/PowerPC/strict-dwarf.ll
index 483569a12deb4..02590955262ff 100644
--- a/llvm/test/DebugInfo/PowerPC/strict-dwarf.ll
+++ b/llvm/test/DebugInfo/PowerPC/strict-dwarf.ll
@@ -15,17 +15,17 @@
; 3: DwarfUnit::addUInt()
; 4: addUInt(Block, (dwarf::Attribute)0, Form, Integer);
-; CHECK: DW_AT_noreturn
; CHECK: DW_AT_name ("var")
; CHECK-NOT: DW_TAG_
; CHECK: DW_AT_alignment
; CHECK: DW_AT_location (DW_OP_addr 0x0)
+; CHECK: DW_AT_noreturn
;
-; STRICT-NOT: DW_AT_noreturn
; STRICT: DW_AT_name ("var")
; STRICT-NOT: DW_AT_alignment
; STRICT-NOT: DW_TAG_
; STRICT: DW_AT_location (DW_OP_addr 0x0)
+; STRICT-NOT: DW_AT_noreturn
@_ZL3var = internal global i32 0, align 16, !dbg !0
diff --git a/llvm/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll b/llvm/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll
index 9c33051ea75e3..14793460e14c2 100644
--- a/llvm/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll
+++ b/llvm/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll
@@ -46,17 +46,17 @@ attributes #1 = { nounwind readnone }
; CHECK: DW_TAG_variable
; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "LOC")
+; CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "GLB")
; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_decl_file [DW_FORM_data1] ("/work/llvm/vanilla/test/DebugInfo{{[/\\]}}test.c")
+; CHECK: DW_AT_decl_file [DW_FORM_data1] ("/work/llvm/vanilla/test/DebugInfo{{[/\\]}}test.c")
; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_decl_line [DW_FORM_data1] (4)
+; CHECK: DW_AT_decl_line [DW_FORM_data1] (1)
; CHECK: DW_TAG_variable
; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "GLB")
+; CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "LOC")
; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_decl_file [DW_FORM_data1] ("/work/llvm/vanilla/test/DebugInfo{{[/\\]}}test.c")
+; CHECK: DW_AT_decl_file [DW_FORM_data1] ("/work/llvm/vanilla/test/DebugInfo{{[/\\]}}test.c")
; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_decl_line [DW_FORM_data1] (1)
+; CHECK: DW_AT_decl_line [DW_FORM_data1] (4)
diff --git a/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll b/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
index 82af77a1ef995..495f0f646628f 100644
--- a/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
+++ b/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
@@ -21,6 +21,10 @@
; CHECK: .debug_info contents:
+; CHECK: DW_TAG_subroutine_type [[subroutine_abbrev]] *
+; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] {{.*}}
+; CHECK-NEXT: DW_AT_calling_convention [DW_FORM_data1] (DW_CC_BORLAND_msfastcall)
+
; CHECK: DW_TAG_subprogram [{{.*}}] *
; CHECK: DW_AT_low_pc
; CHECK: DW_AT_high_pc
@@ -33,10 +37,6 @@
; CHECK: DW_AT_type
; CHECK: DW_AT_external
-; CHECK: DW_TAG_subroutine_type [[subroutine_abbrev]] *
-; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] {{.*}}
-; CHECK-NEXT: DW_AT_calling_convention [DW_FORM_data1] (DW_CC_BORLAND_msfastcall)
-
; ModuleID = 't.cpp'
source_filename = "t.cpp"
target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
diff --git a/llvm/test/DebugInfo/X86/align_cpp11.ll b/llvm/test/DebugInfo/X86/align_cpp11.ll
index 537b7b4ff21e9..14cfda7c06da7 100644
--- a/llvm/test/DebugInfo/X86/align_cpp11.ll
+++ b/llvm/test/DebugInfo/X86/align_cpp11.ll
@@ -33,21 +33,6 @@
; auto Lambda = [i](){};
; }
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_TAG_variable
-; CHECK: DW_TAG_variable
-; CHECK: DW_TAG_variable
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name{{.*}}"i"
-; CHECK: DW_AT_alignment{{.*}}32
-; CHECK: DW_TAG_variable
-; CHECK: DW_TAG_class_type
-; CHECK: DW_TAG_member
-; CHECK: DW_AT_name{{.*}}"i"
-; CHECK: DW_AT_alignment{{.*}}32
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_TAG_formal_parameter
-
; CHECK: DW_TAG_class_type
; CHECK: DW_AT_name{{.*}}"C0"
; CHECK: DW_AT_alignment{{.*}}64
@@ -68,6 +53,21 @@
; CHECK: DW_TAG_enumerator
; CHECK: DW_TAG_enumerator
+; CHECK: DW_TAG_subprogram
+; CHECK: DW_TAG_variable
+; CHECK: DW_TAG_variable
+; CHECK: DW_TAG_variable
+; CHECK: DW_TAG_variable
+; CHECK: DW_AT_name{{.*}}"i"
+; CHECK: DW_AT_alignment{{.*}}32
+; CHECK: DW_TAG_variable
+; CHECK: DW_TAG_class_type
+; CHECK: DW_TAG_member
+; CHECK: DW_AT_name{{.*}}"i"
+; CHECK: DW_AT_alignment{{.*}}32
+; CHECK: DW_TAG_subprogram
+; CHECK: DW_TAG_formal_parameter
+
; CHECK: DW_TAG_class_type
; CHECK: DW_AT_name{{.*}}"C1"
; CHECK: DW_TAG_member
diff --git a/llvm/test/DebugInfo/X86/align_objc.ll b/llvm/test/DebugInfo/X86/align_objc.ll
index 375567096fc0c..bc0abbdaa103d 100644
--- a/llvm/test/DebugInfo/X86/align_objc.ll
+++ b/llvm/test/DebugInfo/X86/align_objc.ll
@@ -16,14 +16,7 @@
; }
; CHECK: DW_TAG_compile_unit
-
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_TAG_variable
-; CHECK: DW_TAG_variable
-; CHECK: DW_AT_name{{.*}}"i"
-; CHECK: DW_AT_alignment{{.*}}32
; CHECK: DW_TAG_variable
-
; CHECK: DW_TAG_typedef
; CHECK: DW_AT_name{{.*}}"S0"
@@ -32,6 +25,12 @@
; CHECK: DW_TAG_member
; CHECK: DW_TAG_base_type
+; CHECK: DW_TAG_subprogram
+; CHECK: DW_TAG_variable
+; CHECK: DW_TAG_variable
+; CHECK: DW_AT_name{{.*}}"i"
+; CHECK: DW_AT_alignment{{.*}}32
+
; CHECK: DW_TAG_typedef
; CHECK: DW_AT_name{{.*}}"S1"
; CHECK: DW_TAG_structure_type
diff --git a/llvm/test/DebugInfo/X86/arange-and-stub.ll b/llvm/test/DebugInfo/X86/arange-and-stub.ll
index 9264fab1a8a4b..db1837e021415 100644
--- a/llvm/test/DebugInfo/X86/arange-and-stub.ll
+++ b/llvm/test/DebugInfo/X86/arange-and-stub.ll
@@ -5,7 +5,7 @@
; CHECK: .L_ZTId.DW.stub:
; CHECK: .data
-; CHECK-NEXT: .Lsec_end1:
+; CHECK-NEXT: .Lsec_end0:
source_filename = "test/DebugInfo/X86/arange-and-stub.ll"
target triple = "x86_64-linux-gnu"
diff --git a/llvm/test/DebugInfo/X86/containing-type-extension-rust.ll b/llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
index 94cde895f35ab..3e6c6d2690824 100644
--- a/llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
+++ b/llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
@@ -2,7 +2,6 @@
; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
; Check that any type can have a vtable holder.
-; CHECK: DW_TAG_structure_type
; CHECK: [[SP:.*]]: DW_TAG_structure_type
; CHECK-NOT: TAG
; CHECK: DW_AT_containing_type [DW_FORM_ref4]
diff --git a/llvm/test/DebugInfo/X86/debug-info-access.ll b/llvm/test/DebugInfo/X86/debug-info-access.ll
index 1a95e07340ecc..2e94da41c31a4 100644
--- a/llvm/test/DebugInfo/X86/debug-info-access.ll
+++ b/llvm/test/DebugInfo/X86/debug-info-access.ll
@@ -33,10 +33,6 @@
; A a;
; B b;
; U u;
-;
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_AT_name {{.*}}"free")
-; CHECK-NOT: DW_AT_accessibility
; CHECK: DW_TAG_member
; CHECK: DW_AT_name {{.*}}"pub_default_static")
@@ -80,6 +76,12 @@
; CHECK: DW_TAG_subprogram
; CHECK: DW_AT_name {{.*}}"union_pub_default")
; CHECK-NOT: DW_AT_accessibility
+; CHECK: DW_TAG
+;
+; CHECK: DW_TAG_subprogram
+; CHECK: DW_AT_name {{.*}}"free")
+; CHECK-NOT: DW_AT_accessibility
+; CHECK-NOT: DW_TAG
;
; ModuleID = '/llvm/tools/clang/test/CodeGenCXX/debug-info-access.cpp'
source_filename = "test/DebugInfo/X86/debug-info-access.ll"
diff --git a/llvm/test/DebugInfo/X86/debug-info-blocks.ll b/llvm/test/DebugInfo/X86/debug-info-blocks.ll
index 0173f856f0de5..0914fa68620c9 100644
--- a/llvm/test/DebugInfo/X86/debug-info-blocks.ll
+++ b/llvm/test/DebugInfo/X86/debug-info-blocks.ll
@@ -5,6 +5,10 @@
; rdar://problem/9279956
; test that the DW_AT_location of self is at ( fbreg +{{[0-9]+}}, deref, +{{[0-9]+}} )
+; CHECK: [[A:.*]]: DW_TAG_structure_type
+; CHECK-NEXT: DW_AT_APPLE_objc_complete_type
+; CHECK-NEXT: DW_AT_name{{.*}}"A"
+
; CHECK: DW_TAG_subprogram
; CHECK: DW_TAG_subprogram
; CHECK: DW_TAG_subprogram
@@ -31,10 +35,6 @@
; CHECK-NOT: DW_TAG
; CHECK: DW_AT_artificial
-; CHECK: [[A:.*]]: DW_TAG_structure_type
-; CHECK-NEXT: DW_AT_APPLE_objc_complete_type
-; CHECK-NEXT: DW_AT_name{{.*}}"A"
-
; CHECK: [[APTR]]: DW_TAG_pointer_type
; CHECK-NEXT: {[[A]]}
diff --git a/llvm/test/DebugInfo/X86/debug-info-static-member.ll b/llvm/test/DebugInfo/X86/debug-info-static-member.ll
index 915e48b3c03ac..5e2f46686bd6c 100644
--- a/llvm/test/DebugInfo/X86/debug-info-static-member.ll
+++ b/llvm/test/DebugInfo/X86/debug-info-static-member.ll
@@ -106,8 +106,6 @@ attributes #1 = { nounwind readnone }
; (for variables) or DW_AT_const_value (for constants).
;
; PRESENT: .debug_info contents:
-; PRESENT: DW_TAG_subprogram
-; PRESENT: DW_TAG_variable
; PRESENT: DW_TAG_variable
; PRESENT-NEXT: DW_AT_specification {{.*}} "a"
; PRESENT-NEXT: DW_AT_location
@@ -158,8 +156,6 @@ attributes #1 = { nounwind readnone }
; For Darwin gdb:
; DARWINP: .debug_info contents:
-; DARWINP: DW_TAG_subprogram
-; DARWINP: DW_TAG_variable
; DARWINP: DW_TAG_variable
; DARWINP-NEXT: DW_AT_specification {{.*}} "a"
; DARWINP-NEXT: DW_AT_location
diff --git a/llvm/test/DebugInfo/X86/debug-loc-offset.mir b/llvm/test/DebugInfo/X86/debug-loc-offset.mir
index 72267ebcb4173..95f524fc162cf 100644
--- a/llvm/test/DebugInfo/X86/debug-loc-offset.mir
+++ b/llvm/test/DebugInfo/X86/debug-loc-offset.mir
@@ -31,22 +31,6 @@
#
# Checking that we have two compile units with two sets of high/lo_pc.
# CHECK: .debug_info contents
-#
-# CHECK: DW_TAG_compile_unit
-# CHECK: DW_AT_low_pc {{.*}} (0x00000000 ".text")
-# CHECK: DW_AT_high_pc
-#
-# CHECK: DW_TAG_subprogram
-# CHECK-NOT: DW_TAG
-# CHECK: DW_AT_linkage_name [DW_FORM_strp]{{.*}}"_Z3bari"
-# CHECK-NOT: {{DW_TAG|NULL}}
-# CHECK: DW_TAG_formal_parameter
-# CHECK-NOT: DW_TAG
-# CHECK: DW_AT_location [DW_FORM_sec_offset] ({{.*}}
-# CHECK-NEXT: [0x00000000, 0x0000000a) ".text": DW_OP_consts +0, DW_OP_stack_value
-# CHECK-NEXT: [0x0000000a, 0x00000017) ".text": DW_OP_consts +1, DW_OP_stack_value)
-# CHECK-NEXT: DW_AT_name [DW_FORM_strp]{{.*}}"b"
-
# CHECK: DW_TAG_compile_unit
# CHECK: DW_AT_low_pc {{.*}} (0x00000020 ".text")
# CHECK: DW_AT_high_pc
@@ -66,6 +50,21 @@
# CHECK: DW_AT_location [DW_FORM_exprloc]
# CHECK-NOT: DW_AT_location
#
+# CHECK: DW_TAG_compile_unit
+# CHECK: DW_AT_low_pc {{.*}} (0x00000000 ".text")
+# CHECK: DW_AT_high_pc
+#
+# CHECK: DW_TAG_subprogram
+# CHECK-NOT: DW_TAG
+# CHECK: DW_AT_linkage_name [DW_FORM_strp]{{.*}}"_Z3bari"
+# CHECK-NOT: {{DW_TAG|NULL}}
+# CHECK: DW_TAG_formal_parameter
+# CHECK-NOT: DW_TAG
+# CHECK: DW_AT_location [DW_FORM_sec_offset] ({{.*}}
+# CHECK-NEXT: [0x00000000, 0x0000000a) ".text": DW_OP_consts +0, DW_OP_stack_value
+# CHECK-NEXT: [0x0000000a, 0x00000017) ".text": DW_OP_consts +1, DW_OP_stack_value)
+# CHECK-NEXT: DW_AT_name [DW_FORM_strp]{{.*}}"b"
+#
# CHECK: .debug_loc contents:
# CHECK: 0x00000000:
# CHECK-NEXT: (0x00000000, 0x0000000a): DW_OP_consts +0, DW_OP_stack_value
diff --git a/llvm/test/DebugInfo/X86/dwarf-aranges.ll b/llvm/test/DebugInfo/X86/dwarf-aranges.ll
index b65eba451f4d7..5358a30c6a06a 100644
--- a/llvm/test/DebugInfo/X86/dwarf-aranges.ll
+++ b/llvm/test/DebugInfo/X86/dwarf-aranges.ll
@@ -8,22 +8,22 @@
; -- alignment --
; CHECK-NEXT: .zero 4,255
-; <text section> - it should have made one span covering all functions in this CU.
-; CHECK-NEXT: .quad .Lfunc_begin0
-; CHECK-NEXT: .quad .Lsec_end0-.Lfunc_begin0
-
; <data section> - it should have made one span covering all vars in this CU.
; CHECK-NEXT: .quad some_data
-; CHECK-NEXT: .quad .Lsec_end1-some_data
+; CHECK-NEXT: .quad .Lsec_end0-some_data
; <other sections> - it should have made one span covering all vars in this CU.
; CHECK-NEXT: .quad some_other
-; CHECK-NEXT: .quad .Lsec_end2-some_other
+; CHECK-NEXT: .quad .Lsec_end1-some_other
; <common symbols> - it should have made one span for each symbol.
; CHECK-NEXT: .quad some_bss
; CHECK-NEXT: .quad 4
+; <text section> - it should have made one span covering all functions in this CU.
+; CHECK-NEXT: .quad .Lfunc_begin0
+; CHECK-NEXT: .quad .Lsec_end2-.Lfunc_begin0
+
; -- finish --
; CHECK-NEXT: # ARange terminator
diff --git a/llvm/test/DebugInfo/X86/dwarf-linkage-names.ll b/llvm/test/DebugInfo/X86/dwarf-linkage-names.ll
index 75faee0ac2b51..2af2b86590a29 100644
--- a/llvm/test/DebugInfo/X86/dwarf-linkage-names.ll
+++ b/llvm/test/DebugInfo/X86/dwarf-linkage-names.ll
@@ -17,10 +17,10 @@
; This assumes the variable will appear before the function.
; LINKAGE1: .section .debug_info
-; LINKAGE1: DW_TAG_subprogram
+; LINKAGE1: DW_TAG_variable
; LINKAGE1-NOT: DW_TAG
; LINKAGE1: {{DW_AT_(MIPS_)?linkage_name}}
-; LINKAGE1: DW_TAG_variable
+; LINKAGE1: DW_TAG_subprogram
; LINKAGE1-NOT: DW_TAG
; LINKAGE1: {{DW_AT_(MIPS_)?linkage_name}}
; LINKAGE1: .section
diff --git a/llvm/test/DebugInfo/X86/dwarfdump-DIImportedEntity_elements.ll b/llvm/test/DebugInfo/X86/dwarfdump-DIImportedEntity_elements.ll
index 1a98fbe267f56..2d4937ee7f9f6 100644
--- a/llvm/test/DebugInfo/X86/dwarfdump-DIImportedEntity_elements.ll
+++ b/llvm/test/DebugInfo/X86/dwarfdump-DIImportedEntity_elements.ll
@@ -3,21 +3,21 @@
; RUN: llc %s -filetype=obj -o - | llvm-dwarfdump - | FileCheck %s
+; CHECK: [[MYMOD:0x[0-9a-f]+]]: DW_TAG_module
+; CHECK: DW_AT_name ("mymod")
+; CHECK: [[VAR1:0x[0-9a-f]+]]: DW_TAG_variable
+; CHECK: DW_AT_name ("var1")
+
; CHECK: DW_TAG_subprogram
; CHECK: DW_AT_name ("main")
; CHECK: DW_TAG_subprogram
; CHECK: DW_AT_name ("use_renamed")
; CHECK: DW_TAG_imported_module
-; CHECK: DW_AT_import ([[MYMOD:0x[0-9a-f]+]])
+; CHECK: DW_AT_import ([[MYMOD]])
; CHECK: DW_TAG_imported_declaration
-; CHECK: DW_AT_import ([[VAR1:0x[0-9a-f]+]])
+; CHECK: DW_AT_import ([[VAR1]])
; CHECK: DW_AT_name ("var4")
-; CHECK: [[MYMOD]]: DW_TAG_module
-; CHECK: DW_AT_name ("mymod")
-; CHECK: [[VAR1]]: DW_TAG_variable
-; CHECK: DW_AT_name ("var1")
-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;This test case is generated from
;;module mymod
diff --git a/llvm/test/DebugInfo/X86/generate-odr-hash.ll b/llvm/test/DebugInfo/X86/generate-odr-hash.ll
index f9153f9c9756e..9fa954cd24858 100644
--- a/llvm/test/DebugInfo/X86/generate-odr-hash.ll
+++ b/llvm/test/DebugInfo/X86/generate-odr-hash.ll
@@ -54,7 +54,12 @@
; FISSION-LABEL: .debug_info.dwo contents:
; CHECK: Compile Unit: length = [[CU_SIZE:[0-9a-f]+]]
-; CHECK: DW_TAG_structure_type
+; CHECK: [[BAR:^0x........]]: DW_TAG_structure_type
+; CHECK-NEXT: DW_AT_declaration
+; CHECK-NEXT: DW_AT_signature {{.*}} (0x1d02f3be30cc5688)
+; CHECK: [[FLUFFY:^0x........]]: DW_TAG_class_type
+; CHECK-NEXT: DW_AT_declaration
+; CHECK-NEXT: DW_AT_signature {{.*}} (0xb04af47397402e77)
; Ensure the CU-local type 'walrus' is not placed in a type unit.
; CHECK: [[WALRUS:^0x........]]: DW_TAG_structure_type
@@ -63,13 +68,6 @@
; CHECK-NEXT: DW_AT_decl_file
; CHECK-NEXT: DW_AT_decl_line
-; CHECK: [[BAR:^0x........]]: DW_TAG_structure_type
-; CHECK-NEXT: DW_AT_declaration
-; CHECK-NEXT: DW_AT_signature {{.*}} (0x1d02f3be30cc5688)
-; CHECK: [[FLUFFY:^0x........]]: DW_TAG_class_type
-; CHECK-NEXT: DW_AT_declaration
-; CHECK-NEXT: DW_AT_signature {{.*}} (0xb04af47397402e77)
-
; CHECK: [[WOMBAT:^0x........]]: DW_TAG_structure_type
; CHECK-NEXT: DW_AT_declaration
; CHECK-NEXT: DW_AT_signature {{.*}} (0xfd756cee88f8a118)
@@ -123,10 +121,10 @@
; CHECK-LABEL: .debug_line contents:
; CHECK: Line table prologue
; CHECK-NOT: file_names[
-; CHECK: file_names[
-; CHECK-NEXT: name: "bar.cpp"
; SINGLE: file_names[
; SINGLE-NEXT: name: "bar.h"
+; CHECK: file_names[
+; CHECK-NEXT: name: "bar.cpp"
; CHECK-NOT: file_names[
; FISSION: .debug_line.dwo contents:
diff --git a/llvm/test/DebugInfo/X86/gnu-public-names.ll b/llvm/test/DebugInfo/X86/gnu-public-names.ll
index de44b4341868f..d19358ee6e58f 100644
--- a/llvm/test/DebugInfo/X86/gnu-public-names.ll
+++ b/llvm/test/DebugInfo/X86/gnu-public-names.ll
@@ -77,6 +77,9 @@
; CHECK: DW_AT_GNU_pubnames (true)
; CHECK-NOT: DW_AT_GNU_pubtypes [
+; CHECK: [[STATIC_MEM_VAR:0x[0-9a-f]+]]: DW_TAG_variable
+; CHECK: DW_AT_specification {{.*}} "static_member_variable"
+
; CHECK: [[C:0x[0-9a-f]+]]: DW_TAG_structure_type
; CHECK: DW_AT_name ("C")
; CHECK: DW_TAG_member
@@ -95,23 +98,11 @@
; CHECK: DW_AT_name ("int")
; CHECK: DW_TAG_pointer_type
-; CHECK: [[MEM_FUNC:0x[0-9a-f]+]]: DW_TAG_subprogram
-; CHECK: DW_AT_specification {{.*}} "_ZN1C15member_functionEv"
-; CHECK: DW_TAG_formal_parameter
-; CHECK: NULL
-
-; CHECK: [[STATIC_MEM_FUNC:0x[0-9a-f]+]]: DW_TAG_subprogram
-; CHECK: DW_AT_specification {{.*}} "_ZN1C22static_member_functionEv"
-
-; CHECK: [[GLOBAL_FUNC:0x[0-9a-f]+]]: DW_TAG_subprogram
-; CHECK: DW_AT_linkage_name
-; CHECK: DW_AT_name ("global_function")
+; CHECK: [[GLOB_VAR:0x[0-9a-f]+]]: DW_TAG_variable
+; CHECK: DW_AT_name ("global_variable")
; CHECK: [[NS:0x[0-9a-f]+]]: DW_TAG_namespace
; CHECK: DW_AT_name ("ns")
-; CHECK: [[GLOB_NS_FUNC:0x[0-9a-f]+]]: DW_TAG_subprogram
-; CHECK: DW_AT_linkage_name
-; CHECK: DW_AT_name ("global_namespace_function")
; CHECK: [[GLOB_NS_VAR:0x[0-9a-f]+]]: DW_TAG_variable
; CHECK: DW_AT_name ("global_namespace_variable")
; CHECK-NOT: DW_AT_specification
@@ -127,6 +118,9 @@
; CHECK: DW_TAG_member
; CHECK: NULL
; CHECK: DW_TAG_variable
+; CHECK: [[GLOB_NS_FUNC:0x[0-9a-f]+]]: DW_TAG_subprogram
+; CHECK: DW_AT_linkage_name
+; CHECK: DW_AT_name ("global_namespace_function")
; CHECK: NULL
; CHECK: DW_TAG_subprogram
@@ -136,13 +130,6 @@
; CHECK: DW_AT_location
; CHECK: NULL
-; CHECK: DW_TAG_subprogram
-; CHECK: [[STATIC_MEM_VAR:0x[0-9a-f]+]]: DW_TAG_variable
-; CHECK: DW_AT_specification {{.*}} "static_member_variable"
-
-; CHECK: [[GLOB_VAR:0x[0-9a-f]+]]: DW_TAG_variable
-; CHECK: DW_AT_name ("global_variable")
-
; CHECK: [[ANON:.*]]: DW_TAG_namespace
; CHECK-NOT: DW_AT_name
; CHECK: [[ANON_I:.*]]: DW_TAG_variable
@@ -184,6 +171,20 @@
; CHECK: NULL
; CHECK: DW_TAG_imported_declaration
+
+; CHECK: [[MEM_FUNC:0x[0-9a-f]+]]: DW_TAG_subprogram
+; CHECK: DW_AT_specification {{.*}} "_ZN1C15member_functionEv"
+; CHECK: DW_TAG_formal_parameter
+; CHECK: NULL
+
+; CHECK: [[STATIC_MEM_FUNC:0x[0-9a-f]+]]: DW_TAG_subprogram
+; CHECK: DW_AT_specification {{.*}} "_ZN1C22static_member_functionEv"
+
+; CHECK: [[GLOBAL_FUNC:0x[0-9a-f]+]]: DW_TAG_subprogram
+; CHECK: DW_AT_linkage_name
+; CHECK: DW_AT_name ("global_function")
+
+; CHECK: DW_TAG_subprogram
; CHECK: DW_TAG_pointer_type
; CHECK: DW_TAG_pointer_type
; CHECK: NULL
diff --git a/llvm/test/DebugInfo/X86/lexical-block-file-inline.ll b/llvm/test/DebugInfo/X86/lexical-block-file-inline.ll
index 38a096c7bfc95..13a8c0acb277b 100644
--- a/llvm/test/DebugInfo/X86/lexical-block-file-inline.ll
+++ b/llvm/test/DebugInfo/X86/lexical-block-file-inline.ll
@@ -32,6 +32,8 @@
; CHECK: DW_TAG_lexical_block
; CHECK-NOT: {{DW_TAG|NULL}}
; CHECK: DW_TAG_variable
+; CHECK-NOT: {{DW_TAG|NULL}}
+; CHECK: DW_TAG_imported_module
;; Abstract "bar" function
; CHECK: [[Offset_bar]]: DW_TAG_subprogram
@@ -58,6 +60,9 @@
; CHECK: DW_TAG_lexical_block
; CHECK-NOT: {{DW_TAG|NULL}}
; CHECK: DW_TAG_variable
+; CHECK-NOT: {{DW_TAG|NULL}}
+; CHECK: DW_TAG_imported_module
+
; Function Attrs: alwaysinline nounwind
define i32 @_Z3barv() #0 !dbg !4 {
diff --git a/llvm/test/DebugInfo/X86/linkage-name.ll b/llvm/test/DebugInfo/X86/linkage-name.ll
index e43cccfb5fcf7..f5c82b1759a35 100644
--- a/llvm/test/DebugInfo/X86/linkage-name.ll
+++ b/llvm/test/DebugInfo/X86/linkage-name.ll
@@ -1,7 +1,7 @@
; RUN: llc -mtriple=x86_64-macosx %s -o %t -filetype=obj
; RUN: llvm-dwarfdump -v -debug-info %t | FileCheck %s
-; CHECK: DW_TAG_subprogram [8] *
+; CHECK: DW_TAG_subprogram [9] *
; CHECK-NOT: DW_AT_{{(MIPS_)?}}linkage_name
; CHECK: DW_AT_specification
diff --git a/llvm/test/DebugInfo/X86/namelist1.ll b/llvm/test/DebugInfo/X86/namelist1.ll
index 149d6cbbe3180..57316a806b713 100644
--- a/llvm/test/DebugInfo/X86/namelist1.ll
+++ b/llvm/test/DebugInfo/X86/namelist1.ll
@@ -4,11 +4,10 @@
; RUN: llc -O0 -mtriple=x86_64-unknown-linux-gnu %s -filetype=obj -o %t.o
; RUN: llvm-dwarfdump %t.o | FileCheck %s
;
-; CHECK: [[ITEM2:0x.+]]: DW_TAG_variable
-; CHECK: DW_AT_name ("b")
-; CHECK: DW_TAG_variable
; CHECK: [[ITEM1:0x.+]]: DW_TAG_variable
; CHECK: DW_AT_name ("a")
+; CHECK: [[ITEM2:0x.+]]: DW_TAG_variable
+; CHECK: DW_AT_name ("b")
; CHECK: DW_TAG_namelist
; CHECK: DW_AT_name ("nml")
; CHECK: DW_TAG_namelist_item
diff --git a/llvm/test/DebugInfo/X86/sret.ll b/llvm/test/DebugInfo/X86/sret.ll
index 673e982b0534b..479f2f605421a 100644
--- a/llvm/test/DebugInfo/X86/sret.ll
+++ b/llvm/test/DebugInfo/X86/sret.ll
@@ -3,8 +3,8 @@
; Based on the debuginfo-tests/sret.cpp code.
-; CHECK-DWO: DW_AT_GNU_dwo_id (0x46a03e2a3394ce47)
-; CHECK-DWO: DW_AT_GNU_dwo_id (0x46a03e2a3394ce47)
+; CHECK-DWO: DW_AT_GNU_dwo_id (0xa58a336e896549f1)
+; CHECK-DWO: DW_AT_GNU_dwo_id (0xa58a336e896549f1)
; RUN: llc -O0 -fast-isel=true -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | llvm-dwarfdump -debug-info - | FileCheck -check-prefixes=CHECK,FASTISEL %s
; RUN: llc -O0 -fast-isel=false -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | llvm-dwarfdump -debug-info - | FileCheck -check-prefixes=CHECK,SDAG %s
diff --git a/llvm/test/DebugInfo/X86/subprogram-across-cus.ll b/llvm/test/DebugInfo/X86/subprogram-across-cus.ll
index a265b8e2bc305..345342aecf3c2 100644
--- a/llvm/test/DebugInfo/X86/subprogram-across-cus.ll
+++ b/llvm/test/DebugInfo/X86/subprogram-across-cus.ll
@@ -35,12 +35,12 @@
; Check that there are no verifier failures, and that the SP for "main" appears
; in the correct CU.
; CHECK-LABEL: DW_TAG_compile_unit
+; CHECK: DW_AT_name ("1.cpp")
+; CHECK-NOT: DW_AT_name ("main")
+; CHECK-LABEL: DW_TAG_compile_unit
; CHECK: DW_AT_name ("2.cpp")
; CHECK: DW_TAG_subprogram
; CHECK: DW_AT_name ("main")
-; CHECK-LABEL: DW_TAG_compile_unit
-; CHECK: DW_AT_name ("1.cpp")
-; CHECK-NOT: DW_AT_name ("main")
source_filename = "ld-temp.o"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
diff --git a/llvm/test/DebugInfo/X86/template.ll b/llvm/test/DebugInfo/X86/template.ll
index 8a071cc81389c..6ac7f2bc0a577 100644
--- a/llvm/test/DebugInfo/X86/template.ll
+++ b/llvm/test/DebugInfo/X86/template.ll
@@ -15,10 +15,26 @@
; VERIFY-NOT: error:
+; CHECK: [[INT:0x[0-9a-f]*]]:{{ *}}DW_TAG_base_type
+; CHECK-NEXT: DW_AT_name{{.*}} = "int"
+
+; CHECK: DW_TAG_structure_type
+; CHECK: DW_AT_name{{.*}}"y_impl<int>"
+; CHECK-NOT: {{TAG|NULL}}
+; CHECK: DW_TAG_template_type_parameter
+
+; CHECK: DW_TAG_variable
+; CHECK-NEXT: DW_AT_name{{.*}}"var"
+; CHECK-NOT: NULL
+; CHECK: DW_TAG_template_type_parameter
+; CHECK-NEXT: DW_AT_type{{.*}}=> {[[INT]]}
+; CHECK-NEXT: DW_AT_name{{.*}}= "T"
+
+
; CHECK: DW_AT_name{{.*}}"func<3, &glbl, y_impl, nullptr, E, 1, 2>"
; CHECK-NOT: NULL
; CHECK: DW_TAG_template_value_parameter
-; CHECK-NEXT: DW_AT_type{{.*}}=> {[[INT:0x[0-9a-f]*]]}
+; CHECK-NEXT: DW_AT_type{{.*}}=> {[[INT]]}
; CHECK-NEXT: DW_AT_name{{.*}}= "x"
; CHECK-NEXT: DW_AT_const_value [DW_FORM_sdata]{{.*}}(3)
@@ -55,21 +71,6 @@
; CHECK-NEXT: DW_AT_type{{.*}}=> {[[INT]]}
; CHECK-NEXT: DW_AT_const_value [DW_FORM_sdata]{{.*}}(2)
-; CHECK: [[INT]]:{{ *}}DW_TAG_base_type
-; CHECK-NEXT: DW_AT_name{{.*}} = "int"
-
-; CHECK: DW_TAG_structure_type
-; CHECK: DW_AT_name{{.*}}"y_impl<int>"
-; CHECK-NOT: {{TAG|NULL}}
-; CHECK: DW_TAG_template_type_parameter
-
-; CHECK: DW_TAG_variable
-; CHECK-NEXT: DW_AT_name{{.*}}"var"
-; CHECK-NOT: NULL
-; CHECK: DW_TAG_template_type_parameter
-; CHECK-NEXT: DW_AT_type{{.*}}=> {[[INT]]}
-; CHECK-NEXT: DW_AT_name{{.*}}= "T"
-
; CHECK: [[INTPTR]]:{{ *}}DW_TAG_pointer_type
; CHECK-NEXT: DW_AT_type{{.*}} => {[[INT]]}
diff --git a/llvm/test/DebugInfo/X86/tls.ll b/llvm/test/DebugInfo/X86/tls.ll
index 33ab5559fcb91..ecb1d93bbd285 100644
--- a/llvm/test/DebugInfo/X86/tls.ll
+++ b/llvm/test/DebugInfo/X86/tls.ll
@@ -30,45 +30,33 @@
; that here instead of raw assembly printing
; FISSION: .section .debug_info.dwo,
+; 3 bytes of data in this DW_FORM_exprloc representation of the location of 'tls'
+; FISSION: .byte 3{{ *}}# DW_AT_location
+; DW_OP_GNU_const_index (0xfx == 252) to refer to the debug_addr table
+; FISSION-NEXT: .byte 252
+; an index of zero into the debug_addr table
+; FISSION-NEXT: .byte 0
+
; SINGLE: .section .debug_info,
; DARWIN: .section {{.*}}debug_info,
-; SINGLE-64: DW_TAG_variable
; 10 bytes of data in this DW_FORM_exprloc representation of the location of 'tls'
; SINGLE-64: .byte 10 # DW_AT_location
; DW_OP_const8u (0x0e == 14) of address
; SINGLE-64-NEXT: .byte 14
; SINGLE-64-NEXT: .quad tls at DTPOFF
-; DARWIN: DW_TAG_variable
; DARWIN: .byte 10 ## DW_AT_location
; DW_OP_const8u (0x0e == 14) of address
; DARWIN-NEXT: .byte 14
; DARWIN-NEXT: .quad _tls
-; SINGLE-32: DW_TAG_variable
; 6 bytes of data in 32-bit mode
; SINGLE-32: .byte 6 # DW_AT_location
; DW_OP_const4u (0x0e == 12) of address
; SINGLE-32-NEXT: .byte 12
; SINGLE-32-NEXT: .long tls at DTPOFF
-; FISSION: DW_TAG_template_value_parameter
-; FISSION: .byte 3 # DW_AT_location
-; DW_OP_GNU_addr_index
-; FISSION-NEXT: .byte 251
-; FISSION-NEXT: .byte 2
-; DW_OP_stack_value
-; FISSION-NEXT: .byte 159
-
-; FISSION: DW_TAG_variable
-; 3 bytes of data in this DW_FORM_exprloc representation of the location of 'tls'
-; FISSION: .byte 3{{ *}}# DW_AT_location
-; DW_OP_GNU_const_index (0xfx == 252) to refer to the debug_addr table
-; FISSION-NEXT: .byte 252
-; an index of 1 into the debug_addr table
-; FISSION-NEXT: .byte 1
-
; DW_OP_GNU_push_tls_address
; GNUOP-NEXT: .byte 224
; DW_OP_form_tls_address
@@ -78,12 +66,19 @@
; FISSION: .byte 2 # DW_AT_location
; DW_OP_GNU_addr_index
; FISSION-NEXT: .byte 251
-; FISSION-NEXT: .byte 2
+; FISSION-NEXT: .byte 1
+
+; FISSION: DW_TAG_template_value_parameter
+; FISSION: .byte 3 # DW_AT_location
+; DW_OP_GNU_addr_index
+; FISSION-NEXT: .byte 251
+; FISSION-NEXT: .byte 1
+; DW_OP_stack_value
+; FISSION-NEXT: .byte 159
; check that the expected TLS address description is the first thing in the debug_addr section
; FISSION: .section .debug_addr
; FISSION-NEXT: .Laddr_table_base0:
-; FISSION-NEXT: .quad .Lfunc_begin0
; FISSION-NEXT: .quad tls at DTPOFF
; FISSION-NEXT: .quad glbl
; FISSION-NOT: .quad glbl
diff --git a/llvm/test/DebugInfo/X86/vla-global.ll b/llvm/test/DebugInfo/X86/vla-global.ll
index 81d00ead44aa8..b846df22c37ef 100644
--- a/llvm/test/DebugInfo/X86/vla-global.ll
+++ b/llvm/test/DebugInfo/X86/vla-global.ll
@@ -1,7 +1,4 @@
; RUN: llc -mtriple=x86_64-apple-darwin %s -o - -filetype=obj | llvm-dwarfdump - | FileCheck %s
-; CHECK: DW_TAG_subprogram
-; CHECK: DW_TAG_variable
-; CHECK: DW_TAG_variable
; CHECK: 0x00000[[G:.*]]: DW_TAG_variable
; CHECK-NEXT: DW_AT_name ("g")
; CHECK: DW_TAG_array_type
diff --git a/llvm/test/DebugInfo/attr-btf_tag.ll b/llvm/test/DebugInfo/attr-btf_tag.ll
index 5a603c551f224..ecbb1e721d5a1 100644
--- a/llvm/test/DebugInfo/attr-btf_tag.ll
+++ b/llvm/test/DebugInfo/attr-btf_tag.ll
@@ -43,6 +43,37 @@ attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }
!llvm.module.flags = !{!10, !11, !12, !13, !14}
!llvm.ident = !{!15}
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
+!1 = distinct !DIGlobalVariable(name: "g1", scope: !2, file: !3, line: 8, type: !6, isLocal: false, isDefinition: true, annotations: !7)
+
+; CHECK: DW_TAG_variable
+; CHECK-NEXT: DW_AT_name ("g1")
+; CHECK: DW_TAG_LLVM_annotation
+; CHECK-NEXT: DW_AT_name ("btf_decl_tag")
+; CHECK-NEXT: DW_AT_const_value ("tag1")
+; CHECK-EMPTY:
+; CHECK-NEXT: DW_TAG_LLVM_annotation
+; CHECK-NEXT: DW_AT_name ("btf_decl_tag")
+; CHECK-NEXT: DW_AT_const_value ("tag2")
+; CHECK-EMPTY:
+; CHECK-NEXT: NULL
+
+!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 13.0.0 (https://github.com/llvm/llvm-project.git 305231a4f71b68945b4dd92925c76ff49e377c86)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5, splitDebugInlining: false, nameTableKind: None)
+!3 = !DIFile(filename: "t.c", directory: "/tmp/home/yhs/work/tests/llvm/btf_tag")
+!4 = !{}
+!5 = !{!0}
+!6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
+!7 = !{!8, !9}
+!8 = !{!"btf_decl_tag", !"tag1"}
+!9 = !{!"btf_decl_tag", !"tag2"}
+!10 = !{i32 7, !"Dwarf Version", i32 4}
+!11 = !{i32 2, !"Debug Info Version", i32 3}
+!12 = !{i32 1, !"wchar_size", i32 4}
+!13 = !{i32 7, !"uwtable", i32 1}
+!14 = !{i32 7, !"frame-pointer", i32 2}
+!15 = !{!"clang version 13.0.0 (https://github.com/llvm/llvm-project.git 305231a4f71b68945b4dd92925c76ff49e377c86)"}
+!16 = distinct !DISubprogram(name: "foo", scope: !3, file: !3, line: 10, type: !17, scopeLine: 10, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !2, retainedNodes: !4, annotations: !7)
+
; CHECK: DW_TAG_subprogram
; CHECK: DW_AT_name ("foo")
; CHECK: DW_TAG_formal_parameter
@@ -66,17 +97,12 @@ attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }
; CHECK-EMPTY:
; CHECK-NEXT: NULL
-; CHECK: DW_TAG_variable
-; CHECK-NEXT: DW_AT_name ("g1")
-; CHECK: DW_TAG_LLVM_annotation
-; CHECK-NEXT: DW_AT_name ("btf_decl_tag")
-; CHECK-NEXT: DW_AT_const_value ("tag1")
-; CHECK-EMPTY:
-; CHECK-NEXT: DW_TAG_LLVM_annotation
-; CHECK-NEXT: DW_AT_name ("btf_decl_tag")
-; CHECK-NEXT: DW_AT_const_value ("tag2")
-; CHECK-EMPTY:
-; CHECK-NEXT: NULL
+!17 = !DISubroutineType(types: !18)
+!18 = !{!6, !19}
+!19 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !20, size: 64)
+!20 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "t1", file: !3, line: 4, size: 32, elements: !21, annotations: !7)
+!21 = !{!22}
+!22 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !20, file: !3, line: 5, baseType: !6, size: 32, annotations: !7)
; CHECK: DW_TAG_structure_type
; CHECK-NEXT: DW_AT_name ("t1")
@@ -102,29 +128,6 @@ attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }
; CHECK-EMPTY:
; CHECK-NEXT: NULL
-!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
-!1 = distinct !DIGlobalVariable(name: "g1", scope: !2, file: !3, line: 8, type: !6, isLocal: false, isDefinition: true, annotations: !7)
-!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 13.0.0 (https://github.com/llvm/llvm-project.git 305231a4f71b68945b4dd92925c76ff49e377c86)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5, splitDebugInlining: false, nameTableKind: None)
-!3 = !DIFile(filename: "t.c", directory: "/tmp/home/yhs/work/tests/llvm/btf_tag")
-!4 = !{}
-!5 = !{!0}
-!6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!7 = !{!8, !9}
-!8 = !{!"btf_decl_tag", !"tag1"}
-!9 = !{!"btf_decl_tag", !"tag2"}
-!10 = !{i32 7, !"Dwarf Version", i32 4}
-!11 = !{i32 2, !"Debug Info Version", i32 3}
-!12 = !{i32 1, !"wchar_size", i32 4}
-!13 = !{i32 7, !"uwtable", i32 1}
-!14 = !{i32 7, !"frame-pointer", i32 2}
-!15 = !{!"clang version 13.0.0 (https://github.com/llvm/llvm-project.git 305231a4f71b68945b4dd92925c76ff49e377c86)"}
-!16 = distinct !DISubprogram(name: "foo", scope: !3, file: !3, line: 10, type: !17, scopeLine: 10, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !2, retainedNodes: !4, annotations: !7)
-!17 = !DISubroutineType(types: !18)
-!18 = !{!6, !19}
-!19 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !20, size: 64)
-!20 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "t1", file: !3, line: 4, size: 32, elements: !21, annotations: !7)
-!21 = !{!22}
-!22 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !20, file: !3, line: 5, baseType: !6, size: 32, annotations: !7)
!23 = !DILocalVariable(name: "arg", arg: 1, scope: !16, file: !3, line: 10, type: !19, annotations: !7)
!24 = !DILocation(line: 10, column: 48, scope: !16)
!25 = !DILocation(line: 11, column: 10, scope: !16)
diff --git a/llvm/test/MC/WebAssembly/debug-info.ll b/llvm/test/MC/WebAssembly/debug-info.ll
index a234350546f74..d2a815f097164 100644
--- a/llvm/test/MC/WebAssembly/debug-info.ll
+++ b/llvm/test/MC/WebAssembly/debug-info.ll
@@ -154,20 +154,20 @@
; CHECK-NEXT: 0x16 R_WASM_SECTION_OFFSET_I32 .debug_line 0
; CHECK-NEXT: 0x1A R_WASM_SECTION_OFFSET_I32 .debug_str 62
; CHECK-NEXT: 0x1E R_WASM_FUNCTION_OFFSET_I32 f2 0
-; CHECK-NEXT: 0x27 R_WASM_FUNCTION_OFFSET_I32 f2 0
-; CHECK-NEXT: 0x32 R_WASM_GLOBAL_INDEX_I32 __stack_pointer
-; CHECK-NEXT: 0x37 R_WASM_SECTION_OFFSET_I32 .debug_str 118
-; CHECK-NEXT: 0x3E R_WASM_SECTION_OFFSET_I32 .debug_str 105
-; CHECK-NEXT: 0x4A R_WASM_MEMORY_ADDR_I32 foo 0
-; CHECK-NEXT: 0x54 R_WASM_SECTION_OFFSET_I32 .debug_str 109
-; CHECK-NEXT: 0x5B R_WASM_SECTION_OFFSET_I32 .debug_str 113
-; CHECK-NEXT: 0x67 R_WASM_MEMORY_ADDR_I32 ptr2 0
+; CHECK-NEXT: 0x27 R_WASM_SECTION_OFFSET_I32 .debug_str 105
+; CHECK-NEXT: 0x33 R_WASM_MEMORY_ADDR_I32 foo 0
+; CHECK-NEXT: 0x3D R_WASM_SECTION_OFFSET_I32 .debug_str 109
+; CHECK-NEXT: 0x44 R_WASM_SECTION_OFFSET_I32 .debug_str 113
+; CHECK-NEXT: 0x50 R_WASM_MEMORY_ADDR_I32 ptr2 0
+; CHECK-NEXT: 0x5B R_WASM_FUNCTION_OFFSET_I32 f2 0
+; CHECK-NEXT: 0x66 R_WASM_GLOBAL_INDEX_I32 __stack_pointer
+; CHECK-NEXT: 0x6B R_WASM_SECTION_OFFSET_I32 .debug_str 118
; CHECK-NEXT: }
; CHECK-NEXT: Section (10) .debug_aranges {
; CHECK-NEXT: 0x6 R_WASM_SECTION_OFFSET_I32 .debug_info 0
-; CHECK-NEXT: 0x10 R_WASM_FUNCTION_OFFSET_I32 f2 0
-; CHECK-NEXT: 0x18 R_WASM_MEMORY_ADDR_I32 foo 0
-; CHECK-NEXT: 0x20 R_WASM_MEMORY_ADDR_I32 ptr2 0
+; CHECK-NEXT: 0x10 R_WASM_MEMORY_ADDR_I32 foo 0
+; CHECK-NEXT: 0x18 R_WASM_MEMORY_ADDR_I32 ptr2 0
+; CHECK-NEXT: 0x20 R_WASM_FUNCTION_OFFSET_I32 f2 0
; CHECK-NEXT: }
; CHECK-NEXT: Section (12) .debug_pubnames {
; CHECK-NEXT: 0x6 R_WASM_SECTION_OFFSET_I32 .debug_info 0
diff --git a/llvm/test/MC/WebAssembly/debug-info64.ll b/llvm/test/MC/WebAssembly/debug-info64.ll
index af5b57511fccc..47b33aac104c6 100644
--- a/llvm/test/MC/WebAssembly/debug-info64.ll
+++ b/llvm/test/MC/WebAssembly/debug-info64.ll
@@ -160,20 +160,20 @@
; CHECK-NEXT: 0x16 R_WASM_SECTION_OFFSET_I32 .debug_line 0
; CHECK-NEXT: 0x1A R_WASM_SECTION_OFFSET_I32 .debug_str 62
; CHECK-NEXT: 0x1E R_WASM_FUNCTION_OFFSET_I64 f2 0
-; CHECK-NEXT: 0x2B R_WASM_FUNCTION_OFFSET_I64 f2 0
-; CHECK-NEXT: 0x3A R_WASM_GLOBAL_INDEX_I32 __stack_pointer
-; CHECK-NEXT: 0x3F R_WASM_SECTION_OFFSET_I32 .debug_str 118
-; CHECK-NEXT: 0x46 R_WASM_SECTION_OFFSET_I32 .debug_str 105
-; CHECK-NEXT: 0x52 R_WASM_MEMORY_ADDR_I64 foo 0
-; CHECK-NEXT: 0x60 R_WASM_SECTION_OFFSET_I32 .debug_str 109
-; CHECK-NEXT: 0x67 R_WASM_SECTION_OFFSET_I32 .debug_str 113
-; CHECK-NEXT: 0x73 R_WASM_MEMORY_ADDR_I64 ptr2 0
+; CHECK-NEXT: 0x2B R_WASM_SECTION_OFFSET_I32 .debug_str 105
+; CHECK-NEXT: 0x37 R_WASM_MEMORY_ADDR_I64 foo 0
+; CHECK-NEXT: 0x45 R_WASM_SECTION_OFFSET_I32 .debug_str 109
+; CHECK-NEXT: 0x4C R_WASM_SECTION_OFFSET_I32 .debug_str 113
+; CHECK-NEXT: 0x58 R_WASM_MEMORY_ADDR_I64 ptr2 0
+; CHECK-NEXT: 0x67 R_WASM_FUNCTION_OFFSET_I64 f2 0
+; CHECK-NEXT: 0x76 R_WASM_GLOBAL_INDEX_I32 __stack_pointer
+; CHECK-NEXT: 0x7B R_WASM_SECTION_OFFSET_I32 .debug_str 118
; CHECK-NEXT: }
; CHECK-NEXT: Section (10) .debug_aranges {
; CHECK-NEXT: 0x6 R_WASM_SECTION_OFFSET_I32 .debug_info 0
-; CHECK-NEXT: 0x10 R_WASM_FUNCTION_OFFSET_I64 f2 0
-; CHECK-NEXT: 0x20 R_WASM_MEMORY_ADDR_I64 foo 0
-; CHECK-NEXT: 0x30 R_WASM_MEMORY_ADDR_I64 ptr2 0
+; CHECK-NEXT: 0x10 R_WASM_MEMORY_ADDR_I64 foo 0
+; CHECK-NEXT: 0x20 R_WASM_MEMORY_ADDR_I64 ptr2 0
+; CHECK-NEXT: 0x30 R_WASM_FUNCTION_OFFSET_I64 f2 0
; CHECK-NEXT: }
; CHECK-NEXT: Section (12) .debug_pubnames {
; CHECK-NEXT: 0x6 R_WASM_SECTION_OFFSET_I32 .debug_info 0
diff --git a/llvm/test/MC/WebAssembly/dwarfdump.ll b/llvm/test/MC/WebAssembly/dwarfdump.ll
index 8e11ce3f93eeb..cb2e3e613af9b 100644
--- a/llvm/test/MC/WebAssembly/dwarfdump.ll
+++ b/llvm/test/MC/WebAssembly/dwarfdump.ll
@@ -15,46 +15,46 @@
; CHECK-NEXT: DW_AT_low_pc (0x00000002)
; CHECK-NEXT: DW_AT_high_pc (0x00000004)
-; CHECK: 0x00000026: DW_TAG_subprogram
-; CHECK-NEXT: DW_AT_low_pc (0x00000002)
-; CHECK-NEXT: DW_AT_high_pc (0x00000004)
-; CHECK-NEXT: DW_AT_frame_base (DW_OP_WASM_location 0x3 0x0, DW_OP_stack_value)
-; CHECK-NEXT: DW_AT_name ("f2")
-; CHECK-NEXT: DW_AT_decl_file ("/usr/local/google/home/sbc/dev/wasm/simple{{[/\\]}}test.c")
-; CHECK-NEXT: DW_AT_decl_line (2)
-; CHECK-NEXT: DW_AT_prototyped (true)
-; CHECK-NEXT: DW_AT_external (true)
-
-; CHECK: 0x0000003d: DW_TAG_variable
+; CHECK: 0x00000026: DW_TAG_variable
; CHECK-NEXT: DW_AT_name ("foo")
-; CHECK-NEXT: DW_AT_type (0x0000004e "int *")
+; CHECK-NEXT: DW_AT_type (0x00000037 "int *")
; CHECK-NEXT: DW_AT_external (true)
; CHECK-NEXT: DW_AT_decl_file ("/usr/local/google/home/sbc/dev/wasm/simple{{[/\\]}}test.c")
; CHECK-NEXT: DW_AT_decl_line (4)
; CHECK-NEXT: DW_AT_location (DW_OP_addr 0x0)
-; CHECK: 0x0000004e: DW_TAG_pointer_type
-; CHECK-NEXT: DW_AT_type (0x00000053 "int")
+; CHECK: 0x00000037: DW_TAG_pointer_type
+; CHECK-NEXT: DW_AT_type (0x0000003c "int")
-; CHECK: 0x00000053: DW_TAG_base_type
+; CHECK: 0x0000003c: DW_TAG_base_type
; CHECK-NEXT: DW_AT_name ("int")
; CHECK-NEXT: DW_AT_encoding (DW_ATE_signed)
; CHECK-NEXT: DW_AT_byte_size (0x04)
-; CHECK: 0x0000005a: DW_TAG_variable
+; CHECK: 0x00000043: DW_TAG_variable
; CHECK-NEXT: DW_AT_name ("ptr2")
-; CHECK-NEXT: DW_AT_type (0x0000006b "void (*)()")
+; CHECK-NEXT: DW_AT_type (0x00000054 "void (*)()")
; CHECK-NEXT: DW_AT_external (true)
; CHECK-NEXT: DW_AT_decl_file ("/usr/local/google/home/sbc/dev/wasm/simple{{[/\\]}}test.c")
; CHECK-NEXT: DW_AT_decl_line (5)
; CHECK-NEXT: DW_AT_location (DW_OP_addr 0x4)
-; CHECK: 0x0000006b: DW_TAG_pointer_type
-; CHECK-NEXT: DW_AT_type (0x00000070 "void ()")
+; CHECK: 0x00000054: DW_TAG_pointer_type
+; CHECK-NEXT: DW_AT_type (0x00000059 "void ()")
-; CHECK: 0x00000070: DW_TAG_subroutine_type
+; CHECK: 0x00000059: DW_TAG_subroutine_type
; CHECK-NEXT: DW_AT_prototyped (true)
+; CHECK: 0x0000005a: DW_TAG_subprogram
+; CHECK-NEXT: DW_AT_low_pc (0x00000002)
+; CHECK-NEXT: DW_AT_high_pc (0x00000004)
+; CHECK-NEXT: DW_AT_frame_base (DW_OP_WASM_location 0x3 0x0, DW_OP_stack_value)
+; CHECK-NEXT: DW_AT_name ("f2")
+; CHECK-NEXT: DW_AT_decl_file ("/usr/local/google/home/sbc/dev/wasm/simple{{[/\\]}}test.c")
+; CHECK-NEXT: DW_AT_decl_line (2)
+; CHECK-NEXT: DW_AT_prototyped (true)
+; CHECK-NEXT: DW_AT_external (true)
+
; CHECK: 0x00000071: NULL
@@ -66,48 +66,48 @@
; SPLIT-NEXT: DW_AT_language (DW_LANG_C99)
; SPLIT-NEXT: DW_AT_name ("test.c")
; SPLIT-NEXT: DW_AT_GNU_dwo_name ("{{.*}}dwarfdump.ll.tmp.dwo")
-; SPLIT-NEXT: DW_AT_GNU_dwo_id (0x0642bb5dada25ca6)
+; SPLIT-NEXT: DW_AT_GNU_dwo_id (0xad3151f12153fa17)
-; SPLIT: 0x00000019: DW_TAG_subprogram
-; SPLIT-NEXT: DW_AT_low_pc (indexed (00000000) address = <unresolved>)
-; SPLIT-NEXT: DW_AT_high_pc (0x00000002)
-; SPLIT-NEXT: DW_AT_frame_base (DW_OP_WASM_location 0x3 0x0, DW_OP_stack_value)
-; SPLIT-NEXT: DW_AT_name ("f2")
-; SPLIT-NEXT: DW_AT_decl_file (0x01)
-; SPLIT-NEXT: DW_AT_decl_line (2)
-; SPLIT-NEXT: DW_AT_prototyped (true)
-; SPLIT-NEXT: DW_AT_external (true)
-
-; SPLIT: 0x0000002a: DW_TAG_variable
+; SPLIT: 0x00000019: DW_TAG_variable
; SPLIT-NEXT: DW_AT_name ("foo")
-; SPLIT-NEXT: DW_AT_type (0x00000035 "int *")
+; SPLIT-NEXT: DW_AT_type (0x00000024 "int *")
; SPLIT-NEXT: DW_AT_external (true)
; SPLIT-NEXT: DW_AT_decl_file (0x01)
; SPLIT-NEXT: DW_AT_decl_line (4)
-; SPLIT-NEXT: DW_AT_location (DW_OP_GNU_addr_index 0x1)
+; SPLIT-NEXT: DW_AT_location (DW_OP_GNU_addr_index 0x0)
-; SPLIT: 0x00000035: DW_TAG_pointer_type
-; SPLIT-NEXT: DW_AT_type (0x0000003a "int")
+; SPLIT: 0x00000024: DW_TAG_pointer_type
+; SPLIT-NEXT: DW_AT_type (0x00000029 "int")
-; SPLIT: 0x0000003a: DW_TAG_base_type
+; SPLIT: 0x00000029: DW_TAG_base_type
; SPLIT-NEXT: DW_AT_name ("int")
; SPLIT-NEXT: DW_AT_encoding (DW_ATE_signed)
; SPLIT-NEXT: DW_AT_byte_size (0x04)
-; SPLIT: 0x0000003e: DW_TAG_variable
+; SPLIT: 0x0000002d: DW_TAG_variable
; SPLIT-NEXT: DW_AT_name ("ptr2")
-; SPLIT-NEXT: DW_AT_type (0x00000049 "void (*)()")
+; SPLIT-NEXT: DW_AT_type (0x00000038 "void (*)()")
; SPLIT-NEXT: DW_AT_external (true)
; SPLIT-NEXT: DW_AT_decl_file (0x01)
; SPLIT-NEXT: DW_AT_decl_line (5)
-; SPLIT-NEXT: DW_AT_location (DW_OP_GNU_addr_index 0x2)
+; SPLIT-NEXT: DW_AT_location (DW_OP_GNU_addr_index 0x1)
-; SPLIT: 0x00000049: DW_TAG_pointer_type
-; SPLIT-NEXT: DW_AT_type (0x0000004e "void ()")
+; SPLIT: 0x00000038: DW_TAG_pointer_type
+; SPLIT-NEXT: DW_AT_type (0x0000003d "void ()")
-; SPLIT: 0x0000004e: DW_TAG_subroutine_type
+; SPLIT: 0x0000003d: DW_TAG_subroutine_type
; SPLIT-NEXT: DW_AT_prototyped (true)
+; SPLIT: 0x0000003e: DW_TAG_subprogram
+; SPLIT-NEXT: DW_AT_low_pc (indexed (00000002) address = <unresolved>)
+; SPLIT-NEXT: DW_AT_high_pc (0x00000002)
+; SPLIT-NEXT: DW_AT_frame_base (DW_OP_WASM_location 0x3 0x0, DW_OP_stack_value)
+; SPLIT-NEXT: DW_AT_name ("f2")
+; SPLIT-NEXT: DW_AT_decl_file (0x01)
+; SPLIT-NEXT: DW_AT_decl_line (2)
+; SPLIT-NEXT: DW_AT_prototyped (true)
+; SPLIT-NEXT: DW_AT_external (true)
+
; SPLIT: 0x0000004f: NULL
diff --git a/llvm/test/MC/WebAssembly/dwarfdump64.ll b/llvm/test/MC/WebAssembly/dwarfdump64.ll
index 199e1f55931fb..603f610c4dff7 100644
--- a/llvm/test/MC/WebAssembly/dwarfdump64.ll
+++ b/llvm/test/MC/WebAssembly/dwarfdump64.ll
@@ -14,46 +14,46 @@
; CHECK-NEXT: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000002)
; CHECK-NEXT: DW_AT_high_pc [DW_FORM_data4] (0x00000002)
-; CHECK: 0x0000002a: DW_TAG_subprogram
-; CHECK-NEXT: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000002)
-; CHECK-NEXT: DW_AT_high_pc [DW_FORM_data4] (0x00000002)
-; CHECK-NEXT: DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x3 0x0, DW_OP_stack_value)
-; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ("f2")
-; CHECK-NEXT: DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/sbc/dev/wasm/simple{{[/\\]}}test.c")
-; CHECK-NEXT: DW_AT_decl_line [DW_FORM_data1] (2)
-; CHECK-NEXT: DW_AT_prototyped [DW_FORM_flag_present] (true)
-; CHECK-NEXT: DW_AT_external [DW_FORM_flag_present] (true)
-
-; CHECK: 0x00000045: DW_TAG_variable
+; CHECK: 0x0000002a: DW_TAG_variable
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ("foo")
-; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (0x0000005a "int *")
+; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (0x0000003f "int *")
; CHECK-NEXT: DW_AT_external [DW_FORM_flag_present] (true)
; CHECK-NEXT: DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/sbc/dev/wasm/simple{{[/\\]}}test.c")
; CHECK-NEXT: DW_AT_decl_line [DW_FORM_data1] (4)
; CHECK-NEXT: DW_AT_location [DW_FORM_exprloc] (DW_OP_addr 0x0)
-; CHECK: 0x0000005a: DW_TAG_pointer_type
-; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (0x0000005f "int")
+; CHECK: 0x0000003f: DW_TAG_pointer_type
+; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (0x00000044 "int")
-; CHECK: 0x0000005f: DW_TAG_base_type
+; CHECK: 0x00000044: DW_TAG_base_type
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ("int")
; CHECK-NEXT: DW_AT_encoding [DW_FORM_data1] (DW_ATE_signed)
; CHECK-NEXT: DW_AT_byte_size [DW_FORM_data1] (0x04)
-; CHECK: 0x00000066: DW_TAG_variable
+; CHECK: 0x0000004b: DW_TAG_variable
; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ("ptr2")
-; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (0x0000007b "void (*)()")
+; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (0x00000060 "void (*)()")
; CHECK-NEXT: DW_AT_external [DW_FORM_flag_present] (true)
; CHECK-NEXT: DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/sbc/dev/wasm/simple{{[/\\]}}test.c")
; CHECK-NEXT: DW_AT_decl_line [DW_FORM_data1] (5)
; CHECK-NEXT: DW_AT_location [DW_FORM_exprloc] (DW_OP_addr 0x8)
-; CHECK: 0x0000007b: DW_TAG_pointer_type
-; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (0x00000080 "void ()")
+; CHECK: 0x00000060: DW_TAG_pointer_type
+; CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (0x00000065 "void ()")
-; CHECK: 0x00000080: DW_TAG_subroutine_type
+; CHECK: 0x00000065: DW_TAG_subroutine_type
; CHECK-NEXT: DW_AT_prototyped [DW_FORM_flag_present] (true)
+; CHECK: 0x00000066: DW_TAG_subprogram
+; CHECK-NEXT: DW_AT_low_pc [DW_FORM_addr] (0x0000000000000002)
+; CHECK-NEXT: DW_AT_high_pc [DW_FORM_data4] (0x00000002)
+; CHECK-NEXT: DW_AT_frame_base [DW_FORM_exprloc] (DW_OP_WASM_location 0x3 0x0, DW_OP_stack_value)
+; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ("f2")
+; CHECK-NEXT: DW_AT_decl_file [DW_FORM_data1] ("/usr/local/google/home/sbc/dev/wasm/simple{{[/\\]}}test.c")
+; CHECK-NEXT: DW_AT_decl_line [DW_FORM_data1] (2)
+; CHECK-NEXT: DW_AT_prototyped [DW_FORM_flag_present] (true)
+; CHECK-NEXT: DW_AT_external [DW_FORM_flag_present] (true)
+
; CHECK: 0x00000081: NULL
target triple = "wasm64-unknown-unknown"
More information about the llvm-commits
mailing list