[llvm] 0ac75e8 - Reland [DwarfDebug] Move emission of global vars, types and imports to endModule()

Kristina Bessonova via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 5 03:57:11 PST 2021


Author: Kristina Bessonova
Date: 2021-12-05T13:56:45+02:00
New Revision: 0ac75e82fff93a80ca401d3db3541e8d1d9098f9

URL: https://github.com/llvm/llvm-project/commit/0ac75e82fff93a80ca401d3db3541e8d1d9098f9
DIFF: https://github.com/llvm/llvm-project/commit/0ac75e82fff93a80ca401d3db3541e8d1d9098f9.diff

LOG: Reland [DwarfDebug] Move emission of global vars, types and imports to endModule()

This patch proposes to move emission of global variables, types,
imported entities, etc from DwarfDebug::beginModule() to DwarfDebug::endModule().
Effectively, this changes nothing but the order of debug entities which
will be as follows:
* subprograms (including related context, local variables/labels,
  local imported entities; related types can be created as a part of
  the emission of local entities of an abstract subprogram);
* global variables (including related context and types);
* retained types and enums;
* non-local-scoped imported entities;
* basic types;
* other types left (as a part of local variables attributes emission).

Note that the order of emitted compile units may also be changed as now we emit
units that contain subprograms first and then all other non-empty units.

The motivation behind this change is the following:
(1) DwarfDebug::beginModule() is run at the very beginning of backend's pipeline,
    from this time IR can be significantly changed by target-specific passes.
    If it happens for debug metadata of global entities, those changes will not
    be reflected in the emitted DWARF.
(2) imported subprogram names should refer to an abstract subprogram if it exists,
    but it isn't known in DwarfDebug::beginModule() (it's possible to make some
    guesses based on location info, but it's not quite reliable);
(3) aforementioned entities if they are scoped within a bracketed block
    (subject of D113741) couldn't be emitted in DwarfDebug::beginModule()
    (they need parent emitted first). Another problem is if to try to gather
    some information about local entities and defer their emission
    (till subprogram's processing or DwarfDebug::endModule()) all the gathered
    details might be irrelevant / invalid by the time the entities are being
    emitted (because of (1)).

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D114705

Added: 
    

Modified: 
    lld/test/wasm/debuginfo.test
    llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    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/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: 
    


################################################################################
diff  --git a/lld/test/wasm/debuginfo.test b/lld/test/wasm/debuginfo.test
index 9cb1cc31e515a..35de693e9ea73 100644
--- a/lld/test/wasm/debuginfo.test
+++ b/lld/test/wasm/debuginfo.test
@@ -44,9 +44,23 @@ 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	(0x000000ac "int[2]")
+CHECK-NEXT:                DW_AT_type	(0x000000d4 "int[2]")
 CHECK-NEXT:                DW_AT_external	(true)
 CHECK-NEXT:                DW_AT_decl_file	("{{.*}}hi_foo.c")
 CHECK-NEXT:                DW_AT_decl_line	(1)
@@ -68,23 +82,9 @@ CHECK-NEXT:                DW_AT_encoding	(DW_ATE_unsigned)
 
 CHECK:   DW_TAG_variable
 CHECK-NEXT:                DW_AT_name	("z")
-CHECK-NEXT:                DW_AT_type	(0x000000ac "int[2]")
+CHECK-NEXT:                DW_AT_type	(0x000000d4 "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/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 047676d4c11ef..1943df0422e81 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -1114,33 +1114,6 @@ void DwarfDebug::constructAndAddImportedEntityDIE(DwarfCompileUnit &TheCU,
     D->addChild(TheCU.constructImportedEntityDIE(N));
 }
 
-/// 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
 // global DIEs and emit initial debug info sections. This is invoked by
 // the target AsmPrinter.
@@ -1156,14 +1129,6 @@ 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
@@ -1189,58 +1154,6 @@ 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() {
@@ -1405,6 +1318,33 @@ 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.
@@ -1414,9 +1354,68 @@ void DwarfDebug::endModule() {
   assert(CurFn == nullptr);
   assert(CurMI == nullptr);
 
-  for (const auto &P : CUMap) {
-    auto &CU = *P.second;
-    CU.createBaseTypeDIEs();
+  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())
+      constructAndAddImportedEntityDIE(*CU, IE);
+
+    CU->createBaseTypeDIEs();
   }
 
   // If we aren't actually generating debug info (check beginModule -

diff  --git a/llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll b/llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
index 31f3da7430546..92dccdb771944 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
+; CHECK: DW_TAG_variable [6]
 ; 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
+; CHECK: DW_TAG_variable [6]
 ; 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 ac229419a10f7..d913a16eb93a5 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
+; CHECK: DW_TAG_variable [6]
 ; 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
+; CHECK: DW_TAG_variable [6]
 ; 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 365dd9dfea78b..b2fabbd3c3810 100644
--- a/llvm/test/DebugInfo/AMDGPU/variable-locations.ll
+++ b/llvm/test/DebugInfo/AMDGPU/variable-locations.ll
@@ -13,22 +13,7 @@
 
 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
@@ -78,12 +63,28 @@ 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 3bf8e27623e76..283dd54110073 100644
--- a/llvm/test/DebugInfo/BPF/extern-void.ll
+++ b/llvm/test/DebugInfo/BPF/extern-void.ll
@@ -36,9 +36,8 @@ 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 2b6369e005213..6e36aded9e190 100644
--- a/llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
+++ b/llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
@@ -27,13 +27,15 @@
 ; The DISubprogram should show up in compile unit a.
 ; 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_TAG_subprogram
+; CHECK-NOT: DW_TAG
+; CHECK:     DW_AT_name ("func")
 
 ; CHECK: DW_TAG_compile_unit
 ; CHECK-NOT: DW_TAG
-; CHECK:     DW_AT_name ("a.cpp")
-; CHECK:     DW_AT_name ("func")
+; CHECK:    DW_AT_name ("b.cpp")
+; CHECK-NOT: DW_TAG_subprogram
 
 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 07e420ce47d5e..b7e7247b91b58 100644
--- a/llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll
+++ b/llvm/test/DebugInfo/Generic/debug-info-qualifiers.ll
@@ -18,6 +18,10 @@
 ; 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 7b749f8c7f4d5..9ea8c724bfc02 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 786ee28f54acb..d40866c091a39 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: 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_TAG_compile_unit
 ; CHECK: DW_TAG_subprogram

diff  --git a/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll b/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll
index df78a937ed128..2d708b5cb21a9 100644
--- a/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll
+++ b/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc.ll
@@ -34,6 +34,9 @@
 ;   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/namespace.ll b/llvm/test/DebugInfo/Generic/namespace.ll
index 2c635ee5731a6..6998e69b33d97 100644
--- a/llvm/test/DebugInfo/Generic/namespace.ll
+++ b/llvm/test/DebugInfo/Generic/namespace.ll
@@ -13,17 +13,6 @@
 ; CHECK-NOT: DW_AT_decl_file
 ; CHECK-NOT: DW_AT_decl_line
 
-; CHECK: [[I:0x[0-9a-f]*]]:{{ *}}DW_TAG_variable
-; CHECK:   DW_AT_name ("i")
-; CHECK: [[VAR_FWD:0x[0-9a-f]*]]:{{ *}}DW_TAG_variable
-; CHECK:   DW_AT_name ("var_fwd")
-
-; CHECK: [[FOO:0x[0-9a-f]*]]:{{ *}}DW_TAG_structure_type
-; CHECK:   DW_AT_name ("foo")
-; CHECK:   DW_AT_declaration
-; 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")
@@ -33,6 +22,15 @@
 ; CHECK:   DW_TAG_formal_parameter
 ; CHECK:   NULL
 
+; CHECK: [[FOO:0x[0-9a-f]*]]:{{ *}}DW_TAG_structure_type
+; CHECK:   DW_AT_name ("foo")
+; CHECK:   DW_AT_declaration
+; CHECK: [[BAR:0x[0-9a-f]*]]:{{ *}}DW_TAG_structure_type
+; CHECK:   DW_AT_name ("bar")
+
+; CHECK: [[I:0x[0-9a-f]*]]:{{ *}}DW_TAG_variable
+; CHECK:   DW_AT_name ("i")
+
 ; CHECK: [[BAZ:0x[0-9a-f]*]]:{{.*}}DW_TAG_typedef
 ; CHECK:   DW_AT_name ("baz")
 
@@ -44,6 +42,9 @@
 ; CHECK:   DW_AT_name ("func_decl")
 ; CHECK:   DW_AT_declaration
 
+; CHECK: [[VAR_FWD:0x[0-9a-f]*]]:{{ *}}DW_TAG_variable
+; CHECK:   DW_AT_name ("var_fwd")
+
 ; CHECK: [[FUNC_FWD:0x[0-9a-f]*]]:{{.*}}DW_TAG_subprogram
 ; CHECK:   DW_AT_name ("func_fwd")
 ; CHECK-NOT: DW_AT_declaration
@@ -56,13 +57,6 @@
 ; 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
@@ -126,7 +120,13 @@
 ; CHECK:     NULL
 ; CHECK:   NULL
 
+; CHECK: DW_TAG_base_type
 ; CHECK: DW_TAG_subprogram
+; 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
 

diff  --git a/llvm/test/DebugInfo/Generic/varargs.ll b/llvm/test/DebugInfo/Generic/varargs.ll
index 81b5091afd427..99acaff776715 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 ("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
 ;
 ; 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
 ;

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 98ec9dc8fa417..261da42a88d03 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 [14]
+# CHECK:       DW_TAG_formal_parameter [13]
 # 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 73ec34787ad64..d2b7a31ec9f60 100644
--- a/llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
+++ b/llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
@@ -105,36 +105,6 @@ 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 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 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 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 4                                   // Abbreviation Code
 ; CHECK-NEXT:.b8 46                                  // DW_TAG_subprogram
 ; CHECK-NEXT:.b8 1                                   // DW_CHILDREN_yes
 ; CHECK-NEXT:.b8 17                                  // DW_AT_low_pc
@@ -156,7 +126,7 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata)
 ; 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 3                                   // Abbreviation Code
 ; CHECK-NEXT:.b8 5                                   // DW_TAG_formal_parameter
 ; CHECK-NEXT:.b8 0                                   // DW_CHILDREN_no
 ; CHECK-NEXT:.b8 3                                   // DW_AT_name
@@ -169,6 +139,36 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata)
 ; 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 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 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 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 6                                   // Abbreviation Code
 ; CHECK-NEXT:.b8 15                                  // DW_TAG_pointer_type
 ; CHECK-NEXT:.b8 0                                   // DW_CHILDREN_no
@@ -258,46 +258,7 @@ 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: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:.b8 2                                   // Abbrev [2] 0x65: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
@@ -315,32 +276,71 @@ 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 5                                   // Abbrev [5] 0xc0:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 3                                   // Abbrev [3] 0x85: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 5                                   // Abbrev [5] 0xc9:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 3                                   // Abbrev [3] 0x8e: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 5                                   // Abbrev [5] 0xd2:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 3                                   // Abbrev [3] 0x97: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 5                                   // Abbrev [5] 0xdb:0x9 DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 3                                   // Abbrev [3] 0xa0: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 127                                // DW_AT_type
+; CHECK-NEXT:.b32 196                                // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 3                                   // Abbrev [3] 0xe5:0x9 DW_TAG_base_type
+; 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 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 2edd807a8d823..7329e92337ecd 100644
--- a/llvm/test/DebugInfo/NVPTX/debug-info.ll
+++ b/llvm/test/DebugInfo/NVPTX/debug-info.ll
@@ -127,35 +127,39 @@ 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 57                                  // DW_TAG_namespace
+; 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 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 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 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 4                                   // Abbreviation Code
-; CHECK-NEXT:.b8 8                                   // DW_TAG_imported_declaration
+; CHECK-NEXT:.b8 3                                   // 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 59                                  // DW_AT_decl_line
-; CHECK-NEXT:.b8 5                                   // DW_FORM_data2
-; CHECK-NEXT:.b8 24                                  // DW_AT_import
+; 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 5                                   // Abbreviation Code
+; CHECK-NEXT:.b8 4                                   // 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
@@ -171,43 +175,69 @@ 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 6                                   // Abbreviation Code
+; CHECK-NEXT:.b8 5                                   // 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 7                                   // Abbreviation Code
-; CHECK-NEXT:.b8 36                                  // DW_TAG_base_type
-; CHECK-NEXT:.b8 0                                   // DW_CHILDREN_no
+; CHECK-NEXT:.b8 6                                   // 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 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 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 8                                   // Abbreviation Code
-; CHECK-NEXT:.b8 15                                  // DW_TAG_pointer_type
+; CHECK-NEXT:.b8 7                                   // 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 0                                   // EOM(1)
 ; CHECK-NEXT:.b8 0                                   // EOM(2)
-; 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 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 0                                   // EOM(1)
 ; CHECK-NEXT:.b8 0                                   // EOM(2)
-; CHECK-NEXT:.b8 10                                  // Abbreviation Code
+; CHECK-NEXT:.b8 9                                   // 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
@@ -220,40 +250,80 @@ 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 22                                  // DW_TAG_typedef
+; CHECK-NEXT:.b8 13                                  // DW_TAG_member
 ; 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 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 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 19                                  // DW_TAG_structure_type
+; CHECK-NEXT:.b8 15                                  // DW_TAG_pointer_type
 ; CHECK-NEXT:.b8 0                                   // DW_CHILDREN_no
-; CHECK-NEXT:.b8 60                                  // DW_AT_declaration
-; CHECK-NEXT:.b8 12                                  // DW_FORM_flag
+; 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 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 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 14                                  // Abbreviation Code
+; CHECK-NEXT:.b8 17                                  // Abbreviation Code
 ; CHECK-NEXT:.b8 13                                  // DW_TAG_member
 ; CHECK-NEXT:.b8 0                                   // DW_CHILDREN_no
 ; CHECK-NEXT:.b8 3                                   // DW_AT_name
@@ -263,14 +333,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 11                                  // DW_FORM_data1
+; CHECK-NEXT:.b8 5                                   // DW_FORM_data2
 ; 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 15                                  // Abbreviation Code
+; CHECK-NEXT:.b8 18                                  // Abbreviation Code
 ; CHECK-NEXT:.b8 46                                  // DW_TAG_subprogram
-; CHECK-NEXT:.b8 0                                   // DW_CHILDREN_no
+; 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
@@ -281,14 +351,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 16                                  // Abbreviation Code
+; CHECK-NEXT:.b8 19                                  // 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
@@ -303,21 +373,6 @@ 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
@@ -332,65 +387,45 @@ 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 3                                   // DW_AT_name
+; CHECK-NEXT:.b8 135                                 // DW_AT_MIPS_linkage_name
+; CHECK-NEXT:.b8 64
 ; 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 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 11                                  // DW_FORM_data1
 ; CHECK-NEXT:.b8 63                                  // DW_AT_external
 ; 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 24                                  // Abbreviation Code
-; CHECK-NEXT:.b8 46                                  // DW_TAG_subprogram
+; CHECK-NEXT:.b8 22                                  // 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 25                                  // Abbreviation Code
+; CHECK-NEXT:.b8 23                                  // 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
@@ -400,89 +435,91 @@ 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 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 24                                  // 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 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 0                                   // EOM(1)
 ; CHECK-NEXT:.b8 0                                   // EOM(2)
-; 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 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 11                                  // DW_FORM_data1
-; CHECK-NEXT:.b8 58                                  // DW_AT_decl_file
+; CHECK-NEXT:.b8 89                                  // DW_AT_call_line
 ; CHECK-NEXT:.b8 11                                  // DW_FORM_data1
-; CHECK-NEXT:.b8 59                                  // DW_AT_decl_line
+; 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 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 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 59                                  // DW_AT_decl_line
+; 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 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 29                                  // Abbreviation Code
+; CHECK-NEXT:.b8 27                                  // 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 49                                  // DW_AT_abstract_origin
 ; 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 30                                  // Abbreviation Code
-; CHECK-NEXT:.b8 46                                  // DW_TAG_subprogram
+; CHECK-NEXT:.b8 28                                  // Abbreviation Code
+; 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 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 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 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 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
@@ -497,20 +534,15 @@ 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
@@ -523,60 +555,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 16                                  // DW_TAG_reference_type
+; CHECK-NEXT:.b8 22                                  // DW_TAG_typedef
 ; 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 46                                  // DW_TAG_subprogram
+; CHECK-NEXT:.b8 19                                  // DW_TAG_structure_type
 ; 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 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 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 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 36                                  // Abbreviation Code
-; CHECK-NEXT:.b8 13                                  // DW_TAG_member
+; 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 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 56                                  // DW_AT_data_member_location
-; CHECK-NEXT:.b8 10                                  // DW_FORM_block1
+; 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 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
@@ -592,45 +624,65 @@ 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 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 11                                  // DW_FORM_data1
+; 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 39                                  // Abbreviation Code
-; CHECK-NEXT:.b8 5                                   // DW_TAG_formal_parameter
+; CHECK-NEXT:.b8 43                                  // 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 40                                  // Abbreviation Code
+; CHECK-NEXT:.b8 44                                  // 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
@@ -639,63 +691,11 @@ 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 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 5                                   // DW_FORM_data2
 ; 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 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 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)
@@ -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:0x588 DW_TAG_namespace
-; CHECK-NEXT:.b8 115                                 // DW_AT_name
+; 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 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 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:.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 5                                   // Abbrev [5] 0x5c9:0x1b DW_TAG_subprogram
+; 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 76
-; CHECK-NEXT:.b8 51
+; 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 115
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97                                  // DW_AT_name
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 0
-; 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 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 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 103
-; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 116
 ; 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] 0x5f5: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 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; 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 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 95
+; CHECK-NEXT:.b8 98
 ; 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 5                                   // Abbrev [5] 0x61b: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 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 104
+; 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 97                                  // DW_AT_name
+; 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 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 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
 ; 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 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 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 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 76
-; CHECK-NEXT:.b8 53
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 95                                  // DW_AT_name
+; CHECK-NEXT:.b8 95
 ; 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 104
-; CHECK-NEXT:.b8 0
-; 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 101
 ; 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 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 105
 ; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 120
 ; CHECK-NEXT:.b8 0
-; 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 2                                   // 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 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 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 76
-; CHECK-NEXT:.b8 53
-; 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 0
-; CHECK-NEXT:.b8 97                                  // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 78
 ; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 0
-; 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 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 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 105
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 0
-; 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 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 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 95
 ; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 114
+; 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 99                                  // DW_AT_name
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
 ; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 0
-; 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 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 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 101
+; 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 102
+; 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 99                                  // 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 104
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
 ; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 0
-; 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 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 5                                   // Abbrev [5] 0x711: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 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 116
 ; 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 95
 ; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 110
 ; 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 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 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 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 76
-; CHECK-NEXT:.b8 51
+; 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 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 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 104
-; 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 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 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101                                 // DW_AT_name
-; CHECK-NEXT:.b8 114
+; 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 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 116
 ; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 102
+; 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 101                                 // 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 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 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 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 76                                  // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 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 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 78
+; CHECK-NEXT:.b8 75
 ; CHECK-NEXT:.b8 50
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 101                                 // DW_AT_name
+; 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 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 95
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 118
 ; 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 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 101                                 // DW_AT_name
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 111                                 // DW_AT_name
 ; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 49
+; 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 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 78                                  // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 6                                   // Abbrev [6] 0x7fd:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 5                                   // Abbrev [5] 0x803: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 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 115
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 97
+; 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 115
+; 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_decl_file
-; CHECK-NEXT:.b8 80                                  // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 6                                   // Abbrev [6] 0x81a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // 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 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 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 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 109
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
+; 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_decl_file
-; CHECK-NEXT:.b8 82                                  // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 5                                   // Abbrev [5] 0x843:0x1f DW_TAG_subprogram
+; CHECK-NEXT:.b8 8                                   // Abbrev [8] 0x1e8: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 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 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 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 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 0
-; 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 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 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 102
-; CHECK-NEXT:.b8 109
+; 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 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; 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 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 109
+; 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 0
-; 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 2                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 85                                  // DW_AT_decl_line
 ; 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 5                                   // Abbrev [5] 0x889:0x23 DW_TAG_subprogram
+; 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 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 109
+; 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 102
-; CHECK-NEXT:.b8 102
+; 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 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 109
+; 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 120
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 38
 ; CHECK-NEXT:.b8 0
-; 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 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 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 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 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 109
+; 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 102
-; CHECK-NEXT:.b8 102
+; 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 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 109
+; 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 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 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 76
-; CHECK-NEXT:.b8 52
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; 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:.b8 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
+; 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 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 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 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 48
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 112
+; 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 108
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 117
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 102
-; 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 115
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 0
-; 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 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 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 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 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 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 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 114
 ; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
+; 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 102                                 // 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 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 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 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 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 1                                   // DW_AT_external
+; CHECK-NEXT:.b8 3                                   // Abbrev [3] 0x336: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 104
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 112
+; 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 0
-; CHECK-NEXT:.b8 104                                 // DW_AT_name
+; 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 112
-; CHECK-NEXT:.b8 111
+; 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 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 98                                  // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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_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 1                                   // DW_AT_external
+; CHECK-NEXT:.b8 3                                   // Abbrev [3] 0x385: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 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 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 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 99
+; CHECK-NEXT:.b8 107
+; CHECK-NEXT:.b8 68
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 115
+; 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 110
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 108
 ; 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 105
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 0
-; 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 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 95
+; CHECK-NEXT:.b8 122
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 118
 ; 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 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 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 95                                  // DW_AT_name
+; CHECK-NEXT:.b8 95
 ; 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 101
-; CHECK-NEXT:.b8 114
+; 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 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 106                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2487                               // DW_AT_type
+; 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_declaration
-; 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 5                                   // Abbrev [5] 0x9ec:0x38 DW_TAG_subprogram
+; CHECK-NEXT:.b8 1                                   // DW_AT_external
+; CHECK-NEXT:.b8 4                                   // Abbrev [4] 0x3d4:0x47 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 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 113
+; 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 102
-; CHECK-NEXT:.b8 102
+; 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 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 0
-; CHECK-NEXT:.b8 105                                 // DW_AT_name
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 114
+; 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 101
+; CHECK-NEXT:.b8 111
 ; 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 32
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 51
 ; CHECK-NEXT:.b8 0
-; 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 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_declaration
-; 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 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 0                                   // End Of Children Mark
-; 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 6                                   // Abbrev [6] 0x41b: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 115
+; 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 0
-; CHECK-NEXT:.b8 105                                 // DW_AT_name
-; CHECK-NEXT:.b8 115
+; 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 110
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
 ; 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 2                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 96                                  // DW_AT_decl_line
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0xa3d:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // 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 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 0                                   // End Of Children Mark
-; 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 76
-; CHECK-NEXT:.b8 54
+; 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 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 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 116
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 98
 ; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 115
+; 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_decl_file
-; CHECK-NEXT:.b8 112                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2487                               // DW_AT_type
+; CHECK-NEXT:.b8 2                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 96                                  // DW_AT_decl_line
 ; 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 5                                   // Abbrev [5] 0xa6a:0x32 DW_TAG_subprogram
+; CHECK-NEXT:.b8 8                                   // Abbrev [8] 0x46e:0x43 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 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 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105                                 // DW_AT_name
-; CHECK-NEXT:.b8 115
+; 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 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 115
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 114
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 61
 ; CHECK-NEXT:.b8 0
-; 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 2                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 96                                  // DW_AT_decl_line
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 5                                   // Abbrev [5] 0xa9c:0x36 DW_TAG_subprogram
+; CHECK-NEXT:.b8 9                                   // Abbrev [9] 0x4b1:0x3f 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 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 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 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 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 0
+; CHECK-NEXT:.b8 111                                 // DW_AT_name
+; CHECK-NEXT:.b8 112
 ; 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 101
+; CHECK-NEXT:.b8 111
 ; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 38
 ; CHECK-NEXT:.b8 0
-; 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 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_declaration
-; 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 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 5                                   // Abbrev [5] 0xad2: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 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 115
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 51
 ; CHECK-NEXT:.b8 0
-; 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 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:.b8 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 116                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2487                               // DW_AT_type
+; 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 105
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 51
+; 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 6                                   // Abbrev [6] 0xaeb:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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_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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 5                                   // Abbrev [5] 0xaf1:0x25 DW_TAG_subprogram
+; CHECK-NEXT:.b8 19                                  // Abbrev [19] 0x55a:0x33 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 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 115
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 111
+; 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 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 116
 ; CHECK-NEXT:.b8 111
 ; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
+; 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 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 118                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2487                               // DW_AT_type
+; 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_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0xb10:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 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 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 116
+; CHECK-NEXT:.b8 51
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 105                                 // DW_AT_name
-; CHECK-NEXT:.b8 115
+; 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 110
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
 ; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 101
+; 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 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
-; 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 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 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 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 115
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 108
-; 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 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
-; 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 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 116
 ; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
 ; 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 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 112
+; 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 108                                 // DW_AT_name
-; CHECK-NEXT:.b8 100
+; 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 112
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 123                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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_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 1                                   // DW_AT_external
+; CHECK-NEXT:.b8 3                                   // Abbrev [3] 0x62f:0x50 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 54
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 103
+; 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 109
-; CHECK-NEXT:.b8 109
+; 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 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 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 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 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 125                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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_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 1                                   // DW_AT_external
+; CHECK-NEXT:.b8 3                                   // Abbrev [3] 0x67f: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 108
+; 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 115
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; 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 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 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 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 126                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 1508                               // DW_AT_type
+; 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 69                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 619                                // 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 1                                   // DW_AT_external
+; CHECK-NEXT:.b8 4                                   // Abbrev [4] 0x6cf:0x4a 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 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 108
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 95
 ; 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 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 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 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 69
+; CHECK-NEXT:.b8 118
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 130                                 // DW_AT_decl_line
-; 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 111                                 // DW_AT_name
 ; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 112
+; 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 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 132                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0xc4a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 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 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 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 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 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 134                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 2                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 74                                  // DW_AT_decl_line
 ; 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 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 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 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 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 136                                 // DW_AT_decl_line
-; 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 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 116
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; 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 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 140                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2917                               // DW_AT_type
+; CHECK-NEXT:.b8 2                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 74                                  // DW_AT_decl_line
 ; 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 5                                   // Abbrev [5] 0xca9:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 8                                   // Abbrev [8] 0x76e:0x44 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 54
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
+; 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 102
+; 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 108                                 // DW_AT_name
+; 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 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 61
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 142                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 2917                               // DW_AT_type
+; CHECK-NEXT:.b8 2                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 74                                  // DW_AT_decl_line
 ; 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 5                                   // Abbrev [5] 0xcca:0x23 DW_TAG_subprogram
+; CHECK-NEXT:.b8 9                                   // Abbrev [9] 0x7b2: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 108
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
+; 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 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 97
+; CHECK-NEXT:.b8 100
+; 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 117
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 38
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 143                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 1508                               // DW_AT_type
+; 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_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0xce7:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 5                                   // Abbrev [5] 0xced:0x24 DW_TAG_subprogram
+; 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 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 51
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 115
 ; 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 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 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 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 110                                 // DW_AT_name
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
+; 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 146                                 // DW_AT_decl_line
-; 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 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 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 115
 ; 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 3                                   // DW_AT_decl_line
+; CHECK-NEXT:.b32 2125                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; 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 57
-; 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 0
-; 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 121
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; 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 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 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 5                                   // Abbrev [5] 0xd95:0x2d DW_TAG_subprogram
+; 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 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 53
+; CHECK-NEXT:.b8 115
 ; 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 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; 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 110                                 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 115                                 // DW_AT_name
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
+; 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 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 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 0
-; CHECK-NEXT:.b8 112                                 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 119
+; 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 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 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 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 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 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 116
+; CHECK-NEXT:.b8 100
+; 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 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:.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:.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:.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:.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:.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:.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:.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:.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 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 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:.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 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 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 1                                   // DW_AT_decl_file
+; 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 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 53
-; 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 114                                 // DW_AT_name
-; 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:.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:.b32 1554                               // DW_AT_type
-; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 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 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 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:.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 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 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 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
+; 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:.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 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 1                                   // DW_AT_decl_file
+; 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:.b32 2487                               // DW_AT_type
-; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 51
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; 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 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
+; 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:.b32 1554                               // DW_AT_type
-; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 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 115                                 // DW_AT_name
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
+; 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:.b32 1554                               // DW_AT_type
-; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 115
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
-; 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 0
-; CHECK-NEXT:.b8 1                                   // DW_AT_decl_file
+; 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:.b32 1554                               // DW_AT_type
-; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0xf3c:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 5                                   // Abbrev [5] 0xf42:0x1b DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0xe99: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 98
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 120
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 116                                 // DW_AT_name
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 97                                  // DW_AT_name
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
 ; CHECK-NEXT:.b8 0
-; 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 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_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0xf57:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0xeae:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3764                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; 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 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 116                                 // DW_AT_name
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 10                                  // Abbrev [10] 0xeb4:0x11 DW_TAG_base_type
+; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 111
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 0
-; 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 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 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 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 116                                 // DW_AT_name
+; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 32
+; 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 181                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
-; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 5                                   // Abbrev [5] 0xf9b:0x1f DW_TAG_subprogram
+; 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 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 52
+; CHECK-NEXT:.b8 97
 ; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
 ; 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 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 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 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 115
 ; CHECK-NEXT:.b8 0
-; 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 110
-; CHECK-NEXT:.b8 0
-; 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 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 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 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_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 7                                   // Abbrev [7] 0xedc: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] 0xff6:0x1a DW_TAG_subprogram
-; CHECK-NEXT:.b8 97                                  // DW_AT_name
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0xee2: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 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 101
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 0
-; 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 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 10                                  // Abbrev [10] 0x1024:0x13 DW_TAG_subprogram
-; CHECK-NEXT:.b8 99                                  // DW_AT_name
+; CHECK-NEXT:.b8 99
 ; 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 97                                  // DW_AT_name
+; CHECK-NEXT:.b8 99
 ; CHECK-NEXT:.b8 111
 ; CHECK-NEXT:.b8 115
 ; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 0
-; 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 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 10                                  // Abbrev [10] 0x104b: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 2                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 100                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 3379                               // DW_AT_type
+; 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_declaration
-; 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 7                                   // Abbrev [7] 0xefb: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] 0x105e:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 102                                 // DW_AT_name
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0xf01: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 98
 ; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 0
-; 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 0
-; 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 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 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 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 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 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 0
-; 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 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 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 0
-; 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 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 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 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 105
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 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 10                                  // Abbrev [10] 0x1132:0x13 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115                                 // DW_AT_name
+; CHECK-NEXT:.b8 97                                  // DW_AT_name
+; CHECK-NEXT:.b8 115
 ; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 0
-; 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 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_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 7                                   // Abbrev [7] 0xf18: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] 0x1145:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115                                 // DW_AT_name
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0xf1e: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 115
 ; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 104
+; 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:.b32 3379                               // DW_AT_type
+; CHECK-NEXT:.b8 97                                  // DW_AT_name
+; CHECK-NEXT:.b8 115
+; 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_declaration
-; 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 7                                   // Abbrev [7] 0xf37: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] 0x1159:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115                                 // DW_AT_name
-; CHECK-NEXT:.b8 113
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0xf3d: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 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 10                                  // Abbrev [10] 0x116d:0x13 DW_TAG_subprogram
-; CHECK-NEXT:.b8 116                                 // 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 0
-; 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 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_declaration
-; 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 7                                   // Abbrev [7] 0xf54: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] 0x1180:0x14 DW_TAG_subprogram
-; CHECK-NEXT:.b8 116                                 // DW_AT_name
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0xf5a: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 97
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 97
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 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 118
-; CHECK-NEXT:.b8 95
+; 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 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 54                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_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 118
-; CHECK-NEXT:.b8 95
+; 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 0                                   // End Of Children Mark
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0xf7f: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 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 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 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:.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 0
-; CHECK-NEXT:.b32 2917                               // DW_AT_type
 ; CHECK-NEXT:.b8 4                                   // 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 58                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // 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 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 31                                  // Abbrev [31] 0xf9e: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 98
-; CHECK-NEXT:.b8 111
 ; 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 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 99                                  // DW_AT_name
 ; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 7                                   // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 2332                               // DW_AT_type
+; CHECK-NEXT:.b8 60                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0xfb5:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; 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 31                                  // Abbrev [31] 0xfbb: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 101
-; CHECK-NEXT:.b8 120
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 116
+; 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 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 7                                   // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 2332                               // DW_AT_type
+; CHECK-NEXT:.b8 62                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0xfd2:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; 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 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 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 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 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 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 22                                  // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 2332                               // DW_AT_type
+; CHECK-NEXT:.b8 64                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 0                                   // End Of Children Mark
-; 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 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 108
-; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; 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 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 10                                  // Abbrev [10] 0x124f: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 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 122
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 99                                  // 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 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 66                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // 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 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 111
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 0
-; 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 108
-; CHECK-NEXT:.b8 108
 ; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 212                                 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 4730                               // DW_AT_type
+; CHECK-NEXT:.b8 68                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x1035:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; 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 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 101                                 // DW_AT_name
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
 ; 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 72                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // 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 7                                   // Abbrev [7] 0x1050:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // 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 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 0
 ; CHECK-NEXT:.b8 101                                 // DW_AT_name
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 116
+; 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 31                                  // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b8 70                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // 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 6                                   // Abbrev [6] 0x1310:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2332                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x106d:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // 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 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 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 227                                 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
+; CHECK-NEXT:.b8 76                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; 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 7                                   // Abbrev [7] 0x1088:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // 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 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 101
-; CHECK-NEXT:.b8 116
+; 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 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 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 101
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 118
+; 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 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 52                                  // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 4926                               // DW_AT_type
+; CHECK-NEXT:.b8 78                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x10c4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; 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 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 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 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 8                                   // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 2917                               // DW_AT_type
+; CHECK-NEXT:.b8 80                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x10e1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 16                                  // Abbrev [16] 0x1358:0x1a DW_TAG_subprogram
-; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; 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 105
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 102                                 // DW_AT_name
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 109
 ; CHECK-NEXT:.b8 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 23                                  // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 4515                               // DW_AT_type
+; CHECK-NEXT:.b8 82                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 0                                   // End Of Children Mark
-; 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 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 99
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; 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 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 16                                  // Abbrev [16] 0x1389:0x1b DW_TAG_subprogram
-; CHECK-NEXT:.b8 109                                 // DW_AT_name
-; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 102                                 // DW_AT_name
 ; 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 111
+; CHECK-NEXT:.b8 114
 ; 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 84                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // 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 7                                   // Abbrev [7] 0x1123: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] 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 114
-; CHECK-NEXT:.b8 95
-; 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_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 102                                 // DW_AT_name
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
 ; 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 86                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // 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 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
+; 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 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 97
+; CHECK-NEXT:.b8 120
 ; CHECK-NEXT:.b8 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 253                                 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b8 88                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 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 105
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 108
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 102                                 // DW_AT_name
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 224                                 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 4730                               // DW_AT_type
+; 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 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 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 23                                  // Abbrev [23] 0x1445:0x12 DW_TAG_subprogram
-; CHECK-NEXT:.b8 115                                 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
+; 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 111
+; CHECK-NEXT:.b8 100
+; 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 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 120                                 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
+; 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 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 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 7                                   // Abbrev [7] 0x1457:0x10 DW_TAG_base_type
-; CHECK-NEXT:.b8 117                                 // DW_AT_name
-; CHECK-NEXT:.b8 110
+; 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 103
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 32
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 102
+; 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 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 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 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 116
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 7                                   // DW_AT_encoding
+; CHECK-NEXT:.b8 5                                   // 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 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 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
+; 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 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 102                                 // DW_AT_name
 ; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
 ; 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 96                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // 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 116
+; 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 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 117
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 104                                 // DW_AT_name
 ; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 111
 ; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 109
 ; CHECK-NEXT:.b8 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 205                                 // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
-; CHECK-NEXT:.b32 2332                               // DW_AT_type
+; CHECK-NEXT:.b8 98                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 0                                   // End Of Children Mark
-; 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 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 111
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 103
 ; 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 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 105                                 // DW_AT_name
+; CHECK-NEXT:.b8 108
 ; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 103
 ; CHECK-NEXT:.b8 98
 ; CHECK-NEXT:.b8 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 102                                 // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 2332                               // DW_AT_type
+; CHECK-NEXT:.b8 100                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4579                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x1253:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; 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 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 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 31                                  // Abbrev [31] 0x1259:0x25 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 76
+; CHECK-NEXT:.b8 56
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
 ; 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 105
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 100                                 // DW_AT_name
+; CHECK-NEXT:.b8 105                                 // DW_AT_name
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 101
 ; 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 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 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 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 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 10                                  // Abbrev [10] 0x127e: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 100
+; 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 118
-; CHECK-NEXT:.b8 95
+; 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 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
 ; 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 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 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 114
 ; 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 106                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4734                               // 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 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 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 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 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 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 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 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 45                                  // DW_AT_decl_line
-; CHECK-NEXT:.b8 2
+; CHECK-NEXT:.b8 105                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4734                               // 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 6                                   // Abbrev [6] 0x15de:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 2332                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; 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 97
-; CHECK-NEXT:.b8 98
+; 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 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 12                                  // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 1508                               // DW_AT_type
+; CHECK-NEXT:.b8 108                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4734                               // 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 7                                   // Abbrev [7] 0x1304:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // 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 108
-; CHECK-NEXT:.b8 100
+; 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 105
-; CHECK-NEXT:.b8 118
+; 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 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 29                                  // DW_AT_decl_line
-; CHECK-NEXT:.b8 3
-; CHECK-NEXT:.b32 5536                               // DW_AT_type
+; CHECK-NEXT:.b8 112                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4734                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 0                                   // End Of Children Mark
-; 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 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 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 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 36                                  // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
-; CHECK-NEXT:.b32 1508                               // DW_AT_type
+; CHECK-NEXT:.b8 111                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4734                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 0                                   // End Of Children Mark
-; 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 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 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 108
+; 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 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 101
+; CHECK-NEXT:.b8 114
 ; 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 114                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4734                               // 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 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 97
+; CHECK-NEXT:.b8 110
+; 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 97
+; CHECK-NEXT:.b8 110
+; 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 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 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 117
+; 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 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 118                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4734                               // 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 7                                   // Abbrev [7] 0x13d7: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] 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 103
+; 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 32
-; 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_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 116
+; 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 102
+; 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 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 172                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 120                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4734                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 0                                   // End Of Children Mark
-; 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 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 100
+; CHECK-NEXT:.b8 97
+; 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 98
+; CHECK-NEXT:.b8 115
 ; CHECK-NEXT:.b8 0
 ; CHECK-NEXT:.b8 4                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 175                                 // DW_AT_decl_line
-; CHECK-NEXT:.b32 5823                               // DW_AT_type
+; CHECK-NEXT:.b8 121                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5164                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x1426:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5164                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x16bf:0xf DW_TAG_base_type
+; 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 103
 ; 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 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 4                                   // DW_AT_encoding
+; CHECK-NEXT:.b8 5                                   // 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 31                                  // Abbrev [31] 0x1438: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 97
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
+; 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 97                                  // DW_AT_name
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
+; 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 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 123                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x16e8:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x16ee:0x22 DW_TAG_subprogram
+; 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 108
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 109
 ; CHECK-NEXT:.b8 97
-; 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 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 102
+; 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 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 125                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x170a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x1478:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1710:0x20 DW_TAG_subprogram
+; 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 108
 ; 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 120
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 97                                  // DW_AT_name
+; 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 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 126                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3764                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x172a:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x1497:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 3764                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1730:0x22 DW_TAG_subprogram
+; 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 97
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
 ; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
+; 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 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
 ; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 0
-; 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 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 6                                   // Abbrev [6] 0x174c:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 26                                  // Abbrev [26] 0x1752:0x28 DW_TAG_subprogram
+; 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 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 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 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 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 97                                  // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 50
+; 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 130                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // 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 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 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 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 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 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 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 26                                  // Abbrev [26] 0x177a:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x1517: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 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; 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 97                                  // DW_AT_name
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; 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 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 134                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1794:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x152e:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x179a:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x1534:0x1d 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 116
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
+; 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 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 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 98
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 136                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x17b6:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x154b:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x17bc:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x1551: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 99
-; CHECK-NEXT:.b8 98
+; 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 99                                  // DW_AT_name
-; CHECK-NEXT:.b8 98
+; 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 102
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 140                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5164                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x17d6:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x156a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x17dc:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x1570:0x21 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 99
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 54
 ; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 102
+; 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 99                                  // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 102
+; 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 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 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 6                                   // Abbrev [6] 0x17f6:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 26                                  // Abbrev [26] 0x17fc:0x2e DW_TAG_subprogram
+; 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 57
-; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
 ; 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 117
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 99                                  // DW_AT_name
+; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
 ; 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 117
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 143                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3764                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x15ae:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x182a:0x1e DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x15b4: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 99
+; CHECK-NEXT:.b8 109
 ; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
+; 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 99                                  // DW_AT_name
+; CHECK-NEXT:.b8 109                                 // DW_AT_name
 ; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 145                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1842:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1848:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x15d8: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 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 146                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5621                               // 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 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 115
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; 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 111
-; CHECK-NEXT:.b8 115
 ; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 114
 ; CHECK-NEXT:.b8 0
-; 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 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 26                                  // Abbrev [26] 0x1868:0x20 DW_TAG_subprogram
+; 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 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 114
+; 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 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 99
+; 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 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 147                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1882:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x162a:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 5631                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1888:0x1e DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x1630:0x27 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 57
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 97
 ; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; 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 0
-; CHECK-NEXT:.b8 101                                 // 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 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 149                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x18a0:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x1651:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x18a6:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x1657: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 57
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 101
 ; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 50
+; 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 101                                 // DW_AT_name
+; CHECK-NEXT:.b8 110                                 // DW_AT_name
+; CHECK-NEXT:.b8 101
 ; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 50
+; 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 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 151                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x18c0:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x18c6:0x1e DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x1684: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 101
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 51
 ; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 119
 ; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
 ; 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 112                                 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 119
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 155                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x18de:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x18e4:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x16a5:0x2d 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 57
+; CHECK-NEXT:.b8 114
 ; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
 ; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 49
+; 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 0
-; CHECK-NEXT:.b8 101                                 // DW_AT_name
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 114                                 // DW_AT_name
+; CHECK-NEXT:.b8 101
 ; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 102
+; 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 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 157                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1900:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1906:0x20 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x16d2:0x2e 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 97
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
+; 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 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 115
-; CHECK-NEXT:.b8 102
+; 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 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 159                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1920:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1926:0x26 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x1700: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 102
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 114
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 114                                 // DW_AT_name
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 161                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x1717:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x194c:0x22 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x171d:0x1f 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 53
 ; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
+; 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 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114                                 // DW_AT_name
 ; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 163                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1968:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x1736:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x196e:0x2a DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x173c:0x29 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 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 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 108
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 115                                 // DW_AT_name
+; CHECK-NEXT:.b8 99
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 165                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1998:0x26 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x1765: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 102
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 99
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; 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 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 115                                 // DW_AT_name
+; CHECK-NEXT:.b8 99
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 167                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x19be:0x26 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x178c:0x23 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 55
+; 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 98
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 115                                 // DW_AT_name
 ; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 103
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 169                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 4734                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x17a9:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x19e4:0x26 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x17af: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 102
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; 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 102                                 // DW_AT_name
-; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 115                                 // DW_AT_name
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 171                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x17c4:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1a0a:0x29 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x17ca:0x1d 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 52
+; CHECK-NEXT:.b8 115
 ; 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 110
+; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 173                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x17e1:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1a33:0x28 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x17e7:0x1d 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 52
+; 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 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 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 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 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 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 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 26                                  // Abbrev [26] 0x1a5b:0x22 DW_TAG_subprogram
+; 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 54
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 102
+; 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 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 116                                 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 177                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1a77:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x1819:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1a7d:0x28 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x181f:0x1d 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 52
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 0
-; 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 116                                 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 0
-; 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 4                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 179                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x1836:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1aa5:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x183c:0x21 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 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 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; 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 235                                 // DW_AT_decl_line
-; CHECK-NEXT:.b8 5
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1ac3:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; CHECK-NEXT:.b8 7                                   // Abbrev [7] 0x1857:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 26                                  // Abbrev [26] 0x1ac9:0x24 DW_TAG_subprogram
+; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x185d:0x1f 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 53
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 117
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 99
 ; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108                                 // DW_AT_name
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 116                                 // DW_AT_name
 ; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 117
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 99
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 9                                   // DW_AT_decl_file
-; CHECK-NEXT:.b8 125                                 // DW_AT_decl_line
-; CHECK-NEXT:.b8 4
-; CHECK-NEXT:.b32 1508                               // DW_AT_type
+; 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 6                                   // Abbrev [6] 0x1ae7:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 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 117
+; 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 105
 ; 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 108
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
+; 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 100
-; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 6                                   // Abbrev [6] 0x1b0d:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 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 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 115
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; 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 103
-; CHECK-NEXT:.b8 49
-; CHECK-NEXT:.b8 48
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 0
-; 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 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 6                                   // Abbrev [6] 0x1b2f:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 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                                 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
+; 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 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 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 103
-; CHECK-NEXT:.b8 49
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; 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 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 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 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 114
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
 ; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
 ; 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 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 49
+; 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 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 5                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 106                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5621                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1b51:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; 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 32                                  // Abbrev [32] 0x1996:0x13 DW_TAG_subprogram
 ; 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 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 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 6                                   // Abbrev [6] 0x1b71:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 32                                  // Abbrev [32] 0x19a9:0x15 DW_TAG_subprogram
 ; 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 49
+; CHECK-NEXT:.b8 48
 ; 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 5                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 112                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 5621                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1b91:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; 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 32                                  // Abbrev [32] 0x19be:0x19 DW_TAG_subprogram
+; CHECK-NEXT:.b8 109                                 // DW_AT_name
 ; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; 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 111
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 119
 ; CHECK-NEXT:.b8 0
-; 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 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 6                                   // Abbrev [6] 0x1baf:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 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 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 5                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 65                                  // 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] 0x1a01: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] 0x1a07:0x14 DW_TAG_subprogram
+; CHECK-NEXT:.b8 115                                 // DW_AT_name
 ; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 0
-; 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 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 6                                   // Abbrev [6] 0x1bd1:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 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 111
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 116
+; 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 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 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 97
 ; 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 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 97
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 0
-; 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 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 6                                   // Abbrev [6] 0x1bf5:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 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 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 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 80
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 109                                 // DW_AT_name
+; 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 100
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 0
-; 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 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 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:.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 97
-; CHECK-NEXT:.b8 114
+; 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 121
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
+; 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 110                                 // DW_AT_name
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 114
+; 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 121
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 115
 ; CHECK-NEXT:.b8 0
-; 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 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 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1c47:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 102
+; 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 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 105
 ; CHECK-NEXT:.b8 116
-; 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 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 116
-; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 111
 ; 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 26                                  // DW_AT_decl_line
+; CHECK-NEXT:.b32 5621                               // 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 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 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 37                                  // Abbrev [37] 0x1ae7:0x15 DW_TAG_subprogram
+; CHECK-NEXT:.b8 97                                  // DW_AT_name
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 119
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 112                                 // DW_AT_name
+; 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 119
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 108
 ; CHECK-NEXT:.b8 0
-; 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 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 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 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 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 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 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 99
+; CHECK-NEXT:.b8 104
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114                                 // DW_AT_name
+; 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 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 109
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 116
+; 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 100
 ; CHECK-NEXT:.b8 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 102
+; 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 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 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 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 111
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 95
 ; 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 95
+; CHECK-NEXT:.b8 116
 ; 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 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 111
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 99
 ; CHECK-NEXT:.b8 0
-; 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 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 1                                   // DW_AT_declaration
-; 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 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 0                                   // End Of Children Mark
-; 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 37                                  // Abbrev [37] 0x1bad:0x19 DW_TAG_subprogram
+; CHECK-NEXT:.b8 100                                 // DW_AT_name
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 118
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114                                 // DW_AT_name
+; 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 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 7                                   // 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 6                                   // Abbrev [6] 0x1d1e:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; 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 18                                  // Abbrev [18] 0x1bd8:0x11 DW_TAG_subprogram
+; CHECK-NEXT:.b8 102                                 // 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 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 101
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 114                                 // DW_AT_name
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 7                                   // 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 7                                   // Abbrev [7] 0x1be3:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 6972                               // 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 100
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 118
 ; CHECK-NEXT:.b8 0
-; 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 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 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 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 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 115
+; 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 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 0                                   // End Of Children Mark
+; CHECK-NEXT:.b8 37                                  // Abbrev [37] 0x1c1a:0x1a DW_TAG_subprogram
+; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 118
+; 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 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1d40:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 37                                  // Abbrev [37] 0x1c34:0x17 DW_TAG_subprogram
+; CHECK-NEXT:.b8 109                                 // DW_AT_name
 ; 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 115                                 // DW_AT_name
+; CHECK-NEXT:.b8 111
 ; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 108
+; 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 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 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 101
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 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 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 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 37                                  // Abbrev [37] 0x1c66: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 97
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 115
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115                                 // DW_AT_name
+; 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 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 97
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 95
+; 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 37                                  // Abbrev [37] 0x1c99:0x21 DW_TAG_subprogram
+; CHECK-NEXT:.b8 109                                 // DW_AT_name
 ; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 119
+; CHECK-NEXT:.b8 99
 ; CHECK-NEXT:.b8 0
-; 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 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 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 26                                  // Abbrev [26] 0x1d9c: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 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 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 115                                 // DW_AT_name
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 7                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 253                                 // 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 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 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 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 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 1                                   // DW_AT_declaration
-; 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 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 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 1                                   // DW_AT_external
+; CHECK-NEXT:.b8 37                                  // Abbrev [37] 0x1cea:0x1d DW_TAG_subprogram
+; 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 111
+; CHECK-NEXT:.b8 99
 ; 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 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 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 105
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 97
 ; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 0
-; 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 7                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 120                                 // DW_AT_decl_line
+; CHECK-NEXT:.b8 1
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1dd4:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; 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 32                                  // Abbrev [32] 0x1d19: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 102
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 100
 ; 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 113
+; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 114
 ; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 108
 ; 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 1554                               // DW_AT_type
+; 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 1                                   // DW_AT_declaration
-; 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 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 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 97
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 102
-; 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 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 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 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 114
 ; 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 0
-; 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 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 108
 ; 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 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 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 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 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 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 116                                 // DW_AT_name
-; CHECK-NEXT:.b8 103
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 101
 ; 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 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 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1e56:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 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 117
-; CHECK-NEXT:.b8 110
+; 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 102
-; CHECK-NEXT:.b8 102
+; 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 0
-; CHECK-NEXT:.b8 116                                 // DW_AT_name
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 110
+; 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 99
-; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 98
 ; CHECK-NEXT:.b8 0
-; 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 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 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 6                                   // Abbrev [6] 0x1e78:0x5 DW_TAG_formal_parameter
-; CHECK-NEXT:.b32 1554                               // DW_AT_type
+; 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 27                                  // Abbrev [27] 0x1e7e:0x22a DW_TAG_structure_type
+; 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 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 103
 ; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 117
 ; 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 120
 ; CHECK-NEXT:.b8 0
-; 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 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 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 57
 ; 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 103
 ; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 117
 ; 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 51
+; CHECK-NEXT:.b8 100
+; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 69
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 120
 ; 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 100                                 // DW_AT_name
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 118
 ; CHECK-NEXT:.b8 0
-; 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 8                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 214                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 7762                               // 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 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 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 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 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 105
+; CHECK-NEXT:.b8 118
 ; 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 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 105
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 111
 ; 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:.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 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 105
 ; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
+; 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 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 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 117
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 7                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 12                                  // DW_AT_decl_line
+; CHECK-NEXT:.b8 3
+; CHECK-NEXT:.b32 3764                               // 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 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 116
+; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 118
 ; CHECK-NEXT:.b8 0
-; 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 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 1                                   // DW_AT_declaration
 ; 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 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 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 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 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 108
+; CHECK-NEXT:.b8 108
+; 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 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 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 49
-; CHECK-NEXT:.b8 55
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 102
-; CHECK-NEXT:.b8 101
+; 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 117
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 108
 ; 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 7                                   // DW_AT_decl_file
+; CHECK-NEXT:.b8 209                                 // DW_AT_decl_line
+; CHECK-NEXT:.b32 3764                               // 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 116
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
 ; 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 108
 ; CHECK-NEXT:.b8 0
-; 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 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 25                                  // Abbrev [25] 0x1f89: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 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 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 99
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 53
+; 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 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 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 114
-; CHECK-NEXT:.b8 97
 ; CHECK-NEXT:.b8 116
 ; CHECK-NEXT:.b8 111
+; 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 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 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 32
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 0
-; 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 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 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 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 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 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 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 111
 ; 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 101
+; 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 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 99
 ; 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 107
-; CHECK-NEXT:.b8 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 13                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 85                                  // DW_AT_decl_line
+; 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 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 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 30                                  // Abbrev [30] 0x1ff9:0x2c DW_TAG_subprogram
-; CHECK-NEXT:.b8 95                                  // DW_AT_name
-; CHECK-NEXT:.b8 95
+; 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 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
+; 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 97                                  // DW_AT_name
+; CHECK-NEXT:.b8 99
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 104
+; 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 5
+; CHECK-NEXT:.b32 2116                               // 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 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 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 115
 ; 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 97                                  // DW_AT_name
+; 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 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 13                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 85                                  // DW_AT_decl_line
+; 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 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 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 31                                  // Abbrev [31] 0x2025:0x43 DW_TAG_subprogram
+; 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 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 54
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 115
 ; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; 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 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 73
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
+; 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 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 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 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 110
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 102
+; 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 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 97                                  // DW_AT_name
 ; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 61
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 50
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 13                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 85                                  // DW_AT_decl_line
+; 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 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 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 32                                  // Abbrev [32] 0x2068:0x3f DW_TAG_subprogram
+; 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 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 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 100
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 110
+; 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 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 97                                  // DW_AT_name
 ; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 38
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
 ; 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 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 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 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 7                                   // Abbrev [7] 0x2046:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; 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 110
+; 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 97
 ; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 0
-; 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:.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 14                                  // Abbrev [14] 0x20be:0xc DW_TAG_member
-; CHECK-NEXT:.b8 121                                 // DW_AT_name
+; 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:.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:.b8 14                                  // Abbrev [14] 0x20ca:0xc DW_TAG_member
-; CHECK-NEXT:.b8 122                                 // 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:.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 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 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 0                                   // End Of Children Mark
-; 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 44                                  // Abbrev [44] 0x206e: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 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 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 102
 ; CHECK-NEXT:.b8 0
-; 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 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 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 0                                   // End Of Children Mark
+; CHECK-NEXT:.b8 44                                  // Abbrev [44] 0x208e:0x20 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 101
 ; 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 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 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 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 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 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 104
-; 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 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 120
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95                                  // DW_AT_name
-; CHECK-NEXT:.b8 95
+; 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 101
-; CHECK-NEXT:.b8 116
+; 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 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 12                                  // DW_AT_decl_file
+; CHECK-NEXT:.b8 219                                 // 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] 0x20f4: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] 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 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 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 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 1                                   // DW_AT_external
-; CHECK-NEXT:.b8 28                                  // Abbrev [28] 0x2163:0x4f DW_TAG_subprogram
+; 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 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 101
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
 ; 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 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 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 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 114
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95                                  // DW_AT_name
-; CHECK-NEXT:.b8 95
+; 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 121
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 50
+; 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 50
+; 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 120
+; CHECK-NEXT:.b8 112
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 1                                   // DW_AT_external
-; CHECK-NEXT:.b8 28                                  // Abbrev [28] 0x21b2:0x4f DW_TAG_subprogram
+; 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 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 68
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 76
+; CHECK-NEXT:.b8 54
+; CHECK-NEXT:.b8 101
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 112
 ; 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 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 122
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95                                  // DW_AT_name
-; CHECK-NEXT:.b8 95
+; 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 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 13                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 91                                  // DW_AT_decl_line
-; CHECK-NEXT:.b32 5207                               // DW_AT_type
+; 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 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 1                                   // DW_AT_external
-; CHECK-NEXT:.b8 25                                  // Abbrev [25] 0x2201:0x47 DW_TAG_subprogram
+; 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 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 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 115
+; 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 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 99
-; CHECK-NEXT:.b8 118
-; CHECK-NEXT:.b8 52
+; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 102
+; 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 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 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 100
 ; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 102
+; 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 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 102                                 // DW_AT_name
 ; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 105
 ; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 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 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 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 95
-; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
+; 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 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 111
+; 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 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 111
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 13                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 96                                  // DW_AT_decl_line
+; 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 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 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 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 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 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 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 109
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 13                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 96                                  // DW_AT_decl_line
+; 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 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 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 31                                  // Abbrev [31] 0x229b:0x43 DW_TAG_subprogram
+; 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 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 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 102
 ; 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 120
+; CHECK-NEXT:.b8 102
+; 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 101
-; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 102                                 // DW_AT_name
+; CHECK-NEXT:.b8 109
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 61
+; CHECK-NEXT:.b8 120
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 13                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 96                                  // DW_AT_decl_line
+; 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 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 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 32                                  // Abbrev [32] 0x22de:0x3f DW_TAG_subprogram
+; 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 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 102
+; 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 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 98
-; CHECK-NEXT:.b8 108
+; 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 111
-; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 107
-; CHECK-NEXT:.b8 68
-; CHECK-NEXT:.b8 105
+; 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 109
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 111
 ; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 111                                 // DW_AT_name
-; CHECK-NEXT:.b8 112
+; 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 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 0                                   // End Of Children Mark
+; CHECK-NEXT:.b8 44                                  // Abbrev [44] 0x22bc: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 102                                 // DW_AT_name
 ; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
+; 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 111
 ; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; 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 114
-; CHECK-NEXT:.b8 38
+; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 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 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 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 0                                   // End Of Children Mark
-; 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 44                                  // Abbrev [44] 0x230d: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 109
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 0
-; 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 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:.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 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 36                                  // Abbrev [36] 0x2335:0xd DW_TAG_member
-; CHECK-NEXT:.b8 121                                 // DW_AT_name
+; 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 105
 ; 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 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:.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 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 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 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 51
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
 ; 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 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 97
 ; CHECK-NEXT:.b8 109
-; CHECK-NEXT:.b8 51
+; CHECK-NEXT:.b8 109
+; CHECK-NEXT:.b8 97
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 14                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 166                                 // DW_AT_decl_line
-; CHECK-NEXT:.b8 1
+; 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 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x2375:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 37                                  // Abbrev [37] 0x2387:0x33 DW_TAG_subprogram
+; CHECK-NEXT:.b8 44                                  // Abbrev [44] 0x237b:0x24 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 53
-; CHECK-NEXT:.b8 117
+; 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 51
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; 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 101
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 108
 ; 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 102
 ; CHECK-NEXT:.b8 0
-; 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 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 1                                   // DW_AT_declaration
-; 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 7                                   // Abbrev [7] 0x2399:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; 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 116
-; CHECK-NEXT:.b8 51
-; CHECK-NEXT:.b8 0
-; 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 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 110
 ; 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 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 0
+; CHECK-NEXT:.b8 108                                 // DW_AT_name
 ; 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 111
+; CHECK-NEXT:.b8 117
+; CHECK-NEXT:.b8 110
 ; 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 1                                   // DW_AT_byte_size
-; CHECK-NEXT:.b8 13                                  // DW_AT_decl_file
+; CHECK-NEXT:.b8 12                                  // DW_AT_decl_file
 ; CHECK-NEXT:.b8 66                                  // DW_AT_decl_line
-; CHECK-NEXT:.b8 28                                  // Abbrev [28] 0x240c:0x50 DW_TAG_subprogram
+; 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 78
-; 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 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 111
+; CHECK-NEXT:.b8 103
 ; 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 99
-; CHECK-NEXT:.b8 104
-; CHECK-NEXT:.b8 95
+; 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 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 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 117
-; CHECK-NEXT:.b8 105
+; 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 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 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 111
+; CHECK-NEXT:.b8 103
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; CHECK-NEXT:.b8 95                                  // DW_AT_name
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 108                                 // DW_AT_name
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 103
 ; 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 13                                  // DW_AT_decl_file
+; CHECK-NEXT:.b8 12                                  // DW_AT_decl_file
 ; CHECK-NEXT:.b8 67                                  // DW_AT_decl_line
-; CHECK-NEXT:.b32 5207                               // DW_AT_type
+; CHECK-NEXT:.b8 5
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 1                                   // DW_AT_declaration
-; CHECK-NEXT:.b8 1                                   // DW_AT_external
-; CHECK-NEXT:.b8 28                                  // Abbrev [28] 0x245c:0x50 DW_TAG_subprogram
+; 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 78
-; 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 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 114
 ; 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 108                                 // 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 105
+; CHECK-NEXT:.b8 110
 ; 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 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 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 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 116
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 111
+; CHECK-NEXT:.b8 117
 ; 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 100
 ; 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 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 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 100
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 1                                   // DW_AT_external
-; CHECK-NEXT:.b8 28                                  // Abbrev [28] 0x24ac:0x50 DW_TAG_subprogram
+; 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 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 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 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 49
+; CHECK-NEXT:.b8 48
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 101
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 114
 ; CHECK-NEXT:.b8 98
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 108
-; CHECK-NEXT:.b8 116
+; CHECK-NEXT:.b8 121
 ; 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 0
+; CHECK-NEXT:.b8 110                                 // DW_AT_name
 ; 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 114
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
 ; 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 130                                 // 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] 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 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 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 102
 ; 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 101
+; 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 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 102
 ; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 105
-; CHECK-NEXT:.b8 110
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 122
+; 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 13                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 69                                  // DW_AT_decl_line
-; CHECK-NEXT:.b32 5207                               // DW_AT_type
+; 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 1                                   // DW_AT_external
-; CHECK-NEXT:.b8 25                                  // Abbrev [25] 0x24fc:0x4a DW_TAG_subprogram
+; 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 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 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 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 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 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 100
 ; 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 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 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 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 32
+; 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 110
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 51
 ; CHECK-NEXT:.b8 0
-; 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 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 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 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 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 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 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 105
-; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 116
+; 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 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 13                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 74                                  // DW_AT_decl_line
+; 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 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 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 7                                   // Abbrev [7] 0x25d0:0x5 DW_TAG_formal_parameter
+; CHECK-NEXT:.b32 2116                               // DW_AT_type
 ; CHECK-NEXT:.b8 0                                   // End Of Children Mark
-; 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 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 117
+; CHECK-NEXT:.b8 110
 ; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
-; CHECK-NEXT:.b8 98
+; 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 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 13                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 74                                  // DW_AT_decl_line
+; 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 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 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 7                                   // Abbrev [7] 0x25f2: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] 0x259b:0x44 DW_TAG_subprogram
+; CHECK-NEXT:.b8 44                                  // Abbrev [44] 0x25f8:0x2c 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 76
+; CHECK-NEXT:.b8 56
+; CHECK-NEXT:.b8 115
 ; CHECK-NEXT:.b8 99
-; CHECK-NEXT:.b8 117
-; CHECK-NEXT:.b8 100
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 95
+; CHECK-NEXT:.b8 108
 ; 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 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 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 108
 ; 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 115                                 // DW_AT_name
+; CHECK-NEXT:.b8 99
 ; 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 98
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 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 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 0                                   // End Of Children Mark
-; CHECK-NEXT:.b8 32                                  // Abbrev [32] 0x25df:0x40 DW_TAG_subprogram
+; CHECK-NEXT:.b8 44                                  // Abbrev [44] 0x2624:0x2a 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 76
+; CHECK-NEXT:.b8 55
+; CHECK-NEXT:.b8 115
 ; 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 98
 ; 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 97
-; CHECK-NEXT:.b8 100
-; CHECK-NEXT:.b8 69
-; CHECK-NEXT:.b8 118
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 102
+; CHECK-NEXT:.b8 105
 ; 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 115                                 // DW_AT_name
+; CHECK-NEXT:.b8 99
 ; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 116
-; CHECK-NEXT:.b8 111
-; CHECK-NEXT:.b8 114
-; CHECK-NEXT:.b8 38
+; CHECK-NEXT:.b8 108
+; CHECK-NEXT:.b8 98
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
-; 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 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 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 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 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 44                                  // Abbrev [44] 0x264e:0x1e 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 52
 ; CHECK-NEXT:.b8 115
+; CHECK-NEXT:.b8 105
+; 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 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 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 115                                 // DW_AT_name
+; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
 ; CHECK-NEXT:.b8 0
 ; 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 210                                 // 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] 0x2666: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] 0x266c: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 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 102
 ; CHECK-NEXT:.b8 0
 ; CHECK-NEXT:.b8 12                                  // DW_AT_decl_file
-; CHECK-NEXT:.b8 3                                   // DW_AT_decl_line
-; CHECK-NEXT:.b32 3345                               // DW_AT_type
+; 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 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 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 115
-; CHECK-NEXT:.b8 97
-; CHECK-NEXT:.b8 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 121
-; CHECK-NEXT:.b8 105
+; CHECK-NEXT:.b8 113
+; CHECK-NEXT:.b8 114
+; CHECK-NEXT:.b8 116
 ; 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 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 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 120
-; CHECK-NEXT:.b8 112
-; CHECK-NEXT:.b8 121
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 102
+; 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 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 116                                 // DW_AT_name
+; 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 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 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 0                                   // End Of Children Mark
+; CHECK-NEXT:.b8 44                                  // Abbrev [44] 0x26ca: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 97
+; CHECK-NEXT:.b8 110
+; CHECK-NEXT:.b8 104
+; CHECK-NEXT:.b8 102
+; 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:.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 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 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 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 0
-; 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 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 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 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 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 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 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 43cc586fff198..a6bfd8533a273 100644
--- a/llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
+++ b/llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
@@ -153,15 +153,6 @@ 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
@@ -179,11 +170,13 @@ 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 4                                // Abbreviation Code
+; CHECK-NEXT: .b8 3                                // Abbreviation Code
 ; CHECK-NEXT: .b8 5                                // DW_TAG_formal_parameter
 ; CHECK-NEXT: .b8 0                                // DW_CHILDREN_no
 ; CHECK-NEXT: .b8 3                                // DW_AT_name
@@ -196,20 +189,18 @@ 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 5                                // Abbreviation Code
-; CHECK-NEXT: .b8 52                               // DW_TAG_variable
+; CHECK-NEXT: .b8 4                                // 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 6                                // 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 17                               // DW_AT_low_pc
@@ -227,33 +218,42 @@ 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 7                                // Abbreviation Code
-; CHECK-NEXT: .b8 36                               // DW_TAG_base_type
+; CHECK-NEXT: .b8 6                                // 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 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 159                             // Length of Unit
+; 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
@@ -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 50
+; CHECK-NEXT: .b8 49
 ; CHECK-NEXT: .b8 46
 ; CHECK-NEXT: .b8 99
 ; CHECK-NEXT: .b8 99
@@ -323,15 +323,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 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: .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: .b8 1                                // DW_AT_frame_base
 ; CHECK-NEXT: .b8 156
 ; CHECK-NEXT: .b8 95                               // DW_AT_MIPS_linkage_name
@@ -339,37 +335,38 @@ 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 4                                // Abbrev [4] 0x8b: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 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 3                                // Abbrev [3] 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+311                 // 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 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 0
+; 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: .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
@@ -417,7 +414,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
@@ -439,11 +436,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_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: .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: .b8 1                                // DW_AT_frame_base
 ; CHECK-NEXT: .b8 156
 ; CHECK-NEXT: .b8 95                               // DW_AT_MIPS_linkage_name
@@ -451,31 +448,34 @@ 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 4                                // Abbrev [4] 0x8a:0x9 DW_TAG_formal_parameter
-; CHECK-NEXT: .b8 98                               // DW_AT_name
+; 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 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: .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 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 0                                // End Of Children Mark
-; 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 7                                // Abbrev [7] 0x9e:0x4 DW_TAG_structure_type
+; CHECK-NEXT: .b8 65                               // 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 1                                // DW_AT_declaration
 ; 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 02590955262ff..483569a12deb4 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 14793460e14c2..9c33051ea75e3 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]*}}] = "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)
 
 ; 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)
 

diff  --git a/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll b/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
index 495f0f646628f..82af77a1ef995 100644
--- a/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
+++ b/llvm/test/DebugInfo/X86/DW_AT_calling-convention.ll
@@ -21,10 +21,6 @@
 
 ; 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
@@ -37,6 +33,10 @@
 ; 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 14cfda7c06da7..537b7b4ff21e9 100644
--- a/llvm/test/DebugInfo/X86/align_cpp11.ll
+++ b/llvm/test/DebugInfo/X86/align_cpp11.ll
@@ -33,6 +33,21 @@
 ;     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
@@ -53,21 +68,6 @@
 ; 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 bc0abbdaa103d..375567096fc0c 100644
--- a/llvm/test/DebugInfo/X86/align_objc.ll
+++ b/llvm/test/DebugInfo/X86/align_objc.ll
@@ -16,7 +16,14 @@
 ; }
 
 ; 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"
 
@@ -25,12 +32,6 @@
 ; 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 db1837e021415..9264fab1a8a4b 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_end0:
+; CHECK-NEXT: .Lsec_end1:
 
 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 3e6c6d2690824..94cde895f35ab 100644
--- a/llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
+++ b/llvm/test/DebugInfo/X86/containing-type-extension-rust.ll
@@ -2,6 +2,7 @@
 ; 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 2e94da41c31a4..1a95e07340ecc 100644
--- a/llvm/test/DebugInfo/X86/debug-info-access.ll
+++ b/llvm/test/DebugInfo/X86/debug-info-access.ll
@@ -33,6 +33,10 @@
 ;   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")
@@ -76,12 +80,6 @@
 ; 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 0914fa68620c9..0173f856f0de5 100644
--- a/llvm/test/DebugInfo/X86/debug-info-blocks.ll
+++ b/llvm/test/DebugInfo/X86/debug-info-blocks.ll
@@ -5,10 +5,6 @@
 ; 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
@@ -35,6 +31,10 @@
 ; 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 5e2f46686bd6c..915e48b3c03ac 100644
--- a/llvm/test/DebugInfo/X86/debug-info-static-member.ll
+++ b/llvm/test/DebugInfo/X86/debug-info-static-member.ll
@@ -106,6 +106,8 @@ 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
@@ -156,6 +158,8 @@ 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 95f524fc162cf..72267ebcb4173 100644
--- a/llvm/test/DebugInfo/X86/debug-loc-offset.mir
+++ b/llvm/test/DebugInfo/X86/debug-loc-offset.mir
@@ -31,39 +31,40 @@
 #
 # 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 {{.*}} (0x00000020 ".text")
+# 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]{{.*}}"_Z3baz1A"
+# 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:    [0x00000029, 0x00000037) ".text": DW_OP_breg0 EAX+0, DW_OP_deref
-# CHECK-NEXT:    [0x00000037, 0x00000063) ".text": DW_OP_breg5 EBP-8, DW_OP_deref, DW_OP_deref
-# CHECK-NEXT:  DW_AT_name [DW_FORM_strp]{{.*}}"a"
-#
-# CHECK: DW_TAG_variable
-# CHECK: DW_AT_location [DW_FORM_exprloc]
-# CHECK-NOT: DW_AT_location
-#
+# 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 {{.*}} (0x00000000 ".text")
+# CHECK: DW_AT_low_pc {{.*}} (0x00000020 ".text")
 # CHECK: DW_AT_high_pc
 #
 # CHECK: DW_TAG_subprogram
 # CHECK-NOT: DW_TAG
-# CHECK: DW_AT_linkage_name [DW_FORM_strp]{{.*}}"_Z3bari"
+# CHECK: DW_AT_linkage_name [DW_FORM_strp]{{.*}}"_Z3baz1A"
 # 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-NEXT:    [0x00000029, 0x00000037) ".text": DW_OP_breg0 EAX+0, DW_OP_deref
+# CHECK-NEXT:    [0x00000037, 0x00000063) ".text": DW_OP_breg5 EBP-8, DW_OP_deref, DW_OP_deref
+# CHECK-NEXT:  DW_AT_name [DW_FORM_strp]{{.*}}"a"
+#
+# CHECK: DW_TAG_variable
+# CHECK: DW_AT_location [DW_FORM_exprloc]
+# CHECK-NOT: DW_AT_location
 #
 # CHECK: .debug_loc contents:
 # CHECK:       0x00000000:

diff  --git a/llvm/test/DebugInfo/X86/dwarf-aranges.ll b/llvm/test/DebugInfo/X86/dwarf-aranges.ll
index 5358a30c6a06a..b65eba451f4d7 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_end0-some_data
+; CHECK-NEXT: .quad .Lsec_end1-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_end1-some_other
+; CHECK-NEXT: .quad .Lsec_end2-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 2af2b86590a29..75faee0ac2b51 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_variable
+; LINKAGE1: DW_TAG_subprogram
 ; LINKAGE1-NOT: DW_TAG
 ; LINKAGE1: {{DW_AT_(MIPS_)?linkage_name}}
-; LINKAGE1: DW_TAG_subprogram
+; LINKAGE1: DW_TAG_variable
 ; 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 2d4937ee7f9f6..1a98fbe267f56 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]])
+; CHECK:       DW_AT_import ([[MYMOD:0x[0-9a-f]+]])
 ; CHECK:       DW_TAG_imported_declaration
-; CHECK:         DW_AT_import ([[VAR1]])
+; CHECK:         DW_AT_import ([[VAR1:0x[0-9a-f]+]])
 ; 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 9fa954cd24858..f9153f9c9756e 100644
--- a/llvm/test/DebugInfo/X86/generate-odr-hash.ll
+++ b/llvm/test/DebugInfo/X86/generate-odr-hash.ll
@@ -54,12 +54,7 @@
 ; FISSION-LABEL: .debug_info.dwo contents:
 ; CHECK: Compile Unit: length = [[CU_SIZE:[0-9a-f]+]]
 
-; 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: DW_TAG_structure_type
 
 ; Ensure the CU-local type 'walrus' is not placed in a type unit.
 ; CHECK: [[WALRUS:^0x........]]: DW_TAG_structure_type
@@ -68,6 +63,13 @@
 ; 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)
@@ -121,10 +123,10 @@
 ; CHECK-LABEL: .debug_line contents:
 ; CHECK: Line table prologue
 ; CHECK-NOT: file_names[
-; SINGLE: file_names[
-; SINGLE-NEXT: name: "bar.h"
 ; CHECK: file_names[
 ; CHECK-NEXT: name: "bar.cpp"
+; SINGLE: file_names[
+; SINGLE-NEXT: name: "bar.h"
 ; 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 d19358ee6e58f..de44b4341868f 100644
--- a/llvm/test/DebugInfo/X86/gnu-public-names.ll
+++ b/llvm/test/DebugInfo/X86/gnu-public-names.ll
@@ -77,9 +77,6 @@
 ; 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
@@ -98,11 +95,23 @@
 ; CHECK:     DW_AT_name ("int")
 ; CHECK:   DW_TAG_pointer_type
 
-; CHECK:   [[GLOB_VAR:0x[0-9a-f]+]]: DW_TAG_variable
-; CHECK:     DW_AT_name ("global_variable")
+; 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:   [[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
@@ -118,9 +127,6 @@
 ; 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
@@ -130,6 +136,13 @@
 ; 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
@@ -171,20 +184,6 @@
 ; 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 13a8c0acb277b..38a096c7bfc95 100644
--- a/llvm/test/DebugInfo/X86/lexical-block-file-inline.ll
+++ b/llvm/test/DebugInfo/X86/lexical-block-file-inline.ll
@@ -32,8 +32,6 @@
 ; 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
@@ -60,9 +58,6 @@
 ; 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 f5c82b1759a35..e43cccfb5fcf7 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 [9] *
+; CHECK: DW_TAG_subprogram [8] *
 ; 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 57316a806b713..149d6cbbe3180 100644
--- a/llvm/test/DebugInfo/X86/namelist1.ll
+++ b/llvm/test/DebugInfo/X86/namelist1.ll
@@ -4,10 +4,11 @@
 ; RUN: llc -O0 -mtriple=x86_64-unknown-linux-gnu %s -filetype=obj -o %t.o
 ; RUN: llvm-dwarfdump %t.o | FileCheck %s
 ;
-; 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_variable
+; CHECK: [[ITEM1:0x.+]]:       DW_TAG_variable
+; CHECK:                          DW_AT_name  ("a")
 ; 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 479f2f605421a..673e982b0534b 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 (0xa58a336e896549f1)
-; CHECK-DWO: DW_AT_GNU_dwo_id (0xa58a336e896549f1)
+; CHECK-DWO: DW_AT_GNU_dwo_id (0x46a03e2a3394ce47)
+; CHECK-DWO: DW_AT_GNU_dwo_id (0x46a03e2a3394ce47)
 
 ; 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 345342aecf3c2..a265b8e2bc305 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 6ac7f2bc0a577..8a071cc81389c 100644
--- a/llvm/test/DebugInfo/X86/template.ll
+++ b/llvm/test/DebugInfo/X86/template.ll
@@ -15,26 +15,10 @@
 
 ; 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]]}
+; CHECK-NEXT: DW_AT_type{{.*}}=> {[[INT:0x[0-9a-f]*]]}
 ; CHECK-NEXT: DW_AT_name{{.*}}= "x"
 ; CHECK-NEXT: DW_AT_const_value [DW_FORM_sdata]{{.*}}(3)
 
@@ -71,6 +55,21 @@
 ; 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 ecb1d93bbd285..33ab5559fcb91 100644
--- a/llvm/test/DebugInfo/X86/tls.ll
+++ b/llvm/test/DebugInfo/X86/tls.ll
@@ -30,33 +30,45 @@
 ; 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
@@ -66,19 +78,12 @@
 ; FISSION: .byte 2 # DW_AT_location
 ; DW_OP_GNU_addr_index
 ; FISSION-NEXT: .byte 251
-; 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
+; FISSION-NEXT: .byte 2
 
 ; 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 b846df22c37ef..81d00ead44aa8 100644
--- a/llvm/test/DebugInfo/X86/vla-global.ll
+++ b/llvm/test/DebugInfo/X86/vla-global.ll
@@ -1,4 +1,7 @@
 ; 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 ecbb1e721d5a1..5a603c551f224 100644
--- a/llvm/test/DebugInfo/attr-btf_tag.ll
+++ b/llvm/test/DebugInfo/attr-btf_tag.ll
@@ -43,37 +43,6 @@ 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
@@ -97,12 +66,17 @@ attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }
 ; 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_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
 
 ; CHECK:      DW_TAG_structure_type
 ; CHECK-NEXT:   DW_AT_name      ("t1")
@@ -128,6 +102,29 @@ 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 d2a815f097164..a234350546f74 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_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:    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:  }
 ; CHECK-NEXT:  Section (10) .debug_aranges {
 ; CHECK-NEXT:    0x6 R_WASM_SECTION_OFFSET_I32 .debug_info 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:    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:  }
 ; 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 47b33aac104c6..af5b57511fccc 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_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:     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:   }
 ; CHECK-NEXT:   Section (10) .debug_aranges {
 ; CHECK-NEXT:     0x6 R_WASM_SECTION_OFFSET_I32 .debug_info 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:     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:   }
 ; 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 cb2e3e613af9b..8e11ce3f93eeb 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_variable
+; 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-NEXT:                DW_AT_name	("foo")
-; CHECK-NEXT:                DW_AT_type	(0x00000037 "int *")
+; CHECK-NEXT:                DW_AT_type	(0x0000004e "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: 0x00000037:   DW_TAG_pointer_type
-; CHECK-NEXT:                DW_AT_type	(0x0000003c "int")
+; CHECK: 0x0000004e:   DW_TAG_pointer_type
+; CHECK-NEXT:                DW_AT_type	(0x00000053 "int")
 
-; CHECK: 0x0000003c:   DW_TAG_base_type
+; CHECK: 0x00000053:   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: 0x00000043:   DW_TAG_variable
+; CHECK: 0x0000005a:   DW_TAG_variable
 ; CHECK-NEXT:                DW_AT_name	("ptr2")
-; CHECK-NEXT:                DW_AT_type	(0x00000054 "void (*)()")
+; CHECK-NEXT:                DW_AT_type	(0x0000006b "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: 0x00000054:   DW_TAG_pointer_type
-; CHECK-NEXT:                DW_AT_type	(0x00000059 "void ()")
+; CHECK: 0x0000006b:   DW_TAG_pointer_type
+; CHECK-NEXT:                DW_AT_type	(0x00000070 "void ()")
 
-; CHECK: 0x00000059:   DW_TAG_subroutine_type
+; CHECK: 0x00000070:   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  (0xad3151f12153fa17)
+; SPLIT-NEXT:               DW_AT_GNU_dwo_id  (0x0642bb5dada25ca6)
 
-; SPLIT:      0x00000019:   DW_TAG_variable
+; 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-NEXT:                 DW_AT_name      ("foo")
-; SPLIT-NEXT:                 DW_AT_type      (0x00000024 "int *")
+; SPLIT-NEXT:                 DW_AT_type      (0x00000035 "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 0x0)
+; SPLIT-NEXT:                 DW_AT_location  (DW_OP_GNU_addr_index 0x1)
 
-; SPLIT:      0x00000024:   DW_TAG_pointer_type
-; SPLIT-NEXT:                 DW_AT_type      (0x00000029 "int")
+; SPLIT:      0x00000035:   DW_TAG_pointer_type
+; SPLIT-NEXT:                 DW_AT_type      (0x0000003a "int")
 
-; SPLIT:      0x00000029:   DW_TAG_base_type
+; SPLIT:      0x0000003a:   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:      0x0000002d:   DW_TAG_variable
+; SPLIT:      0x0000003e:   DW_TAG_variable
 ; SPLIT-NEXT:                 DW_AT_name      ("ptr2")
-; SPLIT-NEXT:                 DW_AT_type      (0x00000038 "void (*)()")
+; SPLIT-NEXT:                 DW_AT_type      (0x00000049 "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 0x1)
+; SPLIT-NEXT:                 DW_AT_location  (DW_OP_GNU_addr_index 0x2)
 
-; SPLIT:      0x00000038:   DW_TAG_pointer_type
-; SPLIT-NEXT:                 DW_AT_type      (0x0000003d "void ()")
+; SPLIT:      0x00000049:   DW_TAG_pointer_type
+; SPLIT-NEXT:                 DW_AT_type      (0x0000004e "void ()")
 
-; SPLIT:      0x0000003d:   DW_TAG_subroutine_type
+; SPLIT:      0x0000004e:   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 603f610c4dff7..199e1f55931fb 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_variable
+; 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-NEXT:                DW_AT_name [DW_FORM_strp]       ("foo")
-; CHECK-NEXT:                DW_AT_type [DW_FORM_ref4]       (0x0000003f "int *")
+; CHECK-NEXT:                DW_AT_type [DW_FORM_ref4]       (0x0000005a "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: 0x0000003f:   DW_TAG_pointer_type
-; CHECK-NEXT:                DW_AT_type [DW_FORM_ref4]       (0x00000044 "int")
+; CHECK: 0x0000005a:   DW_TAG_pointer_type
+; CHECK-NEXT:                DW_AT_type [DW_FORM_ref4]       (0x0000005f "int")
 
-; CHECK: 0x00000044:   DW_TAG_base_type
+; CHECK: 0x0000005f:   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: 0x0000004b:   DW_TAG_variable
+; CHECK: 0x00000066:   DW_TAG_variable
 ; CHECK-NEXT:                DW_AT_name [DW_FORM_strp]       ("ptr2")
-; CHECK-NEXT:                DW_AT_type [DW_FORM_ref4]       (0x00000060 "void (*)()")
+; CHECK-NEXT:                DW_AT_type [DW_FORM_ref4]       (0x0000007b "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: 0x00000060:   DW_TAG_pointer_type
-; CHECK-NEXT:                DW_AT_type [DW_FORM_ref4]       (0x00000065 "void ()")
+; CHECK: 0x0000007b:   DW_TAG_pointer_type
+; CHECK-NEXT:                DW_AT_type [DW_FORM_ref4]       (0x00000080 "void ()")
 
-; CHECK: 0x00000065:   DW_TAG_subroutine_type
+; CHECK: 0x00000080:   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