IR: Move MDLocation into place
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 14 Jan 2015 22:27:36 +0000 (22:27 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 14 Jan 2015 22:27:36 +0000 (22:27 +0000)
This commit moves `MDLocation`, finishing off PR21433.  There's an
accompanying clang commit for frontend testcases.  I'll attach the
testcase upgrade script I used to PR21433 to help out-of-tree
frontends/backends.

This changes the schema for `DebugLoc` and `DILocation` from:

    !{i32 3, i32 7, !7, !8}

to:

    !MDLocation(line: 3, column: 7, scope: !7, inlinedAt: !8)

Note that empty fields (line/column: 0 and inlinedAt: null) don't get
printed by the assembly writer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226048 91177308-0d34-0410-b5e6-96231b3b80d8

299 files changed:
include/llvm/IR/DebugInfo.h
lib/IR/DebugInfo.cpp
lib/IR/DebugLoc.cpp
test/Assembler/functionlocal-metadata.ll
test/Assembler/metadata.ll
test/Bindings/OCaml/core.ml
test/Bitcode/drop-debug-info.ll
test/BugPoint/metadata.ll
test/CodeGen/AArch64/aarch64-2014-08-11-MachineCombinerCrash.ll
test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll
test/CodeGen/ARM/2009-10-16-Scope.ll
test/CodeGen/ARM/2010-04-15-ScavengerDebugValue.ll
test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll
test/CodeGen/ARM/2010-08-04-StackVariable.ll
test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll
test/CodeGen/ARM/coalesce-dbgvalue.ll
test/CodeGen/ARM/debug-frame-vararg.ll
test/CodeGen/ARM/debug-frame.ll
test/CodeGen/ARM/debug-info-arg.ll
test/CodeGen/ARM/debug-info-blocks.ll
test/CodeGen/ARM/debug-info-branch-folding.ll
test/CodeGen/ARM/debug-info-d16-reg.ll
test/CodeGen/ARM/debug-info-qreg.ll
test/CodeGen/ARM/debug-info-s16-reg.ll
test/CodeGen/ARM/debug-info-sreg2.ll
test/CodeGen/ARM/debug-segmented-stacks.ll
test/CodeGen/Hexagon/hwloop-dbg.ll
test/CodeGen/Inputs/DbgValueOtherTargets.ll
test/CodeGen/PowerPC/dbg.ll
test/CodeGen/PowerPC/pr17168.ll
test/CodeGen/PowerPC/unwind-dw2-g.ll
test/CodeGen/Thumb/2010-07-15-debugOrdering.ll
test/CodeGen/X86/2009-02-12-DebugInfoVLA.ll
test/CodeGen/X86/2009-10-16-Scope.ll
test/CodeGen/X86/2010-01-18-DbgValue.ll
test/CodeGen/X86/2010-05-25-DotDebugLoc.ll
test/CodeGen/X86/2010-05-26-DotDebugLoc.ll
test/CodeGen/X86/2010-05-28-Crash.ll
test/CodeGen/X86/2010-06-01-DeadArg-DbgInfo.ll
test/CodeGen/X86/2010-07-06-DbgCrash.ll
test/CodeGen/X86/2010-08-04-StackVariable.ll
test/CodeGen/X86/2010-09-16-EmptyFilename.ll
test/CodeGen/X86/2010-11-02-DbgParameter.ll
test/CodeGen/X86/2011-01-24-DbgValue-Before-Use.ll
test/CodeGen/X86/MachineSink-DbgValue.ll
test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll
test/CodeGen/X86/misched-code-difference-with-debug.ll
test/CodeGen/X86/stack-protector-dbginfo.ll
test/CodeGen/X86/unknown-location.ll
test/CodeGen/XCore/dwarf_debug.ll
test/DebugInfo/2009-11-05-DeadGlobalVariable.ll
test/DebugInfo/2009-11-10-CurrentFn.ll
test/DebugInfo/2010-01-05-DbgScope.ll
test/DebugInfo/2010-03-19-DbgDeclare.ll
test/DebugInfo/2010-03-24-MemberFn.ll
test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll
test/DebugInfo/2010-04-19-FramePtr.ll
test/DebugInfo/2010-05-03-DisableFramePtr.ll
test/DebugInfo/2010-05-03-OriginDIE.ll
test/DebugInfo/2010-05-10-MultipleCU.ll
test/DebugInfo/2010-06-29-InlinedFnLocalVar.ll
test/DebugInfo/2010-07-19-Crash.ll
test/DebugInfo/2010-10-01-crash.ll
test/DebugInfo/AArch64/cfi-eof-prologue.ll
test/DebugInfo/AArch64/coalescing.ll
test/DebugInfo/AArch64/dwarfdump.ll
test/DebugInfo/AArch64/struct_by_value.ll
test/DebugInfo/ARM/PR16736.ll
test/DebugInfo/ARM/cfi-eof-prologue.ll
test/DebugInfo/ARM/lowerbdgdeclare_vla.ll
test/DebugInfo/ARM/s-super-register.ll
test/DebugInfo/COFF/asan-module-ctor.ll
test/DebugInfo/COFF/asm.ll
test/DebugInfo/COFF/cpp-mangling.ll
test/DebugInfo/COFF/multifile.ll
test/DebugInfo/COFF/multifunction.ll
test/DebugInfo/COFF/simple.ll
test/DebugInfo/COFF/tail-call-without-lexical-scopes.ll
test/DebugInfo/Inputs/gmlt.ll
test/DebugInfo/Mips/delay-slot.ll
test/DebugInfo/PR20038.ll
test/DebugInfo/Sparc/gnu-window-save.ll
test/DebugInfo/SystemZ/variable-loc.ll
test/DebugInfo/X86/2010-04-13-PubType.ll
test/DebugInfo/X86/2010-08-10-DbgConstant.ll
test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll
test/DebugInfo/X86/2011-12-16-BadStructRef.ll
test/DebugInfo/X86/DW_AT_byte_size.ll
test/DebugInfo/X86/DW_AT_linkage_name.ll
test/DebugInfo/X86/DW_AT_location-reference.ll
test/DebugInfo/X86/DW_AT_object_pointer.ll
test/DebugInfo/X86/DW_AT_specification.ll
test/DebugInfo/X86/DW_AT_stmt_list_sec_offset.ll
test/DebugInfo/X86/aligned_stack_var.ll
test/DebugInfo/X86/arguments.ll
test/DebugInfo/X86/array.ll
test/DebugInfo/X86/array2.ll
test/DebugInfo/X86/block-capture.ll
test/DebugInfo/X86/byvalstruct.ll
test/DebugInfo/X86/coff_debug_info_type.ll
test/DebugInfo/X86/coff_relative_names.ll
test/DebugInfo/X86/concrete_out_of_line.ll
test/DebugInfo/X86/constant-aggregate.ll
test/DebugInfo/X86/cu-ranges-odr.ll
test/DebugInfo/X86/cu-ranges.ll
test/DebugInfo/X86/dbg-byval-parameter.ll
test/DebugInfo/X86/dbg-const-int.ll
test/DebugInfo/X86/dbg-const.ll
test/DebugInfo/X86/dbg-declare-arg.ll
test/DebugInfo/X86/dbg-declare.ll
test/DebugInfo/X86/dbg-i128-const.ll
test/DebugInfo/X86/dbg-merge-loc-entry.ll
test/DebugInfo/X86/dbg-prolog-end.ll
test/DebugInfo/X86/dbg-subrange.ll
test/DebugInfo/X86/dbg-value-const-byref.ll
test/DebugInfo/X86/dbg-value-dag-combine.ll
test/DebugInfo/X86/dbg-value-inlined-parameter.ll
test/DebugInfo/X86/dbg-value-isel.ll
test/DebugInfo/X86/dbg-value-location.ll
test/DebugInfo/X86/dbg-value-range.ll
test/DebugInfo/X86/dbg-value-terminator.ll
test/DebugInfo/X86/dbg_value_direct.ll
test/DebugInfo/X86/debug-dead-local-var.ll
test/DebugInfo/X86/debug-info-access.ll
test/DebugInfo/X86/debug-info-block-captured-self.ll
test/DebugInfo/X86/debug-info-blocks.ll
test/DebugInfo/X86/debug-info-static-member.ll
test/DebugInfo/X86/debug-loc-asan.ll
test/DebugInfo/X86/debug-loc-offset.ll
test/DebugInfo/X86/debug-ranges-offset.ll
test/DebugInfo/X86/decl-derived-member.ll
test/DebugInfo/X86/discriminator.ll
test/DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll
test/DebugInfo/X86/dwarf-aranges.ll
test/DebugInfo/X86/dwarf-public-names.ll
test/DebugInfo/X86/dwarf-pubnames-split.ll
test/DebugInfo/X86/elf-names.ll
test/DebugInfo/X86/empty-and-one-elem-array.ll
test/DebugInfo/X86/ending-run.ll
test/DebugInfo/X86/fission-inline.ll
test/DebugInfo/X86/fission-ranges.ll
test/DebugInfo/X86/formal_parameter.ll
test/DebugInfo/X86/generate-odr-hash.ll
test/DebugInfo/X86/ghost-sdnode-dbgvalues.ll
test/DebugInfo/X86/gnu-public-names.ll
test/DebugInfo/X86/inline-member-function.ll
test/DebugInfo/X86/inline-seldag-test.ll
test/DebugInfo/X86/instcombine-instrinsics.ll
test/DebugInfo/X86/lexical_block.ll
test/DebugInfo/X86/line-info.ll
test/DebugInfo/X86/linkage-name.ll
test/DebugInfo/X86/low-pc-cu.ll
test/DebugInfo/X86/misched-dbg-value.ll
test/DebugInfo/X86/nodebug_with_debug_loc.ll
test/DebugInfo/X86/objc-property-void.ll
test/DebugInfo/X86/op_deref.ll
test/DebugInfo/X86/parameters.ll
test/DebugInfo/X86/pieces-1.ll
test/DebugInfo/X86/pieces-2.ll
test/DebugInfo/X86/pieces-3.ll
test/DebugInfo/X86/pr11300.ll
test/DebugInfo/X86/pr12831.ll
test/DebugInfo/X86/pr13303.ll
test/DebugInfo/X86/pr19307.ll
test/DebugInfo/X86/prologue-stack.ll
test/DebugInfo/X86/recursive_inlining.ll
test/DebugInfo/X86/reference-argument.ll
test/DebugInfo/X86/rvalue-ref.ll
test/DebugInfo/X86/sret.ll
test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
test/DebugInfo/X86/subrange-type.ll
test/DebugInfo/X86/subreg.ll
test/DebugInfo/X86/subregisters.ll
test/DebugInfo/X86/template.ll
test/DebugInfo/X86/tls.ll
test/DebugInfo/X86/union-template.ll
test/DebugInfo/X86/vla.ll
test/DebugInfo/array.ll
test/DebugInfo/block-asan.ll
test/DebugInfo/constant-pointers.ll
test/DebugInfo/cross-cu-inlining.ll
test/DebugInfo/cross-cu-linkonce-distinct.ll
test/DebugInfo/cross-cu-linkonce.ll
test/DebugInfo/cu-range-hole.ll
test/DebugInfo/cu-ranges.ll
test/DebugInfo/dead-argument-order.ll
test/DebugInfo/debug-info-always-inline.ll
test/DebugInfo/debug-info-qualifiers.ll
test/DebugInfo/debuginfofinder-multiple-cu.ll
test/DebugInfo/duplicate_inline.ll
test/DebugInfo/dwarf-public-names.ll
test/DebugInfo/enum-types.ll
test/DebugInfo/enum.ll
test/DebugInfo/global.ll
test/DebugInfo/incorrect-variable-debugloc.ll
test/DebugInfo/incorrect-variable-debugloc1.ll
test/DebugInfo/inheritance.ll
test/DebugInfo/inline-debug-info-multiret.ll
test/DebugInfo/inline-debug-info.ll
test/DebugInfo/inline-no-debug-info.ll
test/DebugInfo/inline-scopes.ll
test/DebugInfo/inlined-arguments.ll
test/DebugInfo/inlined-vars.ll
test/DebugInfo/lto-comp-dir.ll
test/DebugInfo/member-order.ll
test/DebugInfo/missing-abstract-variable.ll
test/DebugInfo/multiline.ll
test/DebugInfo/namespace.ll
test/DebugInfo/namespace_function_definition.ll
test/DebugInfo/namespace_inline_function_definition.ll
test/DebugInfo/nodebug.ll
test/DebugInfo/restrict.ll
test/DebugInfo/sugared-constants.ll
test/DebugInfo/tu-composite.ll
test/DebugInfo/two-cus-from-same-file.ll
test/DebugInfo/unconditional-branch.ll
test/DebugInfo/varargs.ll
test/DebugInfo/version.ll
test/Feature/md_on_instruction.ll
test/Instrumentation/AddressSanitizer/debug_info.ll
test/Instrumentation/DataFlowSanitizer/debug.ll
test/Instrumentation/MemorySanitizer/store-origin.ll
test/Instrumentation/SanitizerCoverage/coverage-dbg.ll
test/Instrumentation/SanitizerCoverage/coverage2-dbg.ll
test/JitListener/multiple.ll
test/JitListener/simple.ll
test/Linker/2011-08-04-DebugLoc.ll
test/Linker/2011-08-04-DebugLoc2.ll
test/Linker/2011-08-04-Metadata.ll
test/Linker/2011-08-04-Metadata2.ll
test/Linker/2011-08-18-unique-class-type.ll
test/Linker/2011-08-18-unique-class-type2.ll
test/Linker/2011-08-18-unique-debug-type.ll
test/Linker/2011-08-18-unique-debug-type2.ll
test/Linker/DbgDeclare.ll
test/Linker/DbgDeclare2.ll
test/Linker/Inputs/replaced-function-matches-first-subprogram.ll
test/Linker/Inputs/type-unique-inheritance-a.ll
test/Linker/Inputs/type-unique-inheritance-b.ll
test/Linker/Inputs/type-unique-simple2-a.ll
test/Linker/Inputs/type-unique-simple2-b.ll
test/Linker/replaced-function-matches-first-subprogram.ll
test/Linker/type-unique-odr-a.ll
test/Linker/type-unique-odr-b.ll
test/Linker/type-unique-simple-a.ll
test/Linker/type-unique-simple-b.ll
test/Linker/type-unique-simple2-a.ll
test/Linker/type-unique-simple2-b.ll
test/Linker/type-unique-type-array-a.ll
test/Linker/type-unique-type-array-b.ll
test/MC/ARM/coff-debugging-secrel.ll
test/MC/ELF/cfi-version.ll
test/Transforms/AddDiscriminators/basic.ll
test/Transforms/AddDiscriminators/first-only.ll
test/Transforms/AddDiscriminators/multiple.ll
test/Transforms/AddDiscriminators/no-discriminators.ll
test/Transforms/ArgumentPromotion/dbg.ll
test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
test/Transforms/DeadArgElim/dbginfo.ll
test/Transforms/GCOVProfiling/function-numbering.ll
test/Transforms/GCOVProfiling/global-ctor.ll
test/Transforms/GCOVProfiling/linezero.ll
test/Transforms/GCOVProfiling/linkagename.ll
test/Transforms/GCOVProfiling/return-block.ll
test/Transforms/GCOVProfiling/version.ll
test/Transforms/GlobalOpt/2009-03-05-dbg.ll
test/Transforms/Inline/debug-invoke.ll
test/Transforms/Inline/inline_dbg_declare.ll
test/Transforms/InstCombine/debug-line.ll
test/Transforms/InstCombine/debuginfo.ll
test/Transforms/LICM/debug-value.ll
test/Transforms/LoopIdiom/debug-line.ll
test/Transforms/LoopRotate/dbgvalue.ll
test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
test/Transforms/LoopVectorize/X86/vectorization-remarks.ll
test/Transforms/LoopVectorize/conditional-assignment.ll
test/Transforms/LoopVectorize/control-flow.ll
test/Transforms/LoopVectorize/dbg.value.ll
test/Transforms/LoopVectorize/debugloc.ll
test/Transforms/LoopVectorize/no_array_bounds.ll
test/Transforms/LoopVectorize/no_switch.ll
test/Transforms/Mem2Reg/ConvertDebugInfo.ll
test/Transforms/Mem2Reg/ConvertDebugInfo2.ll
test/Transforms/ObjCARC/ensure-that-exception-unwind-path-is-visited.ll
test/Transforms/SLPVectorizer/X86/debug_info.ll
test/Transforms/SampleProfile/branch.ll
test/Transforms/SampleProfile/calls.ll
test/Transforms/SampleProfile/discriminator.ll
test/Transforms/SampleProfile/fnptr.ll
test/Transforms/SampleProfile/propagate.ll
test/Transforms/ScalarRepl/debuginfo-preserved.ll
test/Transforms/Scalarizer/dbginfo.ll
test/Transforms/SimplifyCFG/branch-fold-dbg.ll
test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
test/Transforms/SimplifyCFG/trap-debugloc.ll
test/Transforms/StripSymbols/2010-06-30-StripDebug.ll
test/Transforms/StripSymbols/2010-08-25-crash.ll
test/Transforms/StripSymbols/strip-dead-debug-info.ll

index 9e44635..5c85d6d 100644 (file)
@@ -877,10 +877,26 @@ class DILocation : public DIDescriptor {
 public:
   explicit DILocation(const MDNode *N) : DIDescriptor(N) {}
 
-  unsigned getLineNumber() const { return getUnsignedField(0); }
-  unsigned getColumnNumber() const { return getUnsignedField(1); }
-  DIScope getScope() const { return getFieldAs<DIScope>(2); }
-  DILocation getOrigLocation() const { return getFieldAs<DILocation>(3); }
+  unsigned getLineNumber() const {
+    if (auto *L = dyn_cast_or_null<MDLocation>(DbgNode))
+      return L->getLine();
+    return 0;
+  }
+  unsigned getColumnNumber() const {
+    if (auto *L = dyn_cast_or_null<MDLocation>(DbgNode))
+      return L->getColumn();
+    return 0;
+  }
+  DIScope getScope() const {
+    if (auto *L = dyn_cast_or_null<MDLocation>(DbgNode))
+      return DIScope(dyn_cast_or_null<MDNode>(L->getScope()));
+    return DIScope(nullptr);
+  }
+  DILocation getOrigLocation() const {
+    if (auto *L = dyn_cast_or_null<MDLocation>(DbgNode))
+      return DILocation(dyn_cast_or_null<MDNode>(L->getInlinedAt()));
+    return DILocation(nullptr);
+  }
   StringRef getFilename() const { return getScope().getFilename(); }
   StringRef getDirectory() const { return getScope().getDirectory(); }
   bool Verify() const;
@@ -901,7 +917,9 @@ public:
     // sure this location is a lexical block before retrieving its
     // value.
     return getScope().isLexicalBlockFile()
-               ? getFieldAs<DILexicalBlockFile>(2).getDiscriminator()
+               ? DILexicalBlockFile(
+                     cast<MDNode>(cast<MDLocation>(DbgNode)->getScope()))
+                     .getDiscriminator()
                : 0;
   }
 
index 330d5e1..290dbe2 100644 (file)
@@ -592,10 +592,7 @@ bool DIExpression::Verify() const {
 }
 
 bool DILocation::Verify() const {
-  if (!DbgNode)
-    return false;
-
-  return DbgNode->getNumOperands() == 4;
+  return DbgNode && isa<MDLocation>(DbgNode);
 }
 
 bool DINameSpace::Verify() const {
@@ -830,16 +827,12 @@ void DICompileUnit::replaceGlobalVariables(DIArray GlobalVariables) {
 
 DILocation DILocation::copyWithNewScope(LLVMContext &Ctx,
                                         DILexicalBlockFile NewScope) {
-  SmallVector<Metadata *, 10> Elts;
   assert(Verify());
-  for (unsigned I = 0; I < DbgNode->getNumOperands(); ++I) {
-    if (I != 2)
-      Elts.push_back(DbgNode->getOperand(I));
-    else
-      Elts.push_back(NewScope);
-  }
-  MDNode *NewDIL = MDNode::get(Ctx, Elts);
-  return DILocation(NewDIL);
+  assert(NewScope && "Expected valid scope");
+
+  const auto *Old = cast<MDLocation>(DbgNode);
+  return DILocation(MDLocation::get(Ctx, Old->getLine(), Old->getColumn(),
+                                    NewScope, Old->getInlinedAt()));
 }
 
 unsigned DILocation::computeNewDiscriminator(LLVMContext &Ctx) {
index 88f2dbc..075f295 100644 (file)
@@ -58,12 +58,8 @@ DebugLoc DebugLoc::get(unsigned Line, unsigned Col,
   if (Col > 255) Col = 0;
   if (Line >= (1 << 24)) Line = 0;
 
-  LLVMContext &Context = Scope->getContext();
-  Type *Int32 = Type::getInt32Ty(Context);
-  Metadata *Elts[] = {ConstantAsMetadata::get(ConstantInt::get(Int32, Line)),
-                      ConstantAsMetadata::get(ConstantInt::get(Int32, Col)),
-                      Scope, InlinedAt};
-  return getFromDILocation(MDNode::get(Context, Elts));
+  return getFromDILocation(
+      MDLocation::get(Scope->getContext(), Line, Col, Scope, InlinedAt));
 }
 
 /// getAsMDNode - This method converts the compressed DebugLoc node into a
index 7e11dba..517138d 100644 (file)
@@ -35,7 +35,7 @@ entry:
 
 !llvm.module.flags = !{!4}
 
-!0 = !{i32 662302, i32 26, !1, null}
+!0 = !MDLocation(line: 662302, column: 26, scope: !1)
 !1 = !{i32 4, !"foo"}
 !2 = !{!"bar"}
 !3 = !{!"foo"}
@@ -49,7 +49,7 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 
 ; CHECK: !foo = !{![[FOO]]}
 ; CHECK: !bar = !{![[BAR]]}
-; CHECK: ![[ID0]] = !{i32 662302, i32 26, ![[ID1]], null}
+; CHECK: ![[ID0]] = !MDLocation(line: 662302, column: 26, scope: ![[ID1]])
 ; CHECK: ![[ID1]] = !{i32 4, !"foo"}
 ; CHECK: ![[ID2]] = !{!"bar"}
 ; CHECK: ![[ID3]] = !{!"foo"}
index efd659e..e2c5923 100644 (file)
@@ -11,7 +11,7 @@ define void @test() {
   ret void, !foo !0, !bar !1
 }
 
-!0 = !{i32 662302, i32 26, !1, null}
+!0 = !MDLocation(line: 662302, column: 26, scope: !1)
 !1 = !{i32 4, !"foo"}
 
 declare void @llvm.dbg.func.start(metadata) nounwind readnone
index e9a0540..0f3daac 100644 (file)
@@ -1436,7 +1436,7 @@ let test_builder () =
  * CHECK: !llvm.module.flags = !{!0}
  * CHECK: !0 = !{i32 1, !"Debug Info Version", i32 2}
  * CHECK: !1 = !{i32 1, !"metadata test"}
- * CHECK: !2 = !{i32 2, i32 3, !3, !3}
+ * CHECK: !2 = !MDLocation(line: 2, column: 3, scope: !3, inlinedAt: !3)
  *)
 
 (*===-- Pass Managers -----------------------------------------------------===*)
index 2cf8d56..5109b5e 100644 (file)
@@ -22,7 +22,7 @@ entry:
 !7 = !{!8}
 !8 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
 !9 = !{i32 2, !"Dwarf Version", i32 2}
-!12 = !{i32 4, i32 0, !4, null}
+!12 = !MDLocation(line: 4, scope: !4)
 
 ; WARN: warning: ignoring debug info with an invalid version (0)
 ; CHECK-NOT: !dbg
index 7f47975..00015d1 100644 (file)
@@ -5,7 +5,7 @@
 ; Bugpoint should keep the call's metadata attached to the call.
 
 ; CHECK: call void @foo(), !dbg ![[LOC:[0-9]+]], !attach ![[CALL:[0-9]+]]
-; CHECK: ![[LOC]] = !{i32 104, i32 105, ![[SCOPE:[0-9]+]], ![[SCOPE]]}
+; CHECK: ![[LOC]] = !MDLocation(line: 104, column: 105, scope: ![[SCOPE:[0-9]+]], inlinedAt: ![[SCOPE]])
 ; CHECK: ![[SCOPE]] = !{!"0x11\000\00me\001\00\000\00\000", ![[FILE:[0-9]+]], ![[LIST:[0-9]+]], ![[LIST]], null, null, null}
 ; CHECK: ![[FILE]] = !{!"source.c", !"/dir"}
 ; CHECK: ![[LIST]] = !{i32 0}
@@ -32,11 +32,11 @@ declare void @foo()
 !4 = !{!"filler"}
 
 !9 = !{!"0x11\000\00me\001\00\000\00\000", !15, !16, !16, null, null, null} ; [ DW_TAG_compile_unit ]
-!10 = !{i32 100, i32 101, !9, !9}
-!11 = !{i32 102, i32 103, !9, !9}
-!12 = !{i32 104, i32 105, !9, !9}
-!13 = !{i32 106, i32 107, !9, !9}
-!14 = !{i32 108, i32 109, !9, !9}
+!10 = !MDLocation(line: 100, column: 101, scope: !9, inlinedAt: !9)
+!11 = !MDLocation(line: 102, column: 103, scope: !9, inlinedAt: !9)
+!12 = !MDLocation(line: 104, column: 105, scope: !9, inlinedAt: !9)
+!13 = !MDLocation(line: 106, column: 107, scope: !9, inlinedAt: !9)
+!14 = !MDLocation(line: 108, column: 109, scope: !9, inlinedAt: !9)
 !15 = !{!"source.c", !"/dir"}
 !16 = !{i32 0}
 !17 = !{i32 1, !"Debug Info Version", i32 2}
index a9b1986..73ee522 100644 (file)
@@ -83,24 +83,24 @@ attributes #1 = { nounwind readnone }
 !36 = !{i32 2, !"Dwarf Version", i32 4}
 !37 = !{i32 2, !"Debug Info Version", i32 2}
 !38 = !{!"clang version 3.6.0 "}
-!39 = !{i32 154, i32 8, !40, null}
+!39 = !MDLocation(line: 154, column: 8, scope: !40)
 !40 = !{!"0xb\00154\008\002", !1, !41} ; [ DW_TAG_lexical_block ] [  ] []
 !41 = !{!"0xb\00154\008\001", !1, !42} ; [ DW_TAG_lexical_block ] [  ] []
 !42 = !{!"0xb\00154\003\000", !1, !4} ; [ DW_TAG_lexical_block ] [  ] []
-!43 = !{i32 157, i32 5, !44, null}
+!43 = !MDLocation(line: 157, column: 5, scope: !44)
 !44 = !{!"0xb\00154\0042\000", !1, !42} ; [ DW_TAG_lexical_block ] [  ] []
-!45 = !{i32 159, i32 5, !44, null}
+!45 = !MDLocation(line: 159, column: 5, scope: !44)
 !46 = !{!47, !47, i64 0}
 !47 = !{!"int", !48, i64 0}
 !48 = !{!"omnipotent char", !49, i64 0}
 !49 = !{!"Simple C/C++ TBAA"}
-!50 = !{i32 160, i32 5, !44, null}
-!51 = !{i32 161, i32 5, !44, null}
-!52 = !{i32 188, i32 5, !44, null}
-!53 = !{i32 190, i32 5, !44, null}
-!54 = !{i32 198, i32 5, !44, null}
-!55 = !{i32 144, i32 13, !4, null}
-!56 = !{i32 200, i32 5, !44, null}
-!57 = !{i32 203, i32 5, !44, null}
-!58 = !{i32 207, i32 5, !44, null}
-!59 = !{i32 208, i32 5, !44, null}
+!50 = !MDLocation(line: 160, column: 5, scope: !44)
+!51 = !MDLocation(line: 161, column: 5, scope: !44)
+!52 = !MDLocation(line: 188, column: 5, scope: !44)
+!53 = !MDLocation(line: 190, column: 5, scope: !44)
+!54 = !MDLocation(line: 198, column: 5, scope: !44)
+!55 = !MDLocation(line: 144, column: 13, scope: !4)
+!56 = !MDLocation(line: 200, column: 5, scope: !44)
+!57 = !MDLocation(line: 203, column: 5, scope: !44)
+!58 = !MDLocation(line: 207, column: 5, scope: !44)
+!59 = !MDLocation(line: 208, column: 5, scope: !44)
index 9644ba0..8b88c0b 100644 (file)
@@ -34,12 +34,12 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !10 = !{!"0x2e\00print_double\00print_double\00\00203\001\001\000\006\00256\000\000", !20, !2, !4, null, null, null, null, null} ; [ DW_TAG_subprogram ]
 !11 = !{!"0x2e\00print_number\00print_number\00\0075\001\001\000\006\00256\000\000", !20, !2, !4, i32 0, null, null, null, null} ; [ DW_TAG_subprogram ]
 !12 = !{!"0x2e\00get_flags\00get_flags\00\00508\001\001\000\006\00256\000\000", !20, !2, !8, null, null, null, null, null} ; [ DW_TAG_subprogram ]
-!13 = !{i32 653, i32 5, !14, null}
+!13 = !MDLocation(line: 653, column: 5, scope: !14)
 !14 = !{!"0xb\00652\0035\002", !20, !15} ; [ DW_TAG_lexical_block ]
 !15 = !{!"0xb\00616\001\000", !20, !1} ; [ DW_TAG_lexical_block ]
 !16 = !{!"0x100\00do_tab_convert\00853\000", !17, !2, !6} ; [ DW_TAG_auto_variable ]
 !17 = !{!"0xb\00850\0012\0033", !20, !14} ; [ DW_TAG_lexical_block ]
-!18 = !{i32 853, i32 11, !17, null}
-!19 = !{i32 853, i32 29, !17, null}
+!18 = !MDLocation(line: 853, column: 11, scope: !17)
+!19 = !MDLocation(line: 853, column: 29, scope: !17)
 !20 = !{!"print.i", !"/Volumes/Ebi/echeng/radars/r9146594"}
 !21 = !{i32 0}
index 288bb05..de05644 100644 (file)
@@ -22,13 +22,13 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 
 declare i32 @foo(i32) ssp
 
-!0 = !{i32 5, i32 2, !1, null}
+!0 = !MDLocation(line: 5, column: 2, scope: !1)
 !1 = !{!"0xb\001\001\000", null, !2}; [DW_TAG_lexical_block ]
 !2 = !{!"0x2e\00bar\00bar\00bar\004\000\001\000\006\000\000\000", i32 0, !3, null, null, null, null, null, null}; [DW_TAG_subprogram ]
 !3 = !{!"0x11\0012\00clang 1.1\001\00\000\00\000", !8, null, !9, null, null, null}; [DW_TAG_compile_unit ]
 !4 = !{!"0x100\00count_\005\000", !5, !3, !6}; [ DW_TAG_auto_variable ]
 !5 = !{!"0xb\001\001\000", null, !1}; [DW_TAG_lexical_block ]
 !6 = !{!"0x24\00int\000\0032\0032\000\000\005", null, !3}; [DW_TAG_base_type ]
-!7 = !{i32 6, i32 1, !2, null}
+!7 = !MDLocation(line: 6, column: 1, scope: !2)
 !8 = !{!"genmodes.i", !"/Users/yash/Downloads"}
 !9 = !{i32 0}
index 846d4c5..6f7db93 100644 (file)
@@ -24,9 +24,9 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !6 = !{!"0x16\00SItype\00152\000\000\000\000", !12, null, !8} ; [ DW_TAG_typedef ]
 !7 = !{!"0x29", !"libgcc2.h", !"/Users/bwilson/local/nightly/test-2010-04-14/build/llvmgcc.roots/llvmgcc~obj/src/gcc", !3} ; [ DW_TAG_file_type ]
 !8 = !{!"0x24\00int\000\0032\0032\000\000\005", !12, !2} ; [ DW_TAG_base_type ]
-!9 = !{i32 95, i32 0, !10, null}
+!9 = !MDLocation(line: 95, scope: !10)
 !10 = !{!"0xb\0094\000\000", !12, !1} ; [ DW_TAG_lexical_block ]
-!11 = !{i32 100, i32 0, !10, null}
+!11 = !MDLocation(line: 100, scope: !10)
 !13 = !{i32 0}
 !14 = !{!1}
 !15 = !{i32 1, !"Debug Info Version", i32 2}
index 2f6a660..18b3be0 100644 (file)
@@ -62,15 +62,15 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !12 = !{!"0x100\00c\007\000", !11, !2, !13} ; [ DW_TAG_auto_variable ]
 !13 = !{!"0x24\00int\000\0032\0032\000\000\005", !26, !2} ; [ DW_TAG_base_type ]
 !14 = !{!"0x34\00length\00length\00length\001\000\001", !2, !2, !13, i32* @length} ; [ DW_TAG_variable ]
-!15 = !{i32 4, i32 24, !1, null}
-!16 = !{i32 4, i32 43, !1, null}
-!17 = !{i32 9, i32 2, !11, null}
+!15 = !MDLocation(line: 4, column: 24, scope: !1)
+!16 = !MDLocation(line: 4, column: 43, scope: !1)
+!17 = !MDLocation(line: 9, column: 2, scope: !11)
 !18 = !{i32 0}
-!19 = !{i32 10, i32 2, !11, null}
-!20 = !{i32 11, i32 2, !11, null}
-!21 = !{i32 12, i32 3, !22, null}
+!19 = !MDLocation(line: 10, column: 2, scope: !11)
+!20 = !MDLocation(line: 11, column: 2, scope: !11)
+!21 = !MDLocation(line: 12, column: 3, scope: !22)
 !22 = !{!"0xb\0011\0045\000", !26, !11} ; [ DW_TAG_lexical_block ]
-!23 = !{i32 13, i32 3, !22, null}
-!24 = !{i32 14, i32 2, !22, null}
-!25 = !{i32 15, i32 1, !11, null}
+!23 = !MDLocation(line: 13, column: 3, scope: !22)
+!24 = !MDLocation(line: 14, column: 2, scope: !22)
+!25 = !MDLocation(line: 15, column: 1, scope: !11)
 !26 = !{!"t.c", !"/private/tmp"}
index 9de31d8..f71a6c9 100644 (file)
@@ -101,28 +101,28 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !21 = !{!"0x15\00\000\000\000\000\000\000", !48, null, null, !22, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !22 = !{!13}
 !23 = !{!"0x101\00i\0016\000", !17, !2, !13} ; [ DW_TAG_arg_variable ]
-!24 = !{i32 16, i32 0, !17, null}
+!24 = !MDLocation(line: 16, scope: !17)
 !25 = !{!"0x101\00location\0016\000", !17, !2, !26} ; [ DW_TAG_arg_variable ]
 !26 = !{!"0x10\00SVal\000\0064\0064\000\000", !48, !2, !1} ; [ DW_TAG_reference_type ]
-!27 = !{i32 17, i32 0, !28, null}
+!27 = !MDLocation(line: 17, scope: !28)
 !28 = !{!"0xb\0016\000\002", !2, !17} ; [ DW_TAG_lexical_block ]
-!29 = !{i32 18, i32 0, !28, null}
-!30 = !{i32 20, i32 0, !28, null}
+!29 = !MDLocation(line: 18, scope: !28)
+!30 = !MDLocation(line: 20, scope: !28)
 !31 = !{!"0x101\00this\0011\000", !16, !2, !32} ; [ DW_TAG_arg_variable ]
 !32 = !{!"0x26\00\000\0064\0064\000\0064", !48, !2, !33} ; [ DW_TAG_const_type ]
 !33 = !{!"0xf\00\000\0064\0064\000\000", !48, !2, !1} ; [ DW_TAG_pointer_type ]
-!34 = !{i32 11, i32 0, !16, null}
-!35 = !{i32 11, i32 0, !36, null}
+!34 = !MDLocation(line: 11, scope: !16)
+!35 = !MDLocation(line: 11, scope: !36)
 !36 = !{!"0xb\0011\000\001", !48, !37} ; [ DW_TAG_lexical_block ]
 !37 = !{!"0xb\0011\000\000", !48, !16} ; [ DW_TAG_lexical_block ]
 !38 = !{!"0x100\00v\0024\000", !39, !2, !1} ; [ DW_TAG_auto_variable ]
 !39 = !{!"0xb\0023\000\004", !48, !40} ; [ DW_TAG_lexical_block ]
 !40 = !{!"0xb\0023\000\003", !48, !20} ; [ DW_TAG_lexical_block ]
-!41 = !{i32 24, i32 0, !39, null}
-!42 = !{i32 25, i32 0, !39, null}
-!43 = !{i32 26, i32 0, !39, null}
+!41 = !MDLocation(line: 24, scope: !39)
+!42 = !MDLocation(line: 25, scope: !39)
+!43 = !MDLocation(line: 26, scope: !39)
 !44 = !{!"0x100\00k\0026\000", !39, !2, !13} ; [ DW_TAG_auto_variable ]
-!45 = !{i32 27, i32 0, !39, null}
+!45 = !MDLocation(line: 27, scope: !39)
 !46 = !{!16, !17, !20}
 !47 = !{}
 !48 = !{!"small.cc", !"/Users/manav/R8248330"}
index 569fcc4..67dda67 100644 (file)
@@ -108,16 +108,16 @@ entry:
 !27 = !{!"0x101\00a\0016\000", !9, !1, !5} ; [ DW_TAG_arg_variable ]
 !28 = !{!"0x100\00b\0016\000", !29, !1, !5} ; [ DW_TAG_auto_variable ]
 !29 = !{!"0xb\0016\000\004", !47, !9} ; [ DW_TAG_lexical_block ]
-!30 = !{i32 4, i32 0, !0, null}
-!31 = !{i32 4, i32 0, !12, null}
-!32 = !{i32 7, i32 0, !6, null}
-!33 = !{i32 7, i32 0, !20, null}
-!34 = !{i32 10, i32 0, !7, null}
-!35 = !{i32 10, i32 0, !23, null}
-!36 = !{i32 13, i32 0, !8, null}
-!37 = !{i32 13, i32 0, !26, null}
-!38 = !{i32 16, i32 0, !9, null}
-!39 = !{i32 16, i32 0, !29, null}
+!30 = !MDLocation(line: 4, scope: !0)
+!31 = !MDLocation(line: 4, scope: !12)
+!32 = !MDLocation(line: 7, scope: !6)
+!33 = !MDLocation(line: 7, scope: !20)
+!34 = !MDLocation(line: 10, scope: !7)
+!35 = !MDLocation(line: 10, scope: !23)
+!36 = !MDLocation(line: 13, scope: !8)
+!37 = !MDLocation(line: 13, scope: !26)
+!38 = !MDLocation(line: 16, scope: !9)
+!39 = !MDLocation(line: 16, scope: !29)
 !40 = !{!0, !6, !7, !8, !9}
 !41 = !{!13, !14, !15, !16, !17}
 !42 = !{!10, !11}
index 18d866c..3edc946 100644 (file)
@@ -100,16 +100,16 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !27 = !{!"0x101\00a\0016777233\000", !9, !2, !5} ; [ DW_TAG_arg_variable ]
 !28 = !{!"0x100\00b\0017\000", !29, !2, !5} ; [ DW_TAG_auto_variable ]
 !29 = !{!"0xb\0017\0019\004", !47, !9} ; [ DW_TAG_lexical_block ]
-!30 = !{i32 5, i32 16, !1, null}
-!31 = !{i32 5, i32 32, !12, null}
-!32 = !{i32 8, i32 14, !6, null}
-!33 = !{i32 8, i32 29, !15, null}
-!34 = !{i32 11, i32 16, !7, null}
-!35 = !{i32 11, i32 32, !18, null}
-!36 = !{i32 14, i32 16, !8, null}
-!37 = !{i32 14, i32 32, !21, null}
-!38 = !{i32 17, i32 16, !9, null}
-!39 = !{i32 17, i32 32, !29, null}
+!30 = !MDLocation(line: 5, column: 16, scope: !1)
+!31 = !MDLocation(line: 5, column: 32, scope: !12)
+!32 = !MDLocation(line: 8, column: 14, scope: !6)
+!33 = !MDLocation(line: 8, column: 29, scope: !15)
+!34 = !MDLocation(line: 11, column: 16, scope: !7)
+!35 = !MDLocation(line: 11, column: 32, scope: !18)
+!36 = !MDLocation(line: 14, column: 16, scope: !8)
+!37 = !MDLocation(line: 14, column: 32, scope: !21)
+!38 = !MDLocation(line: 17, column: 16, scope: !9)
+!39 = !MDLocation(line: 17, column: 32, scope: !29)
 !40 = !{!1, !6, !7, !8, !9}
 !41 = !{!25, !26}
 !42 = !{!10, !11}
index ff8804b..4e5fb5e 100644 (file)
@@ -100,12 +100,12 @@ attributes #3 = { nounwind }
 !18 = !{!"0x34\00b\00b\00\002\000\001", null, !5, !8, i32* @b, null} ; [ DW_TAG_variable ] [b] [line 2] [def]
 !19 = !{!"0x34\00c\00c\00\003\000\001", null, !5, !8, i32* @c, null} ; [ DW_TAG_variable ] [c] [line 3] [def]
 !20 = !{!"0x34\00d\00d\00\004\000\001", null, !5, !8, i32* @d, null} ; [ DW_TAG_variable ] [d] [line 4] [def]
-!21 = !{i32 10, i32 0, !22, null}
+!21 = !MDLocation(line: 10, scope: !22)
 !22 = !{!"0xb\0010\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [/d/b/pr16110.c]
-!26 = !{i32 12, i32 0, !13, null}
+!26 = !MDLocation(line: 12, scope: !13)
 !27 = !{i32* null}
-!28 = !{i32 13, i32 0, !12, null}
-!29 = !{i32 14, i32 0, !12, null}
-!31 = !{i32 16, i32 0, !4, null}
-!32 = !{i32 18, i32 0, !4, null}
+!28 = !MDLocation(line: 13, scope: !12)
+!29 = !MDLocation(line: 14, scope: !12)
+!31 = !MDLocation(line: 16, scope: !4)
+!32 = !MDLocation(line: 18, scope: !4)
 !33 = !{i32 1, !"Debug Info Version", i32 2}
index 1f04de2..05521d8 100644 (file)
@@ -38,7 +38,7 @@
 !10 = !{i32 1, !"Debug Info Version", i32 2}
 !11 = !{!"clang version 3.5 "}
 !12 = !{!"0x101\00count\0016777221\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [count] [line 5]
-!13 = !{i32 5, i32 0, !4, null}
+!13 = !MDLocation(line: 5, scope: !4)
 !14 = !{!"0x100\00vl\006\000", !4, !5, !15} ; [ DW_TAG_auto_variable ] [vl] [line 6]
 !15 = !{!"0x16\00va_list\0030\000\000\000\000", !16, null, !17} ; [ DW_TAG_typedef ] [va_list] [line 30, size 0, align 0, offset 0] [from __builtin_va_list]
 !16 = !{!"/linux-x86_64-high/gcc_4.7.2/dbg/llvm/bin/../lib/clang/3.5/include/stdarg.h", !"/tmp"}
 !19 = !{!20}
 !20 = !{!"0xd\00__ap\006\0032\0032\000\000", !1, !18, !21} ; [ DW_TAG_member ] [__ap] [line 6, size 32, align 32, offset 0] [from ]
 !21 = !{!"0xf\00\000\0032\0032\000\000", null, null, null} ; [ DW_TAG_pointer_type ] [line 0, size 32, align 32, offset 0] [from ]
-!22 = !{i32 6, i32 0, !4, null}
-!23 = !{i32 7, i32 0, !4, null}
+!22 = !MDLocation(line: 6, scope: !4)
+!23 = !MDLocation(line: 7, scope: !4)
 !24 = !{!"0x100\00sum\008\000", !4, !5, !8} ; [ DW_TAG_auto_variable ] [sum] [line 8]
-!25 = !{i32 8, i32 0, !4, null}
+!25 = !MDLocation(line: 8, scope: !4)
 !26 = !{!"0x100\00i\009\000", !27, !5, !8} ; [ DW_TAG_auto_variable ] [i] [line 9]
 !27 = !{!"0xb\009\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [/tmp/var.c]
-!28 = !{i32 9, i32 0, !27, null}
-!29 = !{i32 10, i32 0, !30, null}
+!28 = !MDLocation(line: 9, scope: !27)
+!29 = !MDLocation(line: 10, scope: !30)
 !30 = !{!"0xb\009\000\001", !1, !27} ; [ DW_TAG_lexical_block ] [/tmp/var.c]
-!31 = !{i32 11, i32 0, !30, null}
-!32 = !{i32 12, i32 0, !4, null}
-!33 = !{i32 13, i32 0, !4, null}
+!31 = !MDLocation(line: 11, scope: !30)
+!32 = !MDLocation(line: 12, scope: !4)
+!33 = !MDLocation(line: 13, scope: !4)
 
 ; CHECK-FP-LABEL: sum
 ; CHECK-FP: .cfi_startproc
index 98bbd97..16e2c4c 100644 (file)
@@ -142,27 +142,27 @@ declare void @_ZSt9terminatev()
 !11 = !{i32 1, !"Debug Info Version", i32 2}
 !12 = !{!"clang version 3.5 "}
 !13 = !{!"0x101\00a\0016777220\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [a] [line 4]
-!14 = !{i32 4, i32 0, !4, null}
+!14 = !MDLocation(line: 4, scope: !4)
 !15 = !{!"0x101\00b\0033554436\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [b] [line 4]
 !16 = !{!"0x101\00c\0050331652\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [c] [line 4]
 !17 = !{!"0x101\00d\0067108868\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [d] [line 4]
 !18 = !{!"0x101\00e\0083886084\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [e] [line 4]
 !19 = !{!"0x101\00m\00100663301\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [m] [line 5]
-!20 = !{i32 5, i32 0, !4, null}
+!20 = !MDLocation(line: 5, scope: !4)
 !21 = !{!"0x101\00n\00117440517\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [n] [line 5]
 !22 = !{!"0x101\00p\00134217733\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [p] [line 5]
 !23 = !{!"0x101\00q\00150994949\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [q] [line 5]
 !24 = !{!"0x101\00r\00167772165\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [r] [line 5]
-!25 = !{i32 7, i32 0, !26, null}
+!25 = !MDLocation(line: 7, scope: !26)
 !26 = !{!"0xb\006\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [/tmp/exp.cpp]
-!27 = !{i32 8, i32 0, !26, null}
-!28 = !{i32 11, i32 0, !26, null}
-!29 = !{i32 9, i32 0, !30, null}
+!27 = !MDLocation(line: 8, scope: !26)
+!28 = !MDLocation(line: 11, scope: !26)
+!29 = !MDLocation(line: 9, scope: !30)
 !30 = !{!"0xb\008\000\001", !1, !4} ; [ DW_TAG_lexical_block ] [/tmp/exp.cpp]
-!31 = !{i32 10, i32 0, !30, null}
-!32 = !{i32 10, i32 0, !4, null}
-!33 = !{i32 11, i32 0, !4, null}
-!34 = !{i32 11, i32 0, !30, null}
+!31 = !MDLocation(line: 10, scope: !30)
+!32 = !MDLocation(line: 10, scope: !4)
+!33 = !MDLocation(line: 11, scope: !4)
+!34 = !MDLocation(line: 11, scope: !30)
 
 ; CHECK-FP-LABEL: _Z4testiiiiiddddd:
 ; CHECK-FP:   .cfi_startproc
index a107c1e..8679589 100644 (file)
@@ -52,16 +52,16 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !17 = !{!"0x101\00y\0067108875\000", !1, !2, !15} ; [ DW_TAG_arg_variable ]
 !18 = !{!"0x101\00ptr1\0083886091\000", !1, !2, !6} ; [ DW_TAG_arg_variable ]
 !19 = !{!"0x101\00ptr2\00100663307\000", !1, !2, !6} ; [ DW_TAG_arg_variable ]
-!20 = !{i32 11, i32 24, !1, null}
-!21 = !{i32 11, i32 44, !1, null}
-!22 = !{i32 11, i32 54, !1, null}
-!23 = !{i32 11, i32 64, !1, null}
-!24 = !{i32 11, i32 81, !1, null}
-!25 = !{i32 11, i32 101, !1, null}
-!26 = !{i32 12, i32 3, !27, null}
+!20 = !MDLocation(line: 11, column: 24, scope: !1)
+!21 = !MDLocation(line: 11, column: 44, scope: !1)
+!22 = !MDLocation(line: 11, column: 54, scope: !1)
+!23 = !MDLocation(line: 11, column: 64, scope: !1)
+!24 = !MDLocation(line: 11, column: 81, scope: !1)
+!25 = !MDLocation(line: 11, column: 101, scope: !1)
+!26 = !MDLocation(line: 12, column: 3, scope: !27)
 !27 = !{!"0xb\0011\00107\000", !2, !1} ; [ DW_TAG_lexical_block ]
-!28 = !{i32 13, i32 5, !27, null}
-!29 = !{i32 14, i32 1, !27, null}
+!28 = !MDLocation(line: 13, column: 5, scope: !27)
+!29 = !MDLocation(line: 14, column: 1, scope: !27)
 !30 = !{!1}
 !31 = !{!5, !13, !14, !17, !18, !19}
 !32 = !{!"one.c", !"/Volumes/Athwagate/R10048772"}
index 05f259b..3bf6ad9 100644 (file)
@@ -224,24 +224,24 @@ define hidden void @foobar_func_block_invoke_0(i8* %.block_descriptor, %0* %load
 !126 = !{!"0xf\00\000\0032\0032\000\000", null, !0, !127} ; [ DW_TAG_pointer_type ]
 !127 = !{!"0x13\00my_struct\0049\000\000\000\004\000", !159, !0, null, null, null, null, null} ; [ DW_TAG_structure_type ] [my_struct] [line 49, size 0, align 0, offset 0] [decl] [from ]
 !128 = !{!"0x29", !159} ; [ DW_TAG_file_type ]
-!129 = !{i32 609, i32 144, !23, null}
+!129 = !MDLocation(line: 609, column: 144, scope: !23)
 !130 = !{!"0x101\00loadedMydata\0033555041\000", !23, !24, !59} ; [ DW_TAG_arg_variable ]
-!131 = !{i32 609, i32 155, !23, null}
+!131 = !MDLocation(line: 609, column: 155, scope: !23)
 !132 = !{!"0x101\00bounds\0050332257\000", !23, !24, !108} ; [ DW_TAG_arg_variable ]
-!133 = !{i32 609, i32 175, !23, null}
+!133 = !MDLocation(line: 609, column: 175, scope: !23)
 !134 = !{!"0x101\00data\0067109473\000", !23, !24, !108} ; [ DW_TAG_arg_variable ]
-!135 = !{i32 609, i32 190, !23, null}
+!135 = !MDLocation(line: 609, column: 190, scope: !23)
 !136 = !{!"0x100\00mydata\00604\000", !23, !24, !50} ; [ DW_TAG_auto_variable ]
-!137 = !{i32 604, i32 49, !23, null}
+!137 = !MDLocation(line: 604, column: 49, scope: !23)
 !138 = !{!"0x100\00self\00604\000", !23, !40, !90} ; [ DW_TAG_auto_variable ]
 !139 = !{!"0x100\00semi\00607\000", !23, !24, !125} ; [ DW_TAG_auto_variable ]
-!140 = !{i32 607, i32 30, !23, null}
-!141 = !{i32 610, i32 17, !142, null}
+!140 = !MDLocation(line: 607, column: 30, scope: !23)
+!141 = !MDLocation(line: 610, column: 17, scope: !142)
 !142 = !{!"0xb\00609\00200\0094", !152, !23} ; [ DW_TAG_lexical_block ]
-!143 = !{i32 611, i32 17, !142, null}
-!144 = !{i32 612, i32 17, !142, null}
-!145 = !{i32 613, i32 17, !142, null}
-!146 = !{i32 615, i32 13, !142, null}
+!143 = !MDLocation(line: 611, column: 17, scope: !142)
+!144 = !MDLocation(line: 612, column: 17, scope: !142)
+!145 = !MDLocation(line: 613, column: 17, scope: !142)
+!146 = !MDLocation(line: 615, column: 13, scope: !142)
 !147 = !{!1, !1, !5, !5, !9, !14, !19, !19, !14, !14, !14, !19, !19, !19}
 !148 = !{!23}
 !149 = !{!"header3.h", !"/Volumes/Sandbox/llvm"}
index 903b945..9475695 100644 (file)
@@ -81,17 +81,17 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !36 = !{!"0x16\00v4sf\003\000\000\000\000", !55, !2, !6} ; [ DW_TAG_typedef ]
 !37 = !{!"0xd\00A\0024\00128\0032\000\000", !55, !15, !38} ; [ DW_TAG_member ]
 !38 = !{!"0x1\00\000\00128\0032\000\000", null, !2, !7, !8, i32 0, i32 0} ; [ DW_TAG_array_type ]
-!39 = !{i32 79, i32 7, !40, null}
+!39 = !MDLocation(line: 79, column: 7, scope: !40)
 !40 = !{!"0xb\0075\0035\0018", !1, !41} ; [ DW_TAG_lexical_block ]
 !41 = !{!"0xb\0075\005\0017", !1, !42} ; [ DW_TAG_lexical_block ]
 !42 = !{!"0xb\0071\0032\0016", !1, !43} ; [ DW_TAG_lexical_block ]
 !43 = !{!"0xb\0071\003\0015", !1, !25} ; [ DW_TAG_lexical_block ]
-!44 = !{i32 75, i32 5, !42, null}
-!45 = !{i32 42, i32 2, !46, !48}
+!44 = !MDLocation(line: 75, column: 5, scope: !42)
+!45 = !MDLocation(line: 42, column: 2, scope: !46, inlinedAt: !48)
 !46 = !{!"0xb\0042\002\0020", !15, !47} ; [ DW_TAG_lexical_block ]
 !47 = !{!"0xb\0041\0028\0019", !15, !14} ; [ DW_TAG_lexical_block ]
-!48 = !{i32 95, i32 3, !25, null}
-!49 = !{i32 99, i32 3, !25, null}
+!48 = !MDLocation(line: 95, column: 3, scope: !25)
+!49 = !MDLocation(line: 99, column: 3, scope: !25)
 !50 = !{!0, !10, !14}
 !51 = !{!18}
 !52 = !{!19, !20, !24, !26, !27, !28, !29}
index 4bc5c46..85b510f 100644 (file)
@@ -85,22 +85,22 @@ declare i32 @puts(i8* nocapture) nounwind
 !23 = !{!"0x101\00argv\0017\000", !10, !1, !13} ; [ DW_TAG_arg_variable ]
 !24 = !{!"0x100\00dval\0019\000", !25, !1, !7} ; [ DW_TAG_auto_variable ]
 !25 = !{!"0xb\0018\000\002", !46, !10} ; [ DW_TAG_lexical_block ]
-!26 = !{i32 4, i32 0, !9, null}
-!27 = !{i32 6, i32 0, !28, null}
+!26 = !MDLocation(line: 4, scope: !9)
+!27 = !MDLocation(line: 6, scope: !28)
 !28 = !{!"0xb\005\000\001", !46, !9} ; [ DW_TAG_lexical_block ]
-!29 = !{i32 7, i32 0, !28, null}
-!30 = !{i32 11, i32 0, !0, null}
-!31 = !{i32 13, i32 0, !32, null}
+!29 = !MDLocation(line: 7, scope: !28)
+!30 = !MDLocation(line: 11, scope: !0)
+!31 = !MDLocation(line: 13, scope: !32)
 !32 = !{!"0xb\0012\000\000", !46, !0} ; [ DW_TAG_lexical_block ]
-!33 = !{i32 14, i32 0, !32, null}
-!34 = !{i32 17, i32 0, !10, null}
-!35 = !{i32 19, i32 0, !25, null}
-!36 = !{i32 20, i32 0, !25, null}
-!37 = !{i32 21, i32 0, !25, null}
-!38 = !{i32 4, i32 0, !9, !37}
-!39 = !{i32 6, i32 0, !28, !37}
-!40 = !{i32 22, i32 0, !25, null}
-!41 = !{i32 23, i32 0, !25, null}
+!33 = !MDLocation(line: 14, scope: !32)
+!34 = !MDLocation(line: 17, scope: !10)
+!35 = !MDLocation(line: 19, scope: !25)
+!36 = !MDLocation(line: 20, scope: !25)
+!37 = !MDLocation(line: 21, scope: !25)
+!38 = !MDLocation(line: 4, scope: !9, inlinedAt: !37)
+!39 = !MDLocation(line: 6, scope: !28, inlinedAt: !37)
+!40 = !MDLocation(line: 22, scope: !25)
+!41 = !MDLocation(line: 23, scope: !25)
 !42 = !{!0, !9, !10}
 !43 = !{!16, !17, !18}
 !44 = !{!19, !20, !21}
index 03a7e4b..c05df6a 100644 (file)
@@ -77,17 +77,17 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !36 = !{!"0x16\00v4sf\003\000\000\000\000", !55, !2, !6} ; [ DW_TAG_typedef ]
 !37 = !{!"0xd\00A\0024\00128\0032\000\000", !55, !15, !38} ; [ DW_TAG_member ]
 !38 = !{!"0x1\00\000\00128\0032\000\000", null, !2, !7, !8, i32 0, i32 0} ; [ DW_TAG_array_type ]
-!39 = !{i32 79, i32 7, !40, null}
+!39 = !MDLocation(line: 79, column: 7, scope: !40)
 !40 = !{!"0xb\0075\0035\0018", !54, !41} ; [ DW_TAG_lexical_block ]
 !41 = !{!"0xb\0075\005\0017", !54, !42} ; [ DW_TAG_lexical_block ]
 !42 = !{!"0xb\0071\0032\0016", !54, !43} ; [ DW_TAG_lexical_block ]
 !43 = !{!"0xb\0071\003\0015", !54, !25} ; [ DW_TAG_lexical_block ]
-!44 = !{i32 75, i32 5, !42, null}
-!45 = !{i32 42, i32 2, !46, !48}
+!44 = !MDLocation(line: 75, column: 5, scope: !42)
+!45 = !MDLocation(line: 42, column: 2, scope: !46, inlinedAt: !48)
 !46 = !{!"0xb\0042\002\0020", !55, !47} ; [ DW_TAG_lexical_block ]
 !47 = !{!"0xb\0041\0028\0019", !55, !14} ; [ DW_TAG_lexical_block ]
-!48 = !{i32 95, i32 3, !25, null}
-!49 = !{i32 99, i32 3, !25, null}
+!48 = !MDLocation(line: 95, column: 3, scope: !25)
+!49 = !MDLocation(line: 99, column: 3, scope: !25)
 !50 = !{!0, !10, !14}
 !51 = !{!18}
 !52 = !{!19, !20, !24, !26, !27, !28, !29}
index 54c38a7..9b303dd 100644 (file)
@@ -89,29 +89,29 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !21 = !{!"0x24\00char\000\008\008\000\000\006", null, !2} ; [ DW_TAG_base_type ]
 !22 = !{!"0x100\00dval\0019\000", !23, !1, !11} ; [ DW_TAG_auto_variable ]
 !23 = !{!"0xb\0018\001\002", !51, !7} ; [ DW_TAG_lexical_block ]
-!24 = !{i32 4, i32 22, !0, null}
-!25 = !{i32 4, i32 33, !0, null}
-!26 = !{i32 4, i32 52, !0, null}
-!27 = !{i32 6, i32 3, !28, null}
+!24 = !MDLocation(line: 4, column: 22, scope: !0)
+!25 = !MDLocation(line: 4, column: 33, scope: !0)
+!26 = !MDLocation(line: 4, column: 52, scope: !0)
+!27 = !MDLocation(line: 6, column: 3, scope: !28)
 !28 = !{!"0xb\005\001\000", !51, !0} ; [ DW_TAG_lexical_block ]
-!29 = !{i32 7, i32 3, !28, null}
-!30 = !{i32 11, i32 42, !6, null}
-!31 = !{i32 11, i32 53, !6, null}
-!32 = !{i32 11, i32 72, !6, null}
-!33 = !{i32 13, i32 3, !34, null}
+!29 = !MDLocation(line: 7, column: 3, scope: !28)
+!30 = !MDLocation(line: 11, column: 42, scope: !6)
+!31 = !MDLocation(line: 11, column: 53, scope: !6)
+!32 = !MDLocation(line: 11, column: 72, scope: !6)
+!33 = !MDLocation(line: 13, column: 3, scope: !34)
 !34 = !{!"0xb\0012\001\001", !51, !6} ; [ DW_TAG_lexical_block ]
-!35 = !{i32 14, i32 3, !34, null}
-!36 = !{i32 17, i32 15, !7, null}
-!37 = !{i32 17, i32 28, !7, null}
-!38 = !{i32 19, i32 31, !23, null}
-!39 = !{i32 20, i32 3, !23, null}
-!40 = !{i32 21, i32 3, !23, null}
-!41 = !{i32 4, i32 22, !0, !40}
-!42 = !{i32 4, i32 33, !0, !40}
-!43 = !{i32 4, i32 52, !0, !40}
-!44 = !{i32 6, i32 3, !28, !40}
-!45 = !{i32 22, i32 3, !23, null}
-!46 = !{i32 23, i32 1, !23, null}
+!35 = !MDLocation(line: 14, column: 3, scope: !34)
+!36 = !MDLocation(line: 17, column: 15, scope: !7)
+!37 = !MDLocation(line: 17, column: 28, scope: !7)
+!38 = !MDLocation(line: 19, column: 31, scope: !23)
+!39 = !MDLocation(line: 20, column: 3, scope: !23)
+!40 = !MDLocation(line: 21, column: 3, scope: !23)
+!41 = !MDLocation(line: 4, column: 22, scope: !0, inlinedAt: !40)
+!42 = !MDLocation(line: 4, column: 33, scope: !0, inlinedAt: !40)
+!43 = !MDLocation(line: 4, column: 52, scope: !0, inlinedAt: !40)
+!44 = !MDLocation(line: 6, column: 3, scope: !28, inlinedAt: !40)
+!45 = !MDLocation(line: 22, column: 3, scope: !23)
+!46 = !MDLocation(line: 23, column: 1, scope: !23)
 !47 = !{!0, !6, !7}
 !48 = !{!8, !10, !12}
 !49 = !{!14, !15, !16}
index 32d4e48..977a6f2 100644 (file)
@@ -54,11 +54,11 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !8 = !{!"0x100\00y\008\000", !9, !2, !7} ; [ DW_TAG_auto_variable ]
 !9 = !{!"0xb\007\0025\002", !18, !10} ; [ DW_TAG_lexical_block ]
 !10 = !{!"0xb\007\003\001", !18, !6} ; [ DW_TAG_lexical_block ]
-!11 = !{i32 6, i32 18, !6, null}
-!12 = !{i32 7, i32 3, !6, null}
-!13 = !{i32 8, i32 20, !9, null}
-!14 = !{i32 7, i32 20, !10, null}
-!15 = !{i32 10, i32 1, !6, null}
+!11 = !MDLocation(line: 6, column: 18, scope: !6)
+!12 = !MDLocation(line: 7, column: 3, scope: !6)
+!13 = !MDLocation(line: 8, column: 20, scope: !9)
+!14 = !MDLocation(line: 7, column: 20, scope: !10)
+!15 = !MDLocation(line: 10, column: 1, scope: !6)
 !16 = !{!1}
 !17 = !{!5, !8}
 !18 = !{!"k.cc", !"/private/tmp"}
index a4f92ec..7ea5665 100644 (file)
@@ -52,7 +52,7 @@ define void @test_basic() #0 {
 !10 = !{i32 1, !"Debug Info Version", i32 2}
 !11 = !{!"clang version 3.5 "}
 !12 = !{!"0x101\00count\0016777221\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [count] [line 5]
-!13 = !{i32 5, i32 0, !4, null}
+!13 = !MDLocation(line: 5, scope: !4)
 !14 = !{!"0x100\00vl\006\000", !4, !5, !15} ; [ DW_TAG_auto_variable ] [vl] [line 6]
 !15 = !{!"0x16\00va_list\0030\000\000\000\000", !16, null, !17} ; [ DW_TAG_typedef ] [va_list] [line 30, size 0, align 0, offset 0] [from __builtin_va_list]
 !16 = !{!"/linux-x86_64-high/gcc_4.7.2/dbg/llvm/bin/../lib/clang/3.5/include/stdarg.h", !"/tmp"}
@@ -61,18 +61,18 @@ define void @test_basic() #0 {
 !19 = !{!20}
 !20 = !{!"0xd\00__ap\006\0032\0032\000\000", !1, !18, !21} ; [ DW_TAG_member ] [__ap] [line 6, size 32, align 32, offset 0] [from ]
 !21 = !{!"0xf\00\000\0032\0032\000\000", null, null, null} ; [ DW_TAG_pointer_type ] [line 0, size 32, align 32, offset 0] [from ]
-!22 = !{i32 6, i32 0, !4, null}
-!23 = !{i32 7, i32 0, !4, null}
+!22 = !MDLocation(line: 6, scope: !4)
+!23 = !MDLocation(line: 7, scope: !4)
 !24 = !{!"0x100\00test_basic\008\000", !4, !5, !8} ; [ DW_TAG_auto_variable ] [sum] [line 8]
-!25 = !{i32 8, i32 0, !4, null}
+!25 = !MDLocation(line: 8, scope: !4)
 !26 = !{!"0x100\00i\009\000", !27, !5, !8} ; [ DW_TAG_auto_variable ] [i] [line 9]
 !27 = !{!"0xb\009\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [/tmp/var.c]
-!28 = !{i32 9, i32 0, !27, null}
-!29 = !{i32 10, i32 0, !30, null}
+!28 = !MDLocation(line: 9, scope: !27)
+!29 = !MDLocation(line: 10, scope: !30)
 !30 = !{!"0xb\009\000\001", !1, !27} ; [ DW_TAG_lexical_block ] [/tmp/var.c]
-!31 = !{i32 11, i32 0, !30, null}
-!32 = !{i32 12, i32 0, !4, null}
-!33 = !{i32 13, i32 0, !4, null}
+!31 = !MDLocation(line: 11, scope: !30)
+!32 = !MDLocation(line: 12, scope: !4)
+!33 = !MDLocation(line: 13, scope: !4)
 
 ; Just to prevent the alloca from being optimized away
 declare void @dummy_use(i32*, i32)
index 2a34329..3c05884 100644 (file)
@@ -51,14 +51,14 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !14 = !{!"0x101\00b\0033554433\000", !5, !6, !9} ; [ DW_TAG_arg_variable ] [b] [line 1]
 !15 = !{!"0x100\00i\002\000", !16, !6, !10} ; [ DW_TAG_auto_variable ] [i] [line 2]
 !16 = !{!"0xb\001\0026\000", !28, !5} ; [ DW_TAG_lexical_block ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c]
-!17 = !{i32 1, i32 15, !5, null}
-!18 = !{i32 1, i32 23, !5, null}
-!19 = !{i32 3, i32 8, !20, null}
+!17 = !MDLocation(line: 1, column: 15, scope: !5)
+!18 = !MDLocation(line: 1, column: 23, scope: !5)
+!19 = !MDLocation(line: 3, column: 8, scope: !20)
 !20 = !{!"0xb\003\003\001", !28, !16} ; [ DW_TAG_lexical_block ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c]
-!21 = !{i32 4, i32 5, !22, null}
+!21 = !MDLocation(line: 4, column: 5, scope: !22)
 !22 = !{!"0xb\003\0028\002", !28, !20} ; [ DW_TAG_lexical_block ] [/usr2/kparzysz/s.hex/t/hwloop-dbg.c]
-!26 = !{i32 3, i32 23, !20, null}
-!27 = !{i32 6, i32 1, !16, null}
+!26 = !MDLocation(line: 3, column: 23, scope: !20)
+!27 = !MDLocation(line: 6, column: 1, scope: !16)
 !28 = !{!"hwloop-dbg.c", !"/usr2/kparzysz/s.hex/t"}
 !29 = !{i32 1, !"Debug Info Version", i32 2}
 !30 = !{i32 0}
index e35ebba..d21a4ee 100644 (file)
@@ -23,8 +23,8 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !6 = !{i32 0}
 !7 = !{!"0x100\00i\003\000", !8, !1, !5} ; [ DW_TAG_auto_variable ]
 !8 = !{!"0xb\002\0012\000", !12, !0} ; [ DW_TAG_lexical_block ]
-!9 = !{i32 3, i32 11, !8, null}
-!10 = !{i32 4, i32 2, !8, null}
+!9 = !MDLocation(line: 3, column: 11, scope: !8)
+!10 = !MDLocation(line: 4, column: 2, scope: !8)
 !11 = !{!0}
 !12 = !{!"/tmp/x.c", !"/Users/manav"}
 !13 = !{i32 1, !"Debug Info Version", i32 2}
index 3618761..bd15367 100644 (file)
@@ -31,9 +31,9 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !13 = !{!15, !16}
 !15 = !{!"0x101\00argc\0016777217\000", !5, !6, !9} ; [ DW_TAG_arg_variable ]
 !16 = !{!"0x101\00argv\0033554433\000", !5, !6, !10} ; [ DW_TAG_arg_variable ]
-!17 = !{i32 1, i32 14, !5, null}
-!18 = !{i32 1, i32 26, !5, null}
-!19 = !{i32 2, i32 3, !20, null}
+!17 = !MDLocation(line: 1, column: 14, scope: !5)
+!18 = !MDLocation(line: 1, column: 26, scope: !5)
+!19 = !MDLocation(line: 2, column: 3, scope: !20)
 !20 = !{!"0xb\001\0034\000", !21, !5} ; [ DW_TAG_lexical_block ]
 !21 = !{!"dbg.c", !"/src"}
 !22 = !{i32 1, !"Debug Info Version", i32 2}
index bef67e8..62a9ede 100644 (file)
@@ -493,26 +493,26 @@ attributes #1 = { nounwind readnone }
 !436 = !{!"0x34\00tmp2\00tmp2\00\0088\001\001", null, !300, !20, null, null} ; [ DW_TAG_variable ] [tmp2] [line 88] [local] [def]
 !437 = !{!"0x34\00tmp1\00tmp1\00\0088\001\001", null, !300, !20, null, null} ; [ DW_TAG_variable ] [tmp1] [line 88] [local] [def]
 !438 = !{i32 2, !"Dwarf Version", i32 4}
-!439 = !{i32 1898, i32 0, !440, null}
+!439 = !MDLocation(line: 1898, scope: !440)
 !440 = !{!"0xb\001898\000\00107", !1, !114} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
-!441 = !{i32 1913, i32 0, !442, null}
+!441 = !MDLocation(line: 1913, scope: !442)
 !442 = !{!"0xb\001913\000\00115", !1, !114} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
-!443 = !{i32 1923, i32 0, !114, null}
+!443 = !MDLocation(line: 1923, scope: !114)
 !444 = !{!"int", !445}
 !445 = !{!"omnipotent char", !446}
 !446 = !{!"Simple C/C++ TBAA"}
 !447 = !{i32 1}
-!448 = !{i32 1925, i32 0, !449, null}
+!448 = !MDLocation(line: 1925, scope: !449)
 !449 = !{!"0xb\001925\000\00121", !1, !114} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
-!450 = !{i32 1939, i32 0, !451, null}
+!450 = !MDLocation(line: 1939, scope: !451)
 !451 = !{!"0xb\001939\000\00127", !1, !114} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
-!452 = !{i32 1940, i32 0, !453, null}
+!452 = !MDLocation(line: 1940, scope: !453)
 !453 = !{!"0xb\001940\000\00129", !1, !454} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
 !454 = !{!"0xb\001939\000\00128", !1, !451} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
-!455 = !{i32 1941, i32 0, !456, null}
+!455 = !MDLocation(line: 1941, scope: !456)
 !456 = !{!"0xb\001941\000\00131", !1, !457} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
 !457 = !{!"0xb\001940\000\00130", !1, !453} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
-!458 = !{i32 2020, i32 0, !459, null}
+!458 = !MDLocation(line: 2020, scope: !459)
 !459 = !{!"0xb\002020\000\00149", !1, !460} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
 !460 = !{!"0xb\002019\000\00148", !1, !461} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
 !461 = !{!"0xb\002019\000\00147", !1, !462} ; [ DW_TAG_lexical_block ] [/home/hfinkel/src/NPB2.3-omp-C/BT/bt.c]
index 0b1bcb3..4ae6ff2 100644 (file)
@@ -30,6 +30,6 @@ attributes #0 = { nounwind }
 !6 = !{!"0x15\00\000\000\000\000\000\000", i32 0, null, null, !7, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !7 = !{null}
 !8 = !{i32 2, !"Dwarf Version", i32 3}
-!9 = !{i32 2, i32 0, !4, null}
-!10 = !{i32 3, i32 0, !4, null}
+!9 = !MDLocation(line: 2, scope: !4)
+!10 = !MDLocation(line: 3, scope: !4)
 !11 = !{i32 1, !"Debug Info Version", i32 2}
index 1403fe0..622f55d 100644 (file)
@@ -48,7 +48,7 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 
 !llvm.dbg.cu = !{!5}
 !llvm.module.flags = !{!104}
-!0 = !{i32 46, i32 0, !1, null}
+!0 = !MDLocation(line: 46, scope: !1)
 !1 = !{!"0xb\0044\000\000", !101, !2} ; [ DW_TAG_lexical_block ]
 !2 = !{!"0xb\0044\000\000", !101, !3} ; [ DW_TAG_lexical_block ]
 !3 = !{!"0x2e\00getClosestDiagonal3\00getClosestDiagonal3\00_Z19getClosestDiagonal3ii\0044\000\001\000\006\000\000\000", !101, null, !6, null, null, null, null, null} ; [ DW_TAG_subprogram ]
@@ -142,13 +142,13 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !89 = !{!"0x2e\00indexOfMaxComponent\00indexOfMaxComponent\00_ZNK9ggVector319indexOfMaxComponentEv\00146\000\000\000\006\000\000\000", !9, !8, !86, null, null, null, null, null} ; [ DW_TAG_subprogram ]
 !90 = !{!"0x2e\00indexOfMaxAbsComponent\00indexOfMaxAbsComponent\00_ZNK9ggVector322indexOfMaxAbsComponentEv\00150\000\000\000\006\000\000\000", !9, !8, !86, null, null, null, null, null} ; [ DW_TAG_subprogram ]
 !91 = !{!"0x100\00vx\0046\000", !1, !4, !13} ; [ DW_TAG_auto_variable ]
-!92 = !{i32 48, i32 0, !1, null}
-!93 = !{i32 218, i32 0, !94, !96}
+!92 = !MDLocation(line: 48, scope: !1)
+!93 = !MDLocation(line: 218, scope: !94, inlinedAt: !96)
 !94 = !{!"0xb\00217\000\000", !101, !95} ; [ DW_TAG_lexical_block ]
 !95 = !{!"0xb\00217\000\000", !101, !77} ; [ DW_TAG_lexical_block ]
-!96 = !{i32 51, i32 0, !1, null}
-!97 = !{i32 227, i32 0, !94, !96}
-!98 = !{i32 52, i32 0, !1, null}
+!96 = !MDLocation(line: 51, scope: !1)
+!97 = !MDLocation(line: 227, scope: !94, inlinedAt: !96)
+!98 = !MDLocation(line: 52, scope: !1)
 !101 = !{!"ggEdgeDiscrepancy.cc", !"/Volumes/Home/grosbaj/sources/llvm-externals/speccpu2000/benchspec/CINT2000/252.eon/src"}
 !102 = !{i32 0}
 !103 = !{!3, !77}
index 803ddf1..6c8e3b5 100644 (file)
@@ -73,15 +73,15 @@ declare void @llvm.stackrestore(i8*) nounwind
 !4 = !{!5, !6}
 !5 = !{!"0x24\00char\000\008\008\000\000\006", null, !2} ; [ DW_TAG_base_type ]
 !6 = !{!"0xf\00\000\0064\0064\000\000", null, !2, !5} ; [ DW_TAG_pointer_type ]
-!7 = !{i32 2, i32 0, !1, null}
+!7 = !MDLocation(line: 2, scope: !1)
 !8 = !{!"0x100\00str.0\003\000", !1, !2, !9} ; [ DW_TAG_auto_variable ]
 !9 = !{!"0xf\00\000\0064\0064\000\0064", null, !2, !10} ; [ DW_TAG_pointer_type ]
 !10 = !{!"0x1\00\000\008\008\000\000", null, !2, !5, !11, i32 0, null, null, null} ; [ DW_TAG_array_type ] [line 0, size 8, align 8, offset 0] [from char]
 !11 = !{!12}
 !12 = !{!"0x21\000\001"}        ; [ DW_TAG_subrange_type ]
-!13 = !{i32 3, i32 0, !14, null}
+!13 = !MDLocation(line: 3, scope: !14)
 !14 = !{!"0xb\000\000\000", !17, !1} ; [ DW_TAG_lexical_block ]
-!15 = !{i32 4, i32 0, !14, null}
-!16 = !{i32 5, i32 0, !14, null}
+!15 = !MDLocation(line: 4, scope: !14)
+!16 = !MDLocation(line: 5, scope: !14)
 !17 = !{!"vla.c", !"/tmp/"}
 !18 = !{i32 0}
index 52a6a5e..e75d594 100644 (file)
@@ -22,13 +22,13 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 
 declare i32 @foo(i32) ssp
 
-!0 = !{i32 5, i32 2, !1, null}
+!0 = !MDLocation(line: 5, column: 2, scope: !1)
 !1 = !{!"0xb\001\001\000", null, !2}; [DW_TAG_lexical_block ]
 !2 = !{!"0x2e\00bar\00bar\00bar\004\000\001\000\006\000\000\000", i32 0, !3, null, null, null, null, null, null} ; [ DW_TAG_subprogram ]
 !3 = !{!"0x11\0012\00clang 1.1\001\00\000\00\000", !8, null, !9, null, null, null}; [DW_TAG_compile_unit ]
 !4 = !{!"0x100\00count_\005\000", !5, !3, !6}; [ DW_TAG_auto_variable ]
 !5 = !{!"0xb\001\001\000", null, !1}; [DW_TAG_lexical_block ]
 !6 = !{!"0x24\00int\000\0032\0032\000\000\005", null, !3}; [DW_TAG_base_type ]
-!7 = !{i32 6, i32 1, !2, null}
+!7 = !MDLocation(line: 6, column: 1, scope: !2)
 !8 = !{!"genmodes.i", !"/Users/yash/Downloads"}
 !9 = !{i32 0}
index 1afb3aa..b21846d 100644 (file)
@@ -46,8 +46,8 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !12 = !{!"0xd\00x\002\0064\0064\000\000", !19, !10, !6} ; [ DW_TAG_member ]
 !13 = !{!"0xd\00y\003\0064\0064\0064\000", !19, !10, !6} ; [ DW_TAG_member ]
 !14 = !{!"0xd\00P2\008\00128\0064\00128\000", !19, !7, !10} ; [ DW_TAG_member ]
-!15 = !{i32 11, i32 0, !1, null}
-!16 = !{i32 12, i32 0, !17, null}
+!15 = !MDLocation(line: 11, scope: !1)
+!16 = !MDLocation(line: 12, scope: !17)
 !17 = !{!"0xb\0011\000\000", !19, !1} ; [ DW_TAG_lexical_block ]
 !18 = !{!1}
 !19 = !{!"b2.c", !"/tmp/"}
index b0b4d17..0d30a3f 100644 (file)
@@ -219,30 +219,30 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !16 = !{!"0x100\00ratio\001923\000", !15, !2, !9} ; [ DW_TAG_auto_variable ]
 !17 = !{!"0x100\00x\001923\000", !15, !2, !9} ; [ DW_TAG_auto_variable ]
 !18 = !{!"0x100\00y\001923\000", !15, !2, !9} ; [ DW_TAG_auto_variable ]
-!19 = !{i32 1929, i32 0, !15, null}
-!20 = !{i32 1931, i32 0, !15, null}
-!21 = !{i32 1932, i32 0, !15, null}
-!22 = !{i32 1933, i32 0, !15, null}
-!23 = !{i32 1934, i32 0, !15, null}
-!24 = !{i32 1938, i32 0, !15, null}
-!25 = !{i32 1939, i32 0, !15, null}
-!26 = !{i32 1940, i32 0, !15, null}
-!27 = !{i32 1941, i32 0, !15, null}
-!28 = !{i32 1946, i32 0, !15, null}
-!29 = !{i32 1948, i32 0, !15, null}
-!30 = !{i32 1950, i32 0, !15, null}
-!31 = !{i32 1951, i32 0, !15, null}
-!32 = !{i32 1953, i32 0, !15, null}
-!33 = !{i32 1955, i32 0, !15, null}
-!34 = !{i32 1956, i32 0, !15, null}
-!35 = !{i32 1957, i32 0, !15, null}
-!36 = !{i32 1958, i32 0, !15, null}
-!37 = !{i32 1960, i32 0, !15, null}
-!38 = !{i32 1962, i32 0, !15, null}
-!39 = !{i32 1963, i32 0, !15, null}
-!40 = !{i32 1964, i32 0, !15, null}
-!41 = !{i32 1965, i32 0, !15, null}
-!42 = !{i32 1969, i32 0, !15, null}
+!19 = !MDLocation(line: 1929, scope: !15)
+!20 = !MDLocation(line: 1931, scope: !15)
+!21 = !MDLocation(line: 1932, scope: !15)
+!22 = !MDLocation(line: 1933, scope: !15)
+!23 = !MDLocation(line: 1934, scope: !15)
+!24 = !MDLocation(line: 1938, scope: !15)
+!25 = !MDLocation(line: 1939, scope: !15)
+!26 = !MDLocation(line: 1940, scope: !15)
+!27 = !MDLocation(line: 1941, scope: !15)
+!28 = !MDLocation(line: 1946, scope: !15)
+!29 = !MDLocation(line: 1948, scope: !15)
+!30 = !MDLocation(line: 1950, scope: !15)
+!31 = !MDLocation(line: 1951, scope: !15)
+!32 = !MDLocation(line: 1953, scope: !15)
+!33 = !MDLocation(line: 1955, scope: !15)
+!34 = !MDLocation(line: 1956, scope: !15)
+!35 = !MDLocation(line: 1957, scope: !15)
+!36 = !MDLocation(line: 1958, scope: !15)
+!37 = !MDLocation(line: 1960, scope: !15)
+!38 = !MDLocation(line: 1962, scope: !15)
+!39 = !MDLocation(line: 1963, scope: !15)
+!40 = !MDLocation(line: 1964, scope: !15)
+!41 = !MDLocation(line: 1965, scope: !15)
+!42 = !MDLocation(line: 1969, scope: !15)
 !43 = !{!0, !11, !12, !13, !14, !16, !17, !18}
 !44 = !{!1}
 !45 = !{!"libgcc2.c", !"/Users/yash/clean/LG.D/gcc/../../llvmgcc/gcc"}
index 7bf3de5..9915a70 100644 (file)
@@ -52,9 +52,9 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !25 = !{!"0x101\00argv\0022\000", !19, !1, !22} ; [ DW_TAG_arg_variable ]
 !26 = !{!"0x100\00e\0023\000", !27, !1, !14} ; [ DW_TAG_auto_variable ]
 !27 = !{!"0xb\0022\000\000", !36, !19} ; [ DW_TAG_lexical_block ]
-!28 = !{i32 18, i32 0, !29, null}
+!28 = !MDLocation(line: 18, scope: !29)
 !29 = !{!"0xb\0017\000\001", !36, !9} ; [ DW_TAG_lexical_block ]
-!30 = !{i32 19, i32 0, !29, null}
+!30 = !MDLocation(line: 19, scope: !29)
 !31 = !{!0}
 !32 = !{!5, !9, !19}
 !33 = !{!4}
index 7bdfdf3..7adacf5 100644 (file)
@@ -34,11 +34,11 @@ entry:
 !6 = !{!"0x24\00int\000\0032\0032\000\000\005", !18, !2} ; [ DW_TAG_base_type ]
 !7 = !{!"0x101\00x\006\000", !8, !2, !6} ; [ DW_TAG_arg_variable ]
 !8 = !{!"0x2e\00bar\00bar\00bar\006\000\001\000\006\000\001\006", !18, !2, !4, null, i32 (i32)* @bar, null, null, !16} ; [ DW_TAG_subprogram ]
-!9 = !{i32 3, i32 0, !10, null}
+!9 = !MDLocation(line: 3, scope: !10)
 !10 = !{!"0xb\002\000\000", !18, !1} ; [ DW_TAG_lexical_block ]
 !11 = !{i32 1}
-!12 = !{i32 3, i32 0, !10, !13}
-!13 = !{i32 7, i32 0, !14, null}
+!12 = !MDLocation(line: 3, scope: !10, inlinedAt: !13)
+!13 = !MDLocation(line: 7, scope: !14)
 !14 = !{!"0xb\006\000\000", !18, !8} ; [ DW_TAG_lexical_block ]
 !15 = !{!0}
 !16 = !{!7}
index fb4e420..3687b82 100644 (file)
@@ -52,7 +52,7 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !26 = !{!"0xb\0019\000\000", !31, !27} ; [ DW_TAG_lexical_block ]
 !27 = !{!"0xb\0019\000\000", !31, !18} ; [ DW_TAG_lexical_block ]
 !28 = !{!"0x100\00b\0021\000", !26, !3, !7} ; [ DW_TAG_auto_variable ]
-!29 = !{i32 16, i32 0, !30, null}
+!29 = !MDLocation(line: 16, scope: !30)
 !30 = !{!"0xb\0015\000\000", !31, !8} ; [ DW_TAG_lexical_block ]
 !31 = !{!"foo.cp", !"/tmp/"}
 !32 = !{i32 0}
index 232a90d..457c498 100644 (file)
@@ -17,7 +17,7 @@
 !104 = !{!"0x1\00\000\0085312\0064\000\000", !109, null, !46, !105, i32 0, null, null, null} ; [ DW_TAG_array_type ] [line 0, size 85312, align 64, offset 0] [from ]
 !105 = !{!106}
 !106 = !{!"0x21\000\001333"}    ; [ DW_TAG_subrange_type ]
-!107 = !{i32 73, i32 0, !103, null}
+!107 = !MDLocation(line: 73, scope: !103)
 !108 = !{i32 0}
 !109 = !{!"pbmsrch.c", !"/Users/grawp/LLVM/test-suite/MultiSource/Benchmarks/MiBench/office-stringsearch"}
 
index d85bcd9..e3decf0 100644 (file)
@@ -102,28 +102,28 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !21 = !{!"0x15\00\000\000\000\000\000\000", !47, !2, null, !22, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !22 = !{!13}
 !23 = !{!"0x101\00i\0016\000", !17, !2, !13} ; [ DW_TAG_arg_variable ]
-!24 = !{i32 16, i32 0, !17, null}
+!24 = !MDLocation(line: 16, scope: !17)
 !25 = !{!"0x101\00location\0016\000", !17, !2, !26} ; [ DW_TAG_arg_variable ]
 !26 = !{!"0x10\00SVal\000\0064\0064\000\000", !47, !2, !1} ; [ DW_TAG_reference_type ]
-!27 = !{i32 17, i32 0, !28, null}
+!27 = !MDLocation(line: 17, scope: !28)
 !28 = !{!"0xb\0016\000\002", !47, !17} ; [ DW_TAG_lexical_block ]
-!29 = !{i32 18, i32 0, !28, null}
-!30 = !{i32 20, i32 0, !28, null}
+!29 = !MDLocation(line: 18, scope: !28)
+!30 = !MDLocation(line: 20, scope: !28)
 !31 = !{!"0x101\00this\0011\000", !16, !2, !32} ; [ DW_TAG_arg_variable ]
 !32 = !{!"0x26\00\000\0064\0064\000\0064", !47, !2, !33} ; [ DW_TAG_const_type ]
 !33 = !{!"0xf\00\000\0064\0064\000\000", !47, !2, !1} ; [ DW_TAG_pointer_type ]
-!34 = !{i32 11, i32 0, !16, null}
-!35 = !{i32 11, i32 0, !36, null}
+!34 = !MDLocation(line: 11, scope: !16)
+!35 = !MDLocation(line: 11, scope: !36)
 !36 = !{!"0xb\0011\000\001", !47, !37} ; [ DW_TAG_lexical_block ]
 !37 = !{!"0xb\0011\000\000", !47, !16} ; [ DW_TAG_lexical_block ]
 !38 = !{!"0x100\00v\0024\000", !39, !2, !1} ; [ DW_TAG_auto_variable ]
 !39 = !{!"0xb\0023\000\004", !47, !40} ; [ DW_TAG_lexical_block ]
 !40 = !{!"0xb\0023\000\003", !47, !20} ; [ DW_TAG_lexical_block ]
-!41 = !{i32 24, i32 0, !39, null}
-!42 = !{i32 25, i32 0, !39, null}
-!43 = !{i32 26, i32 0, !39, null}
+!41 = !MDLocation(line: 24, scope: !39)
+!42 = !MDLocation(line: 25, scope: !39)
+!43 = !MDLocation(line: 26, scope: !39)
 !44 = !{!"0x100\00k\0026\000", !39, !2, !13} ; [ DW_TAG_auto_variable ]
-!45 = !{i32 27, i32 0, !39, null}
+!45 = !MDLocation(line: 27, scope: !39)
 !47 = !{!"small.cc", !"/Users/manav/R8248330"}
 !48 = !{i32 0}
 !49 = !{i32 1, !"Debug Info Version", i32 2}
index a6f2ba9..cf9897a 100644 (file)
@@ -23,9 +23,9 @@ entry:
 !5 = !{!"0x24\00int\000\0032\0032\000\000\005", !14, !1} ; [ DW_TAG_base_type ]
 !6 = !{!"0x2e\00bar\00bar\00bar\004\000\001\000\006\000\000\000", !15, !7, !3, null, i32 ()* @bar, null, null, null} ; [ DW_TAG_subprogram ]
 !7 = !{!"0x29", !15} ; [ DW_TAG_file_type ]
-!8 = !{i32 53, i32 13, !9, null}
+!8 = !MDLocation(line: 53, column: 13, scope: !9)
 !9 = !{!"0xb\0053\0011\000", !14, !0} ; [ DW_TAG_lexical_block ]
-!10 = !{i32 4, i32 13, !11, null}
+!10 = !MDLocation(line: 4, column: 13, scope: !11)
 !11 = !{!"0xb\004\0013\002", !15, !12} ; [ DW_TAG_lexical_block ]
 !12 = !{!"0xb\004\0011\001", !15, !6} ; [ DW_TAG_lexical_block ]
 !13 = !{!0, !6}
index 3ba1ee0..df3aa1f 100644 (file)
@@ -30,8 +30,8 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !9 = !{!10, !11}
 !10 = !{!"0xd\00x\002\0032\0032\000\000", !17,  !1, !5} ; [ DW_TAG_member ]
 !11 = !{!"0xd\00y\002\0032\0032\0032\000", !17, !1, !5} ; [ DW_TAG_member ]
-!12 = !{i32 3, i32 47, !0, null}
-!13 = !{i32 4, i32 2, !14, null}
+!12 = !MDLocation(line: 3, column: 47, scope: !0)
+!13 = !MDLocation(line: 4, column: 2, scope: !14)
 !14 = !{!"0xb\003\0050\000", !17, !0} ; [ DW_TAG_lexical_block ]
 !15 = !{!0}
 !16 = !{!6}
index 74746b9..8404020 100644 (file)
@@ -96,16 +96,16 @@ declare i32 @puts(i8* nocapture) nounwind
 !15 = !{!"0xb\0025\0012\002", !31, !6} ; [ DW_TAG_lexical_block ]
 !16 = !{!"0x24\00unsigned int\000\0032\0032\000\000\007", null, !2} ; [ DW_TAG_base_type ]
 !17 = !{!"0x100\00z_s\0027\000", !15, !1, !9} ; [ DW_TAG_auto_variable ]
-!18 = !{i32 5, i32 41, !0, null}
-!19 = !{i32 5, i32 49, !0, null}
-!20 = !{i32 7, i32 5, !13, null}
-!21 = !{i32 8, i32 9, !22, null}
+!18 = !MDLocation(line: 5, column: 41, scope: !0)
+!19 = !MDLocation(line: 5, column: 49, scope: !0)
+!20 = !MDLocation(line: 7, column: 5, scope: !13)
+!21 = !MDLocation(line: 8, column: 9, scope: !22)
 !22 = !{!"0xb\007\0014\001", !31, !13} ; [ DW_TAG_lexical_block ]
-!23 = !{i32 9, i32 9, !22, null}
-!24 = !{i32 26, i32 38, !15, null}
-!25 = !{i32 27, i32 38, !15, null}
-!26 = !{i32 28, i32 9, !15, null}
-!27 = !{i32 30, i32 1, !15, null}
+!23 = !MDLocation(line: 9, column: 9, scope: !22)
+!24 = !MDLocation(line: 26, column: 38, scope: !15)
+!25 = !MDLocation(line: 27, column: 38, scope: !15)
+!26 = !MDLocation(line: 28, column: 9, scope: !15)
+!27 = !MDLocation(line: 30, column: 1, scope: !15)
 !28 = !{!0, !6}
 !29 = !{!10, !11, !12}
 !30 = !{!14, !17}
index 06d2d36..3a2c58f 100644 (file)
@@ -40,12 +40,12 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !9 = !{!"0x24\00char\000\008\008\000\000\006", null, !0} ; [ DW_TAG_base_type ]
 !10 = !{!"0x100\00a\003\000", !11, !2, !9} ; [ DW_TAG_auto_variable ]
 !11 = !{!"0xb\002\0025\000", !20, !1} ; [ DW_TAG_lexical_block ]
-!12 = !{i32 2, i32 13, !1, null}
-!13 = !{i32 2, i32 22, !1, null}
-!14 = !{i32 3, i32 14, !11, null}
-!15 = !{i32 4, i32 3, !11, null}
-!16 = !{i32 5, i32 5, !11, null}
-!17 = !{i32 7, i32 1, !11, null}
+!12 = !MDLocation(line: 2, column: 13, scope: !1)
+!13 = !MDLocation(line: 2, column: 22, scope: !1)
+!14 = !MDLocation(line: 3, column: 14, scope: !11)
+!15 = !MDLocation(line: 4, column: 3, scope: !11)
+!16 = !MDLocation(line: 5, column: 5, scope: !11)
+!17 = !MDLocation(line: 7, column: 1, scope: !11)
 !18 = !{!1}
 !19 = !{!6, !7, !10}
 !20 = !{!"a.c", !"/private/tmp"}
index 1436692..16d8f97 100644 (file)
@@ -160,45 +160,45 @@ attributes #2 = { nounwind readnone }
 !44 = !{i32 2, !"Dwarf Version", i32 4}
 !45 = !{i32 2, !"Debug Info Version", i32 2}
 !46 = !{!"clang version 3.5.0 "}
-!47 = !{i32 11, i32 0, !24, null}
+!47 = !MDLocation(line: 11, scope: !24)
 !48 = !{i8* null}
-!49 = !{i32 12, i32 0, !24, null}
-!50 = !{i32 14, i32 0, !51, null}
+!49 = !MDLocation(line: 12, scope: !24)
+!50 = !MDLocation(line: 14, scope: !51)
 !51 = !{!"0xb\0014\000\000", !1, !24} ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/dbg-changes-codegen-branch-folding.cpp]
-!52 = !{i32 15, i32 0, !53, null}
+!52 = !MDLocation(line: 15, scope: !53)
 !53 = !{!"0xb\0014\000\000", !1, !51} ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/dbg-changes-codegen-branch-folding.cpp]
-!54 = !{i32 16, i32 0, !53, null}
-!55 = !{i32 17, i32 0, !24, null}
+!54 = !MDLocation(line: 16, scope: !53)
+!55 = !MDLocation(line: 17, scope: !24)
 !56 = !{!"0x101\00this\0016777216\001088", !40, null, !38, !55} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!57 = !{i32 0, i32 0, !40, !55}
+!57 = !MDLocation(line: 0, scope: !40, inlinedAt: !55)
 !58 = !{i8* getelementptr inbounds ([1 x i8]* @.str, i64 0, i64 0)}
 !59 = !{!"0x101\00value\0033554437\000", !40, !25, !15, !55} ; [ DW_TAG_arg_variable ] [value] [line 5]
-!60 = !{i32 5, i32 0, !40, !55}
-!61 = !{i32 5, i32 0, !62, !55}
+!60 = !MDLocation(line: 5, scope: !40, inlinedAt: !55)
+!61 = !MDLocation(line: 5, scope: !62, inlinedAt: !55)
 !62 = !{!"0xb\005\000\000", !1, !40} ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/dbg-changes-codegen-branch-folding.cpp]
-!63 = !{i32 18, i32 0, !24, null}
+!63 = !MDLocation(line: 18, scope: !24)
 !64 = !{!"0x101\00this\0016777216\001088", !40, null, !38, !63} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!65 = !{i32 0, i32 0, !40, !63}
+!65 = !MDLocation(line: 0, scope: !40, inlinedAt: !63)
 !66 = !{!"0x101\00value\0033554437\000", !40, !25, !15, !63} ; [ DW_TAG_arg_variable ] [value] [line 5]
-!67 = !{i32 5, i32 0, !40, !63}
-!68 = !{i32 5, i32 0, !62, !63}
-!69 = !{i32 20, i32 0, !70, null}
+!67 = !MDLocation(line: 5, scope: !40, inlinedAt: !63)
+!68 = !MDLocation(line: 5, scope: !62, inlinedAt: !63)
+!69 = !MDLocation(line: 20, scope: !70)
 !70 = !{!"0xb\0020\000\000", !1, !24} ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/dbg-changes-codegen-branch-folding.cpp]
 !71 = !{!"0x101\00this\0016777216\001088", !35, null, !38, !72} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!72 = !{i32 21, i32 0, !70, null}
-!73 = !{i32 0, i32 0, !35, !72}
+!72 = !MDLocation(line: 21, scope: !70)
+!73 = !MDLocation(line: 0, scope: !35, inlinedAt: !72)
 !74 = !{i8* getelementptr inbounds ([2 x i8]* @.str1, i64 0, i64 0)}
 !75 = !{!"0x101\00value\0033554438\000", !35, !25, !15, !72} ; [ DW_TAG_arg_variable ] [value] [line 6]
-!76 = !{i32 6, i32 0, !35, !72}
+!76 = !MDLocation(line: 6, scope: !35, inlinedAt: !72)
 !77 = !{!"0x101\00this\0016777216\001088", !35, null, !38, !78} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!78 = !{i32 23, i32 0, !70, null}
-!79 = !{i32 0, i32 0, !35, !78}
+!78 = !MDLocation(line: 23, scope: !70)
+!79 = !MDLocation(line: 0, scope: !35, inlinedAt: !78)
 !80 = !{i8* getelementptr inbounds ([2 x i8]* @.str2, i64 0, i64 0)}
 !81 = !{!"0x101\00value\0033554438\000", !35, !25, !15, !78} ; [ DW_TAG_arg_variable ] [value] [line 6]
-!82 = !{i32 6, i32 0, !35, !78}
+!82 = !MDLocation(line: 6, scope: !35, inlinedAt: !78)
 !83 = !{!"0x101\00this\0016777216\001088", !35, null, !38, !84} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!84 = !{i32 24, i32 0, !24, null}
-!85 = !{i32 0, i32 0, !35, !84}
+!84 = !MDLocation(line: 24, scope: !24)
+!85 = !MDLocation(line: 0, scope: !35, inlinedAt: !84)
 !86 = !{!"0x101\00value\0033554438\000", !35, !25, !15, !84} ; [ DW_TAG_arg_variable ] [value] [line 6]
-!87 = !{i32 6, i32 0, !35, !84}
-!88 = !{i32 25, i32 0, !24, null}
+!87 = !MDLocation(line: 6, scope: !35, inlinedAt: !84)
+!88 = !MDLocation(line: 25, scope: !24)
index d44590f..fb2a986 100644 (file)
@@ -86,5 +86,5 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
 !21 = !{!"0x34\00argc\00argc\00\001\000\001", null, !14, !11, i8* @argc, null} ; [ DW_TAG_variable ] [argc] [line 1] [def]
 !22 = !{i32 2, !"Dwarf Version", i32 4}
 !23 = !{i32 2, !"Debug Info Version", i32 2}
-!25 = !{i32 8, i32 3, !13, null}
+!25 = !MDLocation(line: 8, column: 3, scope: !13)
 !29 = !{!"0x102"}               ; [ DW_TAG_expression ]
index 1c6c302..a84b77e 100644 (file)
@@ -63,9 +63,9 @@ attributes #0 = { sspreq }
 !35 = !{!36, !37}
 !36 = !{!"0x101\00p1\0016777228\000", !24, !10, !29} ; [ DW_TAG_arg_variable ] [p1] [line 12]
 !37 = !{!"0x101\00p2\0033554444\000", !24, !10, !32} ; [ DW_TAG_arg_variable ] [p2] [line 12]
-!38 = !{i32 33, i32 0, !9, null}
-!39 = !{i32 12, i32 0, !24, !38}
-!40 = !{i32 9, i32 0, !41, !59}
+!38 = !MDLocation(line: 33, scope: !9)
+!39 = !MDLocation(line: 12, scope: !24, inlinedAt: !38)
+!40 = !MDLocation(line: 9, scope: !41, inlinedAt: !59)
 !41 = !{!"0x2e\00min<unsigned long long, __1::A>\00min<unsigned long long, __1::A>\00_ZN3__13minIyNS_1AEEERKT_S4_RS2_T0_\007\000\001\000\006\00256\001\008", !1, !25, !42, null, null, !53, null, !55} ; [ DW_TAG_subprogram ] [line 7] [def] [scope 8] [min<unsigned long long, __1::A>]
 !42 = !{!"0x15\00\000\000\000\000\000\000", i32 0, null, null, !43, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !43 = !{!29, !29, !32, !44}
@@ -84,7 +84,7 @@ attributes #0 = { sspreq }
 !56 = !{!"0x101\00p1\0016777223\000", !41, !10, !29} ; [ DW_TAG_arg_variable ] [p1] [line 7]
 !57 = !{!"0x101\00p2\0033554439\000", !41, !10, !32} ; [ DW_TAG_arg_variable ] [p2] [line 7]
 !58 = !{!"0x101\00p3\0050331656\000", !41, !10, !44} ; [ DW_TAG_arg_variable ] [p3] [line 8]
-!59 = !{i32 13, i32 0, !24, !38}
+!59 = !MDLocation(line: 13, scope: !24, inlinedAt: !38)
 !63 = !{i32 undef}
 !64 = !{!"0x101\00p1\0033554433\000", !65, !10, !50, !40} ; [ DW_TAG_arg_variable ] [p1] [line 1]
 !65 = !{!"0x2e\00operator()\00operator()\00_ZN3__11AclERKiS2_\001\000\001\000\006\00256\001\002", !1, !25, !47, null, null, null, !46, !66} ; [ DW_TAG_subprogram ] [line 1] [def] [scope 2] [operator()]
@@ -93,5 +93,5 @@ attributes #0 = { sspreq }
 !68 = !{!"0xf\00\000\0064\0064\000\000", null, null, !44} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from A]
 !69 = !{!"0x101\00p1\0033554433\000", !65, !10, !50} ; [ DW_TAG_arg_variable ] [p1] [line 1]
 !70 = !{!"0x101\00\0050331650\000", !65, !10, !50} ; [ DW_TAG_arg_variable ] [line 2]
-!71 = !{i32 1, i32 0, !65, !40}
+!71 = !MDLocation(line: 1, scope: !65, inlinedAt: !40)
 !72 = !{i32 1, !"Debug Info Version", i32 2}
index 55b8a9e..140121b 100644 (file)
@@ -29,7 +29,7 @@ entry:
 !5 = !{!6}
 !6 = !{!"0x24\00int\000\0032\0032\000\000\005", !10, !2} ; [ DW_TAG_base_type ]
 !7 = !{!"0xb\001\0030\000", !2, !1} ; [ DW_TAG_lexical_block ]
-!8 = !{i32 4, i32 3, !7, null}
+!8 = !MDLocation(line: 4, column: 3, scope: !7)
 !9 = !{!1}
 !10 = !{!"test.c", !"/dir"}
 !11 = !{i32 0}
index 9be4123..8c9c47d 100644 (file)
@@ -35,5 +35,5 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata)
 !9 = !{i32 2, !"Dwarf Version", i32 4}
 !10 = !{i32 2, !"Debug Info Version", i32 2}
 !11 = !{!"0x101\00a\0016777218\000", !4, !5, !8} ; [ DW_TAG_arg_variable ]
-!12 = !{i32 2, i32 0, !4, null}
+!12 = !MDLocation(line: 2, scope: !4)
 
index 50f42d0..c73b945 100644 (file)
@@ -20,7 +20,7 @@ entry:
 !9 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ]
 !12 = !{!14}
 !14 = !{!"0x34\00bar\00bar\00\002\001\001", !5, !6, !9, null, null} ; [ DW_TAG_variable ]
-!15 = !{i32 3, i32 3, !16, null}
+!15 = !MDLocation(line: 3, column: 3, scope: !16)
 !16 = !{!"0xb\001\0011\000", !17, !5} ; [ DW_TAG_lexical_block ]
 !17 = !{!"fb.c", !"/private/tmp"}
 !18 = !{i32 1, !"Debug Info Version", i32 2}
index 189a30b..bf237ee 100644 (file)
@@ -23,9 +23,9 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !9 = !{!11}
 !11 = !{!"0x101\00i\0016777219\000", !17, !5, !12} ; [ DW_TAG_arg_variable ]
 !12 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ]
-!13 = !{i32 3, i32 14, !5, null}
-!14 = !{i32 4, i32 3, !15, null}
+!13 = !MDLocation(line: 3, column: 14, scope: !5)
+!14 = !MDLocation(line: 4, column: 3, scope: !15)
 !15 = !{!"0xb\003\0017\000", !17, !5} ; [ DW_TAG_lexical_block ]
-!16 = !{i32 5, i32 1, !15, null}
+!16 = !MDLocation(line: 5, column: 1, scope: !15)
 !17 = !{!"cf.c", !"/private/tmp"}
 !18 = !{i32 1, !"Debug Info Version", i32 2}
index 53b67ed..d559720 100644 (file)
@@ -11,14 +11,14 @@ entry:
 !llvm.dbg.cu = !{!3}
 !llvm.module.flags = !{!14}
 
-!0 = !{i32 571, i32 3, !1, null}
+!0 = !MDLocation(line: 571, column: 3, scope: !1)
 !1 = !{!"0xb\001\001\000", !11, !2}; [DW_TAG_lexical_block ]
 !2 = !{!"0x2e\00foo\00foo\00foo\00561\000\001\000\006\000\000\000", i32 0, !3, !4, null, null, null, null, null}; [DW_TAG_subprogram ]
 !3 = !{!"0x11\0012\00clang 1.1\001\00\000\00\000", !11, !12, !12, !13, null, null}; [DW_TAG_compile_unit ]
 !4 = !{!"0x15\00\000\000\000\000\000\000", null, !3, null, !5, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !5 = !{!6}
 !6 = !{!"0x24\00char\000\008\008\000\000\006", null, !3} ; [ DW_TAG_base_type ]
-!10 = !{i32 588, i32 1, !2, null}
+!10 = !MDLocation(line: 588, column: 1, scope: !2)
 !11 = !{!"hashtab.c", !"/usr/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcclibs/libiberty"}
 !12 = !{i32 0}
 !13 = !{!2}
index e2b008b..8316801 100644 (file)
@@ -11,7 +11,7 @@ entry:
 !llvm.module.flags = !{!5}
 !2 = !{!"0x11\0032769\00clang version 3.3 \000\00\000\00\001", !4, !3, !3, !3, !3,  !3} ; [ DW_TAG_compile_unit ] [/usr/local/google/home/blaikie/dev/scratch/scratch.cpp] [lang 0x8001]
 !3 = !{}
-!0 = !{i32 662302, i32 26, !1, null}
+!0 = !MDLocation(line: 662302, column: 26, scope: !1)
 !1 = !{i32 4, !"foo"}
 !4 = !{!"scratch.cpp", !"/usr/local/google/home/blaikie/dev/scratch"}
 
index c9a3b74..7b09109 100644 (file)
@@ -55,13 +55,13 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !13 = !{!"0x15\00\000\000\000\000\000\000", !25, null, null, !14, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !14 = !{!8, !15}
 !15 = !{!"0xf\00\000\0064\0064\000\0064", !25, !4, !9} ; [ DW_TAG_pointer_type ]
-!16 = !{i32 3, i32 0, !1, null}
-!17 = !{i32 3, i32 0, !3, null}
+!16 = !MDLocation(line: 3, scope: !1)
+!17 = !MDLocation(line: 3, scope: !3)
 !18 = !{!"0x101\00this\003\000", !12, !10, !19} ; [ DW_TAG_arg_variable ]
 !19 = !{!"0x26\00\000\0064\0064\000\0064", !25, !4, !20} ; [ DW_TAG_const_type ]
 !20 = !{!"0xf\00\000\0064\0064\000\000", !25, !4, !9} ; [ DW_TAG_pointer_type ]
-!21 = !{i32 3, i32 0, !12, null}
-!22 = !{i32 3, i32 0, !23, null}
+!21 = !MDLocation(line: 3, scope: !12)
+!22 = !MDLocation(line: 3, scope: !23)
 !23 = !{!"0xb\003\000\000", !26, !12} ; [ DW_TAG_lexical_block ]
 !24 = !{!3, !12}
 !25 = !{!"one.cc", !"/tmp/"}
index 1d0f975..ce52d24 100644 (file)
@@ -84,11 +84,11 @@ entry:
 !11 = !{!"0x15\00\000\000\000\000\000\000", !38, !3, null, !12, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !12 = !{!7, !13}
 !13 = !{!"0xf\00\000\0064\0064\000\0064", !38, !3, !8} ; [ DW_TAG_pointer_type ]
-!14 = !{i32 16, i32 5, !1, null}
-!15 = !{i32 17, i32 3, !1, null}
-!16 = !{i32 18, i32 1, !2, null}
+!14 = !MDLocation(line: 16, column: 5, scope: !1)
+!15 = !MDLocation(line: 17, column: 3, scope: !1)
+!16 = !MDLocation(line: 18, column: 1, scope: !2)
 !17 = !{!"0x101\00this\004\000", !10, !3, !13} ; [ DW_TAG_arg_variable ]
-!18 = !{i32 4, i32 7, !10, null}
+!18 = !MDLocation(line: 4, column: 7, scope: !10)
 !19 = !{!"0x100\00a\009\000", !20, !3, !21} ; [ DW_TAG_auto_variable ]
 !20 = !{!"0xb\004\0012\000", !38, !10} ; [ DW_TAG_lexical_block ]
 !21 = !{!"0x2\00A\005\008\008\000\000\000", !38, !10, null, !22, null, null, null} ; [ DW_TAG_class_type ] [A] [line 5, size 8, align 8, offset 0] [def] [from ]
@@ -97,15 +97,15 @@ entry:
 !24 = !{!"0x15\00\000\000\000\000\000\000", !38, !3, null, !25, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !25 = !{!7, !26}
 !26 = !{!"0xf\00\000\0064\0064\000\0064", !38, !3, !21} ; [ DW_TAG_pointer_type ]
-!27 = !{i32 9, i32 7, !20, null}
+!27 = !MDLocation(line: 9, column: 7, scope: !20)
 !28 = !{!"0x100\00i\0010\000", !20, !3, !7} ; [ DW_TAG_auto_variable ]
-!29 = !{i32 10, i32 9, !20, null}
-!30 = !{i32 10, i32 5, !20, null}
-!31 = !{i32 11, i32 5, !20, null}
-!32 = !{i32 12, i32 3, !10, null}
+!29 = !MDLocation(line: 10, column: 9, scope: !20)
+!30 = !MDLocation(line: 10, column: 5, scope: !20)
+!31 = !MDLocation(line: 11, column: 5, scope: !20)
+!32 = !MDLocation(line: 12, column: 3, scope: !10)
 !33 = !{!"0x101\00this\007\000", !23, !3, !26} ; [ DW_TAG_arg_variable ]
-!34 = !{i32 7, i32 11, !23, null}
-!35 = !{i32 7, i32 19, !36, null}
+!34 = !MDLocation(line: 7, column: 11, scope: !23)
+!35 = !MDLocation(line: 7, column: 19, scope: !36)
 !36 = !{!"0xb\007\0017\000", !38, !23} ; [ DW_TAG_lexical_block ]
 !38 = !{!"one.cc", !"/tmp" }
 !39 = !{i32 0}
index 64eac36..fe5a1f4 100644 (file)
@@ -23,14 +23,14 @@ return:                                           ; preds = %entry
 !llvm.module.flags = !{!12}
 !9 = !{!1}
 
-!0 = !{i32 2, i32 0, !1, null}
+!0 = !MDLocation(line: 2, scope: !1)
 !1 = !{!"0x2e\00foo\00foo\00foo\002\000\001\000\006\000\000\002", !10, null, !4, null, i32 ()* @foo, null, null, null} ; [ DW_TAG_subprogram ]
 !2 = !{!"0x29", !10} ; [ DW_TAG_file_type ]
 !3 = !{!"0x11\001\004.2.1 (Based on Apple Inc. build 5658) (LLVM build)\000\00\000\00\000", !10, !11, !11, !9, null,  null} ; [ DW_TAG_compile_unit ]
 !4 = !{!"0x15\00\000\000\000\000\000\000", !10, !2, null, !5, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !5 = !{!6}
 !6 = !{!"0x24\00int\000\0032\0032\000\000\005", !10, !2} ; [ DW_TAG_base_type ]
-!7 = !{i32 2, i32 0, !8, null}
+!7 = !MDLocation(line: 2, scope: !8)
 !8 = !{!"0xb\002\000\000", !10, !1} ; [ DW_TAG_lexical_block ]
 !10 = !{!"a.c", !"/tmp"}
 !11 = !{i32 0}
index c2a7607..d767871 100644 (file)
@@ -31,8 +31,8 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !10 = !{!"0xf\00\000\0064\0064\000\000", !16, !2, !11} ; [ DW_TAG_pointer_type ]
 !11 = !{!"0x16\00AppleEvent\004\000\000\000\000", !16, !2, !12} ; [ DW_TAG_typedef ]
 !12 = !{!"0x13\00AEDesc\001\000\000\000\004\000", !16, !2, null, null, null, null, null} ; [ DW_TAG_structure_type ] [AEDesc] [line 1, size 0, align 0, offset 0] [decl] [from ]
-!13 = !{i32 7, i32 0, !1, null}
-!14 = !{i32 8, i32 0, !15, null}
+!13 = !MDLocation(line: 7, scope: !1)
+!14 = !MDLocation(line: 8, scope: !15)
 !15 = !{!"0xb\007\000\000", !16, !1} ; [ DW_TAG_lexical_block ]
 !16 = !{!"t.c", !"/Users/echeng/LLVM/radars/r7937664/"}
 !17 = !{i32 0}
index ea2d4af..1caae64 100644 (file)
@@ -50,21 +50,21 @@ declare void @uuid_LtoB(i8*, i8*)
 
 !llvm.dbg.cu = !{!4}
 !llvm.module.flags = !{!41}
-!0 = !{i32 808, i32 0, !1, null}
+!0 = !MDLocation(line: 808, scope: !1)
 !1 = !{!"0xb\00807\000\000", !39, !2} ; [ DW_TAG_lexical_block ]
 !2 = !{!"0x2e\00gpt2gpm\00gpt2gpm\00gpt2gpm\00807\001\001\000\006\000\000\000", !39, null, !5, null, null, null, null, null} ; [ DW_TAG_subprogram ]
 !3 = !{!"0x29", !39} ; [ DW_TAG_file_type ]
 !4 = !{!"0x11\001\00llvm-gcc\001\00\000\00\000", !39, !18, !18, !40, null, null} ; [ DW_TAG_compile_unit ]
 !5 = !{!"0x15\00\000\000\000\000\000\000", !39, !3, null, !6, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !6 = !{null}
-!7 = !{i32 810, i32 0, !1, null}
+!7 = !MDLocation(line: 810, scope: !1)
 !8 = !{!"0x101\00data\00201\000", !9, !10, !11} ; [ DW_TAG_arg_variable ]
 !9 = !{!"0x2e\00_OSSwapInt64\00_OSSwapInt64\00_OSSwapInt64\00202\001\001\000\006\000\000\000", !10, null, !5, null, null, null, null, null} ; [ DW_TAG_subprogram ]
 !10 = !{!"0x29", !"OSByteOrder.h", !"/usr/include/libkern/ppc", !4} ; [ DW_TAG_file_type ]
 !11 = !{!"0x16\00uint64_t\0059\000\000\000\000", !36, !3, !13} ; [ DW_TAG_typedef ]
 !12 = !{!"0x29", !"stdint.h", !"/usr/4.2.1/include", !4} ; [ DW_TAG_file_type ]
 !13 = !{!"0x24\00long long unsigned int\000\0064\0064\000\000\007", !39, !3} ; [ DW_TAG_base_type ]
-!14 = !{i32 202, i32 0, !9, !7}
+!14 = !MDLocation(line: 202, scope: !9, inlinedAt: !7)
 !15 = !{!"0x101\00base\0092\000", !16, !10, !17} ; [ DW_TAG_arg_variable ]
 !16 = !{!"0x2e\00OSReadSwapInt64\00OSReadSwapInt64\00OSReadSwapInt64\0095\001\001\000\006\000\000\000", !38, null, !5, null, null, null, null, null} ; [ DW_TAG_subprogram ]
 !17 = !{!"0xf\00\000\0032\0032\000\000", !39, !3, null} ; [ DW_TAG_pointer_type ]
index 1789b18..502007c 100644 (file)
@@ -22,7 +22,7 @@ return:
 !16 = !{!2}
 !17 = !{!10}
 
-!0 = !{i32 3, i32 0, !1, null}
+!0 = !MDLocation(line: 3, scope: !1)
 !1 = !{!"0xb\002\000\000", !18, !2} ; [ DW_TAG_lexical_block ]
 !2 = !{!"0x2e\00foo\00foo\00foo\002\000\001\000\006\000\000\000", !18, !3, !5, null, i32 ()* @foo, null, null, null} ; [ DW_TAG_subprogram ]
 !3 = !{!"0x29", !18} ; [ DW_TAG_file_type ]
@@ -30,7 +30,7 @@ return:
 !5 = !{!"0x15\00\000\000\000\000\000\000", !18, !3, null, !6, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !6 = !{!7}
 !7 = !{!"0x24\00int\000\0032\0032\000\000\005", !18, !3} ; [ DW_TAG_base_type ]
-!8 = !{i32 3, i32 0, !9, null}
+!8 = !MDLocation(line: 3, scope: !9)
 !9 = !{!"0xb\002\000\000", !20, !10} ; [ DW_TAG_lexical_block ]
 !10 = !{!"0x2e\00bar\00bar\00bar\002\000\001\000\006\000\000\000", !20, !11, !13, null, i32 ()* @bar, null, null, null} ; [ DW_TAG_subprogram ]
 !11 = !{!"0x29", !20} ; [ DW_TAG_file_type ]
index a37385c..9f0f7c3 100644 (file)
@@ -41,13 +41,13 @@ entry:
 !14 = !{!"0xd\00a\0010\0032\0032\000\000", !27, !12, !5} ; [ DW_TAG_member ]
 !15 = !{!"0xd\00b\0010\0032\0032\0032\000", !27, !12, !5} ; [ DW_TAG_member ]
 !16 = !{!"0x34\00i\00i\00\005\000\001", !1, !1, !5, i32* @i, null} ; [ DW_TAG_variable ]
-!17 = !{i32 15, i32 0, !18, null}
+!17 = !MDLocation(line: 15, scope: !18)
 !18 = !{!"0xb\0014\000\001", !1, !6} ; [ DW_TAG_lexical_block ]
-!19 = !{i32 9, i32 0, !0, !17}
+!19 = !MDLocation(line: 9, scope: !0, inlinedAt: !17)
 !20 = !{}
-!21 = !{i32 9, i32 0, !11, !17}
-!22 = !{i32 11, i32 0, !11, !17}
-!23 = !{i32 16, i32 0, !18, null}
+!21 = !MDLocation(line: 9, scope: !11, inlinedAt: !17)
+!22 = !MDLocation(line: 11, scope: !11, inlinedAt: !17)
+!23 = !MDLocation(line: 16, scope: !18)
 !24 = !{!9, !10}
 !25 = !{!0, !6}
 !26 = !{!16}
index 0d8ba08..8bbe48c 100644 (file)
@@ -21,7 +21,7 @@ entry:
 !6 = !{!"0x2e\00foo\00foo\00foo\007\001\001\000\006\000\001\000", !12, !1, !3, null, null, null, null, null} ; [ DW_TAG_subprogram ]
 !7 = !{!"0x100\00one\008\000", !8, !1, !5} ; [ DW_TAG_auto_variable ]
 !8 = !{!"0xb\007\0018\000", !12, !6} ; [ DW_TAG_lexical_block ]
-!9 = !{i32 4, i32 3, !10, null}
+!9 = !MDLocation(line: 4, column: 3, scope: !10)
 !10 = !{!"0xb\003\0011\000", !12, !0} ; [ DW_TAG_lexical_block ]
 !11 = !{!"0x2e\00foo\00foo\00foo\007\001\000\000\006\000\001\000", !12, !1, !3, null, null, null, null, null} ; [ DW_TAG_subprogram ]
 !12 = !{!"one.c", !"/private/tmp"}
index 161df5d..5c822e9 100644 (file)
@@ -20,7 +20,7 @@ declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32,
 !2 = !{!"0x11\0016\00clang version 2.9 (trunk 115292)\001\00\001\00\000", !25, !26, !26, null, null, null} ; [ DW_TAG_compile_unit ]
 !5 = !{!"0x16\00CGRect\0049\000\000\000\000", !25, null, null} ; [ DW_TAG_typedef ]
 !23 = !{!"0x101\00rect\0053\000", !0, !1, !5} ; [ DW_TAG_arg_variable ]
-!24 = !{i32 53, i32 33, !0, null}
+!24 = !MDLocation(line: 53, column: 33, scope: !0)
 !25 = !{!"GSFusedSilica.m", !"/Volumes/Data/Users/sabre/Desktop"}
 !26 = !{i32 0}
 !27 = !{i32 1, !"Debug Info Version", i32 2}
index 65d60e2..2d68af6 100644 (file)
@@ -100,13 +100,13 @@ attributes #3 = { nounwind }
 !36 = !{i32 2, !"Debug Info Version", i32 2}
 !37 = !{!"clang version 3.6.0 (trunk 224279) (llvm/trunk 224283)"}
 !38 = !{!"0x102"}                                 ; [ DW_TAG_expression ]
-!39 = !{i32 0, i32 0, !28, null}
-!40 = !{i32 9, i32 0, !28, null}
+!39 = !MDLocation(line: 0, scope: !28)
+!40 = !MDLocation(line: 9, scope: !28)
 !41 = !{!42, !42, i64 0}
 !42 = !{!"vtable pointer", !43, i64 0}
 !43 = !{!"Simple C/C++ TBAA"}
-!44 = !{i32 0, i32 0, !32, null}
+!44 = !MDLocation(line: 0, scope: !32)
 !45 = !{!"0x101\00this\0016777216\001088", !28, null, !31, !46} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!46 = !{i32 9, i32 0, !32, null}
-!47 = !{i32 0, i32 0, !28, !46}
-!48 = !{i32 9, i32 0, !28, !46}
+!46 = !MDLocation(line: 9, scope: !32)
+!47 = !MDLocation(line: 0, scope: !28, inlinedAt: !46)
+!48 = !MDLocation(line: 9, scope: !28, inlinedAt: !46)
index b8e1694..35bb041 100644 (file)
@@ -59,7 +59,7 @@ attributes #3 = { nounwind optsize }
 !12 = !{i32 2, !"Dwarf Version", i32 2}
 !13 = !{i32 2, !"Debug Info Version", i32 2}
 !14 = !{!"clang version 3.6.0 (trunk 223149) (llvm/trunk 223115)"}
-!15 = !{i32 5, i32 3, !4, null}
+!15 = !MDLocation(line: 5, column: 3, scope: !4)
 !16 = !{!"0x102"}               ; [ DW_TAG_expression ]
-!17 = !{i32 4, i32 12, !4, null}
-!18 = !{i32 8, i32 1, !4, null}
+!17 = !MDLocation(line: 4, column: 12, scope: !4)
+!18 = !MDLocation(line: 8, column: 1, scope: !4)
index 0494281..cba18b2 100644 (file)
@@ -35,6 +35,6 @@ attributes #0 = { nounwind }
 !5 = !{!"0x15\00\000\000\000\000\000\000", null, null, null, !6, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !6 = !{!7}
 !7 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
-!8 = !{i32 2, i32 0, !3, null}
+!8 = !MDLocation(line: 2, scope: !3)
 !9 = !{!"tmp.c", !"/home/tim/llvm/build"}
 !10 = !{i32 1, !"Debug Info Version", i32 2}
index b6b636f..f66f56c 100644 (file)
@@ -65,6 +65,6 @@ attributes #1 = { nounwind readnone }
 !15 = !{!"0xd\00e\007\0032\0032\00128\000", !1, !9, !8} ; [ DW_TAG_member ] [e] [line 7, size 32, align 32, offset 128] [from int]
 !16 = !{i32 2, !"Dwarf Version", i32 2}
 !17 = !{!"0x101\00f\0016777229\008192", !4, !5, !9} ; [ DW_TAG_arg_variable ] [f] [line 13]
-!18 = !{i32 13, i32 0, !4, null}
-!19 = !{i32 16, i32 0, !4, null}
+!18 = !MDLocation(line: 13, scope: !4)
+!19 = !MDLocation(line: 16, scope: !4)
 !20 = !{i32 1, !"Debug Info Version", i32 2}
index ef7829a..7c99ae2 100644 (file)
@@ -59,7 +59,7 @@ attributes #3 = { nounwind }
 !15 = !{!"0x101\00\0067108867\000", !4, !6, !9} ; [ DW_TAG_arg_variable ] [line 3]
 !16 = !{!"0x101\00x\0083886083\000", !4, !6, !10} ; [ DW_TAG_arg_variable ] [x] [line 3]
 !17 = !{i32 2, !"Dwarf Version", i32 4}
-!18 = !{i32 3, i32 0, !4, null}
-!19 = !{i32 4, i32 0, !4, null}
-!20 = !{i32 5, i32 0, !4, null}
+!18 = !MDLocation(line: 3, scope: !4)
+!19 = !MDLocation(line: 4, scope: !4)
+!20 = !MDLocation(line: 5, scope: !4)
 !21 = !{i32 1, !"Debug Info Version", i32 2}
index bbd93c9..599806b 100644 (file)
@@ -103,13 +103,13 @@ attributes #3 = { nounwind }
 !38 = !{i32 1, !"min_enum_size", i32 4}
 !39 = !{!"clang version 3.6.0 (trunk 224279) (llvm/trunk 224283)"}
 !40 = !{!"0x102"}                                 ; [ DW_TAG_expression ]
-!41 = !{i32 0, i32 0, !28, null}
-!42 = !{i32 9, i32 0, !28, null}
+!41 = !MDLocation(line: 0, scope: !28)
+!42 = !MDLocation(line: 9, scope: !28)
 !43 = !{!44, !44, i64 0}
 !44 = !{!"vtable pointer", !45, i64 0}
 !45 = !{!"Simple C/C++ TBAA"}
-!46 = !{i32 0, i32 0, !32, null}
+!46 = !MDLocation(line: 0, scope: !32)
 !47 = !{!"0x101\00this\0016777216\001088", !28, null, !31, !48} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!48 = !{i32 9, i32 0, !32, null}
-!49 = !{i32 0, i32 0, !28, !48}
-!50 = !{i32 9, i32 0, !28, !48}
+!48 = !MDLocation(line: 9, scope: !32)
+!49 = !MDLocation(line: 0, scope: !28, inlinedAt: !48)
+!50 = !MDLocation(line: 9, scope: !28, inlinedAt: !48)
index dab14ef..2e13767 100644 (file)
@@ -89,15 +89,15 @@ attributes #1 = { nounwind readnone }
 !19 = !{!"0xb\006\000\000", !5, !4} ; [ DW_TAG_lexical_block ] [/Volumes/Data/radar/15464571/test.c]
 !20 = !{i32 2, !"Dwarf Version", i32 2}
 !21 = !{!"clang version 3.4 "}
-!22 = !{i32 1, i32 0, !4, null}
-!23 = !{i32 3, i32 0, !4, null}
-!24 = !{i32 4, i32 0, !4, null}
-!25 = !{i32 5, i32 0, !4, null}
+!22 = !MDLocation(line: 1, scope: !4)
+!23 = !MDLocation(line: 3, scope: !4)
+!24 = !MDLocation(line: 4, scope: !4)
+!25 = !MDLocation(line: 5, scope: !4)
 !26 = !{!27, !27, i64 0}
 !27 = !{!"float", !28, i64 0}
 !28 = !{!"omnipotent char", !29, i64 0}
 !29 = !{!"Simple C/C++ TBAA"}
-!30 = !{i32 6, i32 0, !19, null}
-!31 = !{i32 7, i32 0, !19, null}
-!32 = !{i32 8, i32 0, !4, null}
+!30 = !MDLocation(line: 6, scope: !19)
+!31 = !MDLocation(line: 7, scope: !19)
+!32 = !MDLocation(line: 8, scope: !4)
 !33 = !{i32 1, !"Debug Info Version", i32 2}
index fddd632..62a315e 100644 (file)
@@ -51,11 +51,11 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !8 = !{!"0x100\00y\008\000", !9, !2, !7} ; [ DW_TAG_auto_variable ]
 !9 = !{!"0xb\007\0025\002", !18, !10} ; [ DW_TAG_lexical_block ]
 !10 = !{!"0xb\007\003\001", !18, !6} ; [ DW_TAG_lexical_block ]
-!11 = !{i32 6, i32 18, !6, null}
-!12 = !{i32 7, i32 3, !6, null}
-!13 = !{i32 8, i32 20, !9, null}
-!14 = !{i32 7, i32 20, !10, null}
-!15 = !{i32 10, i32 1, !6, null}
+!11 = !MDLocation(line: 6, column: 18, scope: !6)
+!12 = !MDLocation(line: 7, column: 3, scope: !6)
+!13 = !MDLocation(line: 8, column: 20, scope: !9)
+!14 = !MDLocation(line: 7, column: 20, scope: !10)
+!15 = !MDLocation(line: 10, column: 1, scope: !6)
 !16 = !{!1}
 !17 = !{!5, !8}
 !18 = !{!"k.cc", !"/private/tmp"}
index 02c2a58..e2c7aef 100644 (file)
@@ -91,4 +91,4 @@ attributes #0 = { nounwind sanitize_address "less-precise-fpmad"="false" "no-fra
 !7 = !{i32 2, !"Dwarf Version", i32 4}
 !8 = !{i32 1, !"Debug Info Version", i32 2}
 !9 = !{!"clang version 3.5.0 "}
-!10 = !{i32 2, i32 0, !4, null}
+!10 = !MDLocation(line: 2, scope: !4)
index da24b4e..44ee4f9 100644 (file)
@@ -251,6 +251,6 @@ attributes #2 = { nounwind }
 !9 = !{i32 2, !"Dwarf Version", i32 4}
 !10 = !{i32 1, !"Debug Info Version", i32 2}
 !11 = !{!"clang version 3.5 "}
-!12 = !{i32 4, i32 0, !4, null}
-!13 = !{i32 5, i32 0, !4, null}
-!14 = !{i32 6, i32 0, !4, null}
+!12 = !MDLocation(line: 4, scope: !4)
+!13 = !MDLocation(line: 5, scope: !4)
+!14 = !MDLocation(line: 6, scope: !4)
index 92e39f9..73c8e15 100644 (file)
@@ -40,4 +40,4 @@ attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"=
 !8 = !{i32 2, !"Dwarf Version", i32 4}
 !9 = !{i32 2, !"Debug Info Version", i32 2}
 !10 = !{!"clang version 3.6.0 "}
-!11 = !{i32 3, i32 0, !4, null}
+!11 = !MDLocation(line: 3, scope: !4)
index 9b0efb7..5cdd6dc 100644 (file)
@@ -319,11 +319,11 @@ attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "
 !9 = !{i32 2, !"Dwarf Version", i32 4}
 !10 = !{i32 1, !"Debug Info Version", i32 2}
 !11 = !{!"clang version 3.5 "}
-!12 = !{i32 1, i32 0, !13, null}
+!12 = !MDLocation(line: 1, scope: !13)
 !13 = !{!"0xb\000", !14, !4} ; [ DW_TAG_lexical_block ] [D:\/one.c]
 !14 = !{!"one.c", !"D:\5C"}
-!15 = !{i32 2, i32 0, !16, null}
+!15 = !MDLocation(line: 2, scope: !16)
 !16 = !{!"0xb\000", !17, !4} ; [ DW_TAG_lexical_block ] [D:\/two.c]
 !17 = !{!"two.c", !"D:\5C"}
-!18 = !{i32 7, i32 0, !13, null}
-!19 = !{i32 8, i32 0, !13, null}
+!18 = !MDLocation(line: 7, scope: !13)
+!19 = !MDLocation(line: 8, scope: !13)
index 4649270..8f9a3f8 100644 (file)
@@ -596,11 +596,11 @@ attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "
 !11 = !{i32 2, !"Dwarf Version", i32 4}
 !12 = !{i32 1, !"Debug Info Version", i32 2}
 !13 = !{!"clang version 3.5 "}
-!14 = !{i32 4, i32 0, !4, null}
-!15 = !{i32 5, i32 0, !4, null}
-!16 = !{i32 8, i32 0, !9, null}
-!17 = !{i32 9, i32 0, !9, null}
-!18 = !{i32 12, i32 0, !10, null}
-!19 = !{i32 13, i32 0, !10, null}
-!20 = !{i32 14, i32 0, !10, null}
-!21 = !{i32 15, i32 0, !10, null}
+!14 = !MDLocation(line: 4, scope: !4)
+!15 = !MDLocation(line: 5, scope: !4)
+!16 = !MDLocation(line: 8, scope: !9)
+!17 = !MDLocation(line: 9, scope: !9)
+!18 = !MDLocation(line: 12, scope: !10)
+!19 = !MDLocation(line: 13, scope: !10)
+!20 = !MDLocation(line: 14, scope: !10)
+!21 = !MDLocation(line: 15, scope: !10)
index b84df8e..bcb8a69 100644 (file)
@@ -235,5 +235,5 @@ attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "
 !9 = !{i32 2, !"Dwarf Version", i32 4}
 !10 = !{i32 1, !"Debug Info Version", i32 2}
 !11 = !{!"clang version 3.5 "}
-!12 = !{i32 4, i32 0, !4, null}
-!13 = !{i32 5, i32 0, !4, null}
+!12 = !MDLocation(line: 4, scope: !4)
+!13 = !MDLocation(line: 5, scope: !4)
index a32164e..181359b 100644 (file)
@@ -72,7 +72,7 @@ attributes #2 = { nounwind }
 !8 = !{i32 2, !"Dwarf Version", i32 4}
 !9 = !{i32 1, !"Debug Info Version", i32 2}
 !10 = !{!"clang version 3.5.0 "}
-!11 = !{i32 8, i32 0, !4, null}
-!12 = !{i32 9, i32 0, !4, null}
-!13 = !{i32 4, i32 0, !7, null}
-!14 = !{i32 5, i32 0, !7, null}
+!11 = !MDLocation(line: 8, scope: !4)
+!12 = !MDLocation(line: 9, scope: !4)
+!13 = !MDLocation(line: 4, scope: !7)
+!14 = !MDLocation(line: 5, scope: !7)
index d5002ec..e432640 100644 (file)
@@ -144,10 +144,10 @@ attributes #2 = { nounwind }
 !10 = !{i32 2, !"Dwarf Version", i32 4}
 !11 = !{i32 2, !"Debug Info Version", i32 2}
 !12 = !{!"clang version 3.6.0 "}
-!13 = !{i32 1, i32 12, !4, null}
-!14 = !{i32 2, i32 53, !7, null}
-!15 = !{i32 3, i32 44, !8, null}
-!16 = !{i32 3, i32 50, !8, null}
-!17 = !{i32 3, i32 44, !8, !18}
-!18 = !{i32 4, i32 13, !9, null}
-!19 = !{i32 4, i32 19, !9, null}
+!13 = !MDLocation(line: 1, column: 12, scope: !4)
+!14 = !MDLocation(line: 2, column: 53, scope: !7)
+!15 = !MDLocation(line: 3, column: 44, scope: !8)
+!16 = !MDLocation(line: 3, column: 50, scope: !8)
+!17 = !MDLocation(line: 3, column: 44, scope: !8, inlinedAt: !18)
+!18 = !MDLocation(line: 4, column: 13, scope: !9)
+!19 = !MDLocation(line: 4, column: 19, scope: !9)
index bdf1fb2..d860cea 100644 (file)
@@ -67,9 +67,9 @@ attributes #1 = { nounwind readnone }
 !10 = !{i32 2, !"Debug Info Version", i32 2}
 !11 = !{!"clang version 3.5.0"}
 !12 = !{!"0x101\00x\0016777217\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [x] [line 1]
-!13 = !{i32 1, i32 0, !4, null}
-!14 = !{i32 2, i32 0, !15, null}
+!13 = !MDLocation(line: 1, scope: !4)
+!14 = !MDLocation(line: 2, scope: !15)
 !15 = !{!"0xb\002\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [/tmp/test.c]
-!16 = !{i32 3, i32 0, !15, null}
-!17 = !{i32 4, i32 0, !4, null}
-!18 = !{i32 5, i32 0, !4, null}
+!16 = !MDLocation(line: 3, scope: !15)
+!17 = !MDLocation(line: 4, scope: !4)
+!18 = !MDLocation(line: 5, scope: !4)
index e545fce..bfee8d2 100644 (file)
@@ -141,24 +141,24 @@ attributes #2 = { nounwind readnone }
 !18 = !{i32 2, !"Dwarf Version", i32 4}
 !19 = !{i32 2, !"Debug Info Version", i32 2}
 !20 = !{!"clang version 3.5.0 "}
-!21 = !{i32 6, i32 0, !17, !22}
-!22 = !{i32 5, i32 0, !23, null}
+!21 = !MDLocation(line: 6, scope: !17, inlinedAt: !22)
+!22 = !MDLocation(line: 5, scope: !23)
 !23 = !{!"0xb\005\000\003", !5, !12} ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/PR20038.cpp]
-!24 = !{i32 5, i32 0, !12, null}
-!25 = !{i32 5, i32 0, !26, null}
+!24 = !MDLocation(line: 5, scope: !12)
+!25 = !MDLocation(line: 5, scope: !26)
 !26 = !{!"0xb\005\000\001", !5, !12} ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/PR20038.cpp]
-!27 = !{i32 5, i32 0, !28, null}
+!27 = !MDLocation(line: 5, scope: !28)
 !28 = !{!"0xb\005\000\002", !5, !12} ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/PR20038.cpp]
 !29 = !{!"0x101\00this\0016777216\001088", !17, null, !30} ; [ DW_TAG_arg_variable ] [this] [line 0]
 !30 = !{!"0xf\00\000\0064\0064\000\000", null, null, !"_ZTS1C"} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS1C]
-!31 = !{i32 0, i32 0, !17, !22}
+!31 = !MDLocation(line: 0, scope: !17, inlinedAt: !22)
 !32 = !{!"0x101\00this\0016777216\001088", !16, null, !30} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!33 = !{i32 0, i32 0, !16, !21}
-!34 = !{i32 5, i32 0, !35, null}
+!33 = !MDLocation(line: 0, scope: !16, inlinedAt: !21)
+!34 = !MDLocation(line: 5, scope: !35)
 !35 = !{!"0xb\005\000\005", !5, !36} ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/PR20038.cpp]
 !36 = !{!"0xb\005\000\004", !5, !12} ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/PR20038.cpp]
-!37 = !{i32 6, i32 0, !17, null}
-!38 = !{i32 0, i32 0, !17, null}
-!39 = !{i32 0, i32 0, !16, !37}
-!40 = !{i32 0, i32 0, !16, null}
-!41 = !{i32 6, i32 0, !16, null}
+!37 = !MDLocation(line: 6, scope: !17)
+!38 = !MDLocation(line: 0, scope: !17)
+!39 = !MDLocation(line: 0, scope: !16, inlinedAt: !37)
+!40 = !MDLocation(line: 0, scope: !16)
+!41 = !MDLocation(line: 6, scope: !16)
index 9c18213..5bf3f02 100644 (file)
@@ -67,5 +67,5 @@ attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
 !9 = !{i32 2, !"Dwarf Version", i32 4}
 !10 = !{i32 1, !"Debug Info Version", i32 2}
 !11 = !{!"clang version 3.5 (http://llvm.org/git/clang.git 6a0714fee07fb7c4e32d3972b4fe2ce2f5678cf4) (llvm/ 672e88e934757f76d5c5e5258be41e7615094844)"}
-!12 = !{i32 5, i32 0, !4, null}
-!13 = !{i32 6, i32 0, !4, null}
+!12 = !MDLocation(line: 5, scope: !4)
+!13 = !MDLocation(line: 6, scope: !4)
index ca9edc5..9e5c6a9 100644 (file)
@@ -71,12 +71,12 @@ declare i32 @printf(i8*, ...)
 !18 = !{!"0xb\0018\0016\004", !29, !14} ; [ DW_TAG_lexical_block ] [/home/timnor01/a64-trunk/build/simple.c]
 !19 = !{!"0x1\00\000\003200\0032\000\000", null, null, !10, !20, i32 0, null, null, null} ; [ DW_TAG_array_type ] [line 0, size 3200, align 32, offset 0] [from int]
 !20 = !{!"0x21\000\0099"}       ; [ DW_TAG_subrange_type ] [0, 99]
-!22 = !{i32 19, i32 7, !18, null}
+!22 = !MDLocation(line: 19, column: 7, scope: !18)
 !23 = !{!"0x100\00val\0020\000", !18, !6, !10} ; [ DW_TAG_auto_variable ] [val] [line 20]
-!24 = !{i32 20, i32 7, !18, null}
-!25 = !{i32 22, i32 3, !18, null}
-!26 = !{i32 23, i32 9, !18, null}
-!27 = !{i32 24, i32 3, !18, null}
-!28 = !{i32 26, i32 3, !18, null}
+!24 = !MDLocation(line: 20, column: 7, scope: !18)
+!25 = !MDLocation(line: 22, column: 3, scope: !18)
+!26 = !MDLocation(line: 23, column: 9, scope: !18)
+!27 = !MDLocation(line: 24, column: 3, scope: !18)
+!28 = !MDLocation(line: 26, column: 3, scope: !18)
 !29 = !{!"simple.c", !"/home/timnor01/a64-trunk/build"}
 !30 = !{i32 1, !"Debug Info Version", i32 2}
index f7071a8..0aec036 100644 (file)
@@ -44,9 +44,9 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !10 = !{!"0x13\00Y\004\0032\0032\000\000\000", !18, !2, null, !11, null, null, null} ; [ DW_TAG_structure_type ] [Y] [line 4, size 32, align 32, offset 0] [def] [from ]
 !11 = !{!12}
 !12 = !{!"0xd\00x\005\0032\0032\000\000", !18, !10, !6} ; [ DW_TAG_member ]
-!13 = !{i32 7, i32 0, !1, null}
+!13 = !MDLocation(line: 7, scope: !1)
 !14 = !{!"0x101\00y\007\000", !1, !2, !9} ; [ DW_TAG_arg_variable ]
-!15 = !{i32 7, i32 0, !16, null}
+!15 = !MDLocation(line: 7, scope: !16)
 !16 = !{!"0xb\007\000\000", !18, !1} ; [ DW_TAG_lexical_block ]
 !17 = !{!1}
 !18 = !{!"a.c", !"/tmp/"}
index a876b3e..bcaac89 100644 (file)
@@ -22,7 +22,7 @@ declare void @bar(i32)
 !5 = !{!"0x27\00ro\00ro\00ro\001\001\001", !1, !1, !6, i32 201, null} ; [ DW_TAG_constant ]
 !6 = !{!"0x26\00\000\000\000\000\000", !12, !1, !7} ; [ DW_TAG_const_type ]
 !7 = !{!"0x24\00unsigned int\000\0032\0032\000\000\007", !12, !1} ; [ DW_TAG_base_type ]
-!8 = !{i32 3, i32 14, !9, null}
+!8 = !MDLocation(line: 3, column: 14, scope: !9)
 !9 = !{!"0xb\003\0012\000", !12, !0} ; [ DW_TAG_lexical_block ]
 !10 = !{!0}
 !11 = !{!5}
index a47afdd..d1beadc 100644 (file)
@@ -31,9 +31,9 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !14 = !{!"0x34\00GLB\00GLB\00\001\000\001", null, !6, !9, i32* @GLB, null} ; [ DW_TAG_variable ]
 !15 = !{!"0x100\00LOC\004\000", !16, !6, !9} ; [ DW_TAG_auto_variable ]
 !16 = !{!"0xb\003\009\000", !20, !5} ; [ DW_TAG_lexical_block ]
-!17 = !{i32 4, i32 9, !16, null}
-!18 = !{i32 4, i32 23, !16, null}
-!19 = !{i32 5, i32 5, !16, null}
+!17 = !MDLocation(line: 4, column: 9, scope: !16)
+!18 = !MDLocation(line: 4, column: 23, scope: !16)
+!19 = !MDLocation(line: 5, column: 5, scope: !16)
 !20 = !{!"test.c", !"/work/llvm/vanilla/test/DebugInfo"}
 
 ; CHECK: DW_TAG_variable
index 0ed4e32..4880fa4 100644 (file)
@@ -130,37 +130,37 @@ entry:
 !45 = !{!"0x24"}                      ; [ DW_TAG_base_type ]
 !46 = !{!"0x2e\00baz\00baz\00_ZN3bazC2Ei\006\000\001\000\006\00256\000\000", !82, null, !14, null, void (%struct.baz*, i32)* @_ZN3bazC2Ei, null, !13, null} ; [ DW_TAG_subprogram ] [line 6] [def] [scope 0] [baz]
 !49 = !{!"0x101\00argc\0016777232\000", !29, !6, !12} ; [ DW_TAG_arg_variable ]
-!50 = !{i32 16, i32 14, !29, null}
+!50 = !MDLocation(line: 16, column: 14, scope: !29)
 !51 = !{!"0x101\00argv\0033554448\000", !29, !6, !32} ; [ DW_TAG_arg_variable ]
-!52 = !{i32 16, i32 27, !29, null}
+!52 = !MDLocation(line: 16, column: 27, scope: !29)
 !53 = !{!"0x100\00myBar\0018\000", !54, !6, !5} ; [ DW_TAG_auto_variable ]
 !54 = !{!"0xb\0017\001\000", !82, !29} ; [ DW_TAG_lexical_block ]
-!55 = !{i32 18, i32 9, !54, null}
-!56 = !{i32 18, i32 17, !54, null}
-!57 = !{i32 19, i32 5, !54, null}
+!55 = !MDLocation(line: 18, column: 9, scope: !54)
+!56 = !MDLocation(line: 18, column: 17, scope: !54)
+!57 = !MDLocation(line: 19, column: 5, scope: !54)
 !58 = !{!"0x101\00this\0016777229\0064", !37, !6, !24} ; [ DW_TAG_arg_variable ]
-!59 = !{i32 13, i32 5, !37, null}
+!59 = !MDLocation(line: 13, column: 5, scope: !37)
 !60 = !{!"0x101\00x\0033554445\000", !37, !6, !12} ; [ DW_TAG_arg_variable ]
-!61 = !{i32 13, i32 13, !37, null}
-!62 = !{i32 13, i32 34, !37, null}
+!61 = !MDLocation(line: 13, column: 13, scope: !37)
+!62 = !MDLocation(line: 13, column: 34, scope: !37)
 !63 = !{!"0x101\00this\0016777229\0064", !40, !6, !24} ; [ DW_TAG_arg_variable ]
-!64 = !{i32 13, i32 5, !40, null}
+!64 = !MDLocation(line: 13, column: 5, scope: !40)
 !65 = !{!"0x101\00x\0033554445\000", !40, !6, !12} ; [ DW_TAG_arg_variable ]
-!66 = !{i32 13, i32 13, !40, null}
-!67 = !{i32 13, i32 33, !40, null}
-!68 = !{i32 13, i32 34, !69, null}
+!66 = !MDLocation(line: 13, column: 13, scope: !40)
+!67 = !MDLocation(line: 13, column: 33, scope: !40)
+!68 = !MDLocation(line: 13, column: 34, scope: !69)
 !69 = !{!"0xb\0013\0033\001", !82, !40} ; [ DW_TAG_lexical_block ]
 !70 = !{!"0x101\00this\0016777222\0064", !43, !6, !16} ; [ DW_TAG_arg_variable ]
-!71 = !{i32 6, i32 5, !43, null}
+!71 = !MDLocation(line: 6, column: 5, scope: !43)
 !72 = !{!"0x101\00a\0033554438\000", !43, !6, !12} ; [ DW_TAG_arg_variable ]
-!73 = !{i32 6, i32 13, !43, null}
-!74 = !{i32 6, i32 24, !43, null}
+!73 = !MDLocation(line: 6, column: 13, scope: !43)
+!74 = !MDLocation(line: 6, column: 24, scope: !43)
 !75 = !{!"0x101\00this\0016777222\0064", !46, !6, !16} ; [ DW_TAG_arg_variable ]
-!76 = !{i32 6, i32 5, !46, null}
+!76 = !MDLocation(line: 6, column: 5, scope: !46)
 !77 = !{!"0x101\00a\0033554438\000", !46, !6, !12} ; [ DW_TAG_arg_variable ]
-!78 = !{i32 6, i32 13, !46, null}
-!79 = !{i32 6, i32 23, !46, null}
-!80 = !{i32 6, i32 24, !81, null}
+!78 = !MDLocation(line: 6, column: 13, scope: !46)
+!79 = !MDLocation(line: 6, column: 23, scope: !46)
+!80 = !MDLocation(line: 6, column: 24, scope: !81)
 !81 = !{!"0xb\006\0023\002", !82, !46} ; [ DW_TAG_lexical_block ]
 !82 = !{!"main.cpp", !"/Users/echristo/tmp/bad-struct-ref"}
 !83 = !{i32 1, !"Debug Info Version", i32 2}
index 13a1666..8b4f561 100644 (file)
@@ -39,8 +39,8 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !12 = !{!13}
 !13 = !{!"0xd\00b\001\0032\0032\000\000", !20, !11, !9} ; [ DW_TAG_member ]
 !16 = !{!"0x101\00a\0016777219\000", !5, !6, !10} ; [ DW_TAG_arg_variable ]
-!17 = !{i32 3, i32 13, !5, null}
-!18 = !{i32 4, i32 3, !19, null}
+!17 = !MDLocation(line: 3, column: 13, scope: !5)
+!18 = !MDLocation(line: 4, column: 3, scope: !19)
 !19 = !{!"0xb\003\0016\000", !20, !5} ; [ DW_TAG_lexical_block ]
 !20 = !{!"foo.cpp", !"/Users/echristo"}
 !21 = !{i32 1, !"Debug Info Version", i32 2}
index 4c9a9b3..e395e06 100644 (file)
@@ -105,12 +105,12 @@ attributes #2 = { ssp uwtable }
 !25 = !{!"clang version 3.5.0 "}
 !26 = !{!"0x101\00this\0016777216\001088", !17, null, !27} ; [ DW_TAG_arg_variable ] [this] [line 0]
 !27 = !{!"0xf\00\000\0064\0064\000\000", null, null, !"_ZTS1A"} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS1A]
-!28 = !{i32 0, i32 0, !17, null}
-!29 = !{i32 8, i32 0, !17, null}
+!28 = !MDLocation(line: 0, scope: !17)
+!29 = !MDLocation(line: 8, scope: !17)
 !30 = !{!"0x101\00this\0016777216\001088", !18, null, !27} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!31 = !{i32 0, i32 0, !18, null}
-!32 = !{i32 6, i32 0, !18, null}
-!33 = !{i32 8, i32 0, !18, null}
+!31 = !MDLocation(line: 0, scope: !18)
+!32 = !MDLocation(line: 6, scope: !18)
+!33 = !MDLocation(line: 8, scope: !18)
 !34 = !{!"0x100\00a\0011\000", !19, !20, !"_ZTS1A"} ; [ DW_TAG_auto_variable ] [a] [line 11]
-!35 = !{i32 11, i32 0, !19, null}
-!36 = !{i32 12, i32 0, !19, null}
+!35 = !MDLocation(line: 11, scope: !19)
+!36 = !MDLocation(line: 12, scope: !19)
index 52f48db..a5b5700 100644 (file)
@@ -110,16 +110,16 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !5 = !{!"0x100\00x\005\000", !6, !1, !7} ; [ DW_TAG_auto_variable ]
 !6 = !{!"0xb\004\0014\000", !23, !0} ; [ DW_TAG_lexical_block ]
 !7 = !{!"0x24\00int\000\0032\0032\000\000\005", null, !2} ; [ DW_TAG_base_type ]
-!8 = !{i32 6, i32 3, !6, null}
+!8 = !MDLocation(line: 6, column: 3, scope: !6)
 !12 = !{i32 1}
-!13 = !{i32 7, i32 3, !6, null}
-!14 = !{i32 8, i32 3, !6, null}
-!15 = !{i32 9, i32 3, !6, null}
+!13 = !MDLocation(line: 7, column: 3, scope: !6)
+!14 = !MDLocation(line: 8, column: 3, scope: !6)
+!15 = !MDLocation(line: 9, column: 3, scope: !6)
 !16 = !{i32 2}
-!17 = !{i32 10, i32 3, !6, null}
-!18 = !{i32 11, i32 3, !6, null}
-!19 = !{i32 12, i32 3, !6, null}
-!20 = !{i32 13, i32 1, !6, null}
+!17 = !MDLocation(line: 10, column: 3, scope: !6)
+!18 = !MDLocation(line: 11, column: 3, scope: !6)
+!19 = !MDLocation(line: 12, column: 3, scope: !6)
+!20 = !MDLocation(line: 13, column: 1, scope: !6)
 !21 = !{!0}
 !22 = !{!5}
 !23 = !{!"simple.c", !"/home/rengol01/temp/tests/dwarf/relocation"}
index 12695ce..8cff0b8 100644 (file)
@@ -72,19 +72,19 @@ entry:
 !20 = !{!"0x2e\00A\00A\00_ZN1AC2Ev\003\000\001\000\006\00256\000\003", !6, null, !11, null, void (%class.A*)* @_ZN1AC2Ev, null, !17, !1} ; [ DW_TAG_subprogram ] [line 3] [def] [A]
 !21 = !{!"0x100\00a\008\000", !22, !6, !14} ; [ DW_TAG_auto_variable ] [a] [line 8]
 !22 = !{!"0xb\007\0011\000", !6, !5} ; [ DW_TAG_lexical_block ] [/Users/echristo/debug-tests/bar.cpp]
-!23 = !{i32 8, i32 5, !22, null}
-!24 = !{i32 8, i32 6, !22, null}
-!25 = !{i32 9, i32 3, !22, null}
+!23 = !MDLocation(line: 8, column: 5, scope: !22)
+!24 = !MDLocation(line: 8, column: 6, scope: !22)
+!25 = !MDLocation(line: 9, column: 3, scope: !22)
 !26 = !{!"0x101\00this\0016777219\001088", !10, !6, !27} ; [ DW_TAG_arg_variable ] [this] [line 3]
 !27 = !{!"0xf\00\000\0064\0064\000\000", null, null, !14} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from A]
-!28 = !{i32 3, i32 3, !10, null}
-!29 = !{i32 3, i32 18, !10, null}
+!28 = !MDLocation(line: 3, column: 3, scope: !10)
+!29 = !MDLocation(line: 3, column: 18, scope: !10)
 !30 = !{!"0x101\00this\0016777219\001088", !20, !6, !27} ; [ DW_TAG_arg_variable ] [this] [line 3]
-!31 = !{i32 3, i32 3, !20, null}
-!32 = !{i32 3, i32 9, !33, null}
+!31 = !MDLocation(line: 3, column: 3, scope: !20)
+!32 = !MDLocation(line: 3, column: 9, scope: !33)
 !33 = !{!"0xb\003\007\001", !6, !20} ; [ DW_TAG_lexical_block ] [/Users/echristo/debug-tests/bar.cpp]
-!34 = !{i32 3, i32 18, !33, null}
-!35 = !{i32 7, i32 0, !5, null}
+!34 = !MDLocation(line: 3, column: 18, scope: !33)
+!35 = !MDLocation(line: 7, scope: !5)
 !36 = !{!"0x101\00\0016777223\000", !5, !6, !9} ; [ DW_TAG_arg_variable ] [line 7]
 !37 = !{!"bar.cpp", !"/Users/echristo/debug-tests"}
 !38 = !{i32 1, !"Debug Info Version", i32 2}
index 42f42e6..ab2075a 100644 (file)
@@ -36,7 +36,7 @@ entry:
 !20 = !{!"0x34\00x\00x\00\005\001\001", !5, !6, !21, i32* @_ZZN3foo3barEvE1x, null} ; [ DW_TAG_variable ]
 !21 = !{!"0x26\00\000\000\000\000\000", null, null, !22} ; [ DW_TAG_const_type ]
 !22 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ]
-!25 = !{i32 6, i32 1, !26, null}
+!25 = !MDLocation(line: 6, column: 1, scope: !26)
 !26 = !{!"0xb\004\0017\000", !6, !5} ; [ DW_TAG_lexical_block ]
 !27 = !{!"nsNativeAppSupportBase.ii", !"/Users/espindola/mozilla-central/obj-x86_64-apple-darwin11.2.0/toolkit/library"}
 !28 = !{i32 1, !"Debug Info Version", i32 2}
index ea3da24..39c3340 100644 (file)
@@ -40,5 +40,5 @@ attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"=
 !7 = !{!8}
 !8 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
 !9 = !{i32 2, !"Dwarf Version", i32 4}
-!10 = !{i32 3, i32 0, !4, null}
+!10 = !MDLocation(line: 3, scope: !4)
 !11 = !{i32 1, !"Debug Info Version", i32 2}
index 3d255a8..32c6f24 100644 (file)
@@ -37,7 +37,7 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !9 = !{!"0x100\00x\002\000", !10, !6, !11} ; [ DW_TAG_auto_variable ]
 !10 = !{!"0xb\001\0012\000", !14, !5} ; [ DW_TAG_lexical_block ]
 !11 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ]
-!12 = !{i32 2, i32 7, !10, null}
-!13 = !{i32 3, i32 1, !10, null}
+!12 = !MDLocation(line: 2, column: 7, scope: !10)
+!13 = !MDLocation(line: 3, column: 1, scope: !10)
 !14 = !{!"test.cc", !"/home/samsonov/debuginfo"}
 !15 = !{i32 1, !"Debug Info Version", i32 2}
index 7880737..2bc56b4 100644 (file)
@@ -69,8 +69,8 @@ attributes #1 = { nounwind readnone }
 !17 = !{!"0x26\00\000\000\000\000\000", null, null, !8} ; [ DW_TAG_const_type ] [line 0, size 0, align 0, offset 0] [from foo]
 !18 = !{i32 786468}
 !19 = !{!"0x101\00f\0016777222\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [f] [line 6]
-!20 = !{i32 6, i32 0, !4, null}
+!20 = !MDLocation(line: 6, scope: !4)
 !21 = !{!"0x101\00g\0033554438\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [g] [line 6]
-!22 = !{i32 7, i32 0, !4, null}
-!23 = !{i32 8, i32 0, !4, null}
+!22 = !MDLocation(line: 7, scope: !4)
+!23 = !MDLocation(line: 8, scope: !4)
 !24 = !{i32 1, !"Debug Info Version", i32 2}
index f71b0a1..e39be5a 100644 (file)
@@ -88,14 +88,14 @@ attributes #2 = { nounwind readnone }
 !25 = !{i32 2, !"Dwarf Version", i32 2}
 !26 = !{i32 1, !"Debug Info Version", i32 2}
 !27 = !{!"clang version 3.5.0 "}
-!28 = !{i32 1, i32 0, !4, null}
-!29 = !{i32 2, i32 0, !4, null}
+!28 = !MDLocation(line: 1, scope: !4)
+!29 = !MDLocation(line: 2, scope: !4)
 !30 = !{!31, !31, i64 0}
 !31 = !{!"int", !32, i64 0}
 !32 = !{!"omnipotent char", !33, i64 0}
 !33 = !{!"Simple C/C++ TBAA"}
-!34 = !{i32 3, i32 0, !4, null}
-!35 = !{i32 5, i32 0, !12, null}
-!36 = !{i32 6, i32 0, !12, null}
-!37 = !{i32 7, i32 0, !12, null}
-!38 = !{i32 8, i32 0, !12, null}
+!34 = !MDLocation(line: 3, scope: !4)
+!35 = !MDLocation(line: 5, scope: !12)
+!36 = !MDLocation(line: 6, scope: !12)
+!37 = !MDLocation(line: 7, scope: !12)
+!38 = !MDLocation(line: 8, scope: !12)
index 6dfa8d7..5b21188 100644 (file)
@@ -92,16 +92,16 @@ attributes #2 = { nounwind }
 !17 = !{i32 1, !"Debug Info Version", i32 2}
 !18 = !{!"clang version 3.5.0 "}
 !19 = !{!"0x101\00p\0016777217\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [p] [line 1]
-!20 = !{i32 1, i32 0, !4, null}
-!21 = !{i32 2, i32 0, !4, null}
-!22 = !{i32 3, i32 0, !4, null}
+!20 = !MDLocation(line: 1, scope: !4)
+!21 = !MDLocation(line: 2, scope: !4)
+!22 = !MDLocation(line: 3, scope: !4)
 !23 = !{!"0x101\00argc\0016777221\000", !10, !5, !9} ; [ DW_TAG_arg_variable ] [argc] [line 5]
-!24 = !{i32 5, i32 0, !10, null}
+!24 = !MDLocation(line: 5, scope: !10)
 !25 = !{!"0x101\00argv\0033554437\000", !10, !5, !13} ; [ DW_TAG_arg_variable ] [argv] [line 5]
 !26 = !{!"0x100\00array\006\000", !10, !5, !27} ; [ DW_TAG_auto_variable ] [array] [line 6]
 !27 = !{!"0x1\00\000\00128\0032\000\000", null, null, !9, !28, i32 0, null, null, null} ; [ DW_TAG_array_type ] [line 0, size 128, align 32, offset 0] [from int]
 !28 = !{!29}
 !29 = !{!"0x21\000\004"}        ; [ DW_TAG_subrange_type ] [0, 3]
-!30 = !{i32 6, i32 0, !10, null}
-!31 = !{i32 7, i32 0, !10, null}
-!32 = !{i32 8, i32 0, !10, null}
+!30 = !MDLocation(line: 6, scope: !10)
+!31 = !MDLocation(line: 7, scope: !10)
+!32 = !MDLocation(line: 8, scope: !10)
index 9eb8912..51d575f 100644 (file)
@@ -121,11 +121,11 @@ attributes #3 = { nounwind }
 !63 = !{!"0xf\00\000\0064\0064\000\000", null, null, !11} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from ]
 !64 = !{!"0xd\00DestroyFuncPtr\002\0064\0064\00192\000", !1, !58, !63} ; [ DW_TAG_member ] [DestroyFuncPtr] [line 2, size 64, align 64, offset 192] [from ]
 !65 = !{!"0xd\00block\002\0064\0064\00256\003", !1, !5, !25} ; [ DW_TAG_member ] [block] [line 2, size 64, align 64, offset 256] [public] [from ]
-!66 = !{i32 2, i32 20, !8, null}
-!67 = !{i32 2, i32 21, !8, null}
+!66 = !MDLocation(line: 2, column: 20, scope: !8)
+!67 = !MDLocation(line: 2, column: 21, scope: !8)
 !68 = !{!"0x100\00block\002\000", !8, !5, !25} ; [ DW_TAG_auto_variable ] [block] [line 2]
 !69 = !{!"0x102\006\0034\0032"} ; [ DW_TAG_expression ] [DW_OP_deref]
-!70 = !{i32 2, i32 9, !8, null}
-!71 = !{i32 2, i32 23, !72, null}
+!70 = !MDLocation(line: 2, column: 9, scope: !8)
+!71 = !MDLocation(line: 2, column: 23, scope: !72)
 !72 = !{!"0xb\002\0021\000", !1, !8} ; [ DW_TAG_lexical_block ] [/foo.m]
-!73 = !{i32 2, i32 32, !8, null}
+!73 = !MDLocation(line: 2, column: 32, scope: !8)
index d78c08e..d89ba35 100644 (file)
@@ -116,13 +116,13 @@ attributes #1 = { nounwind readnone }
 !26 = !{i32 1, !"Objective-C Image Info Section", !"__DATA, __objc_imageinfo, regular, no_dead_strip"}
 !27 = !{i32 4, !"Objective-C Garbage Collection", i32 0}
 !28 = !{!"0x101\00self\0016777225\001088", !7, !5, !14} ; [ DW_TAG_arg_variable ] [self] [line 9]
-!29 = !{i32 9, i32 0, !7, null}
+!29 = !MDLocation(line: 9, scope: !7)
 !30 = !{!"0x101\00_cmd\0033554441\0064", !7, !5, !31} ; [ DW_TAG_arg_variable ] [_cmd] [line 9]
 !31 = !{!"0x16\00SEL\009\000\000\000\000", !1, null, !12} ; [ DW_TAG_typedef ] [SEL] [line 9, size 0, align 0, offset 0] [from ]
 !32 = !{!"0x101\00otherBitmap\0050331657\000", !7, !5, !14} ; [ DW_TAG_arg_variable ] [otherBitmap] [line 9]
 !33 = !{!"0x101\00info\0067108874\000", !7, !5, !15} ; [ DW_TAG_arg_variable ] [info] [line 10]
-!34 = !{i32 10, i32 0, !7, null}
+!34 = !MDLocation(line: 10, scope: !7)
 !35 = !{!"0x101\00length\0083886091\000", !7, !5, !19} ; [ DW_TAG_arg_variable ] [length] [line 11]
-!36 = !{i32 11, i32 0, !7, null}
-!37 = !{i32 13, i32 0, !7, null}
+!36 = !MDLocation(line: 11, scope: !7)
+!37 = !MDLocation(line: 13, scope: !7)
 !38 = !{i32 1, !"Debug Info Version", i32 2}
index 4b9654e..d34f50b 100644 (file)
@@ -39,5 +39,5 @@ attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"=
 !7 = !{!8}
 !8 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
 !9 = !{i32 2, !"Dwarf Version", i32 3}
-!10 = !{i32 3, i32 0, !4, null}
+!10 = !MDLocation(line: 3, scope: !4)
 !11 = !{i32 1, !"Debug Info Version", i32 2}
index b0339e4..96e70b1 100644 (file)
@@ -33,5 +33,5 @@ attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"=
 !7 = !{!8}
 !8 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
 !9 = !{i32 2, !"Dwarf Version", i32 3}
-!10 = !{i32 3, i32 0, !4, null}
+!10 = !MDLocation(line: 3, scope: !4)
 !11 = !{i32 1, !"Debug Info Version", i32 2}
index 28343f8..b5da28a 100644 (file)
@@ -118,14 +118,14 @@ declare void @_Z8moz_freePv(i8*)
 !46 = !{!"0x101\00aValue\0033554436\000", !31, !6, !9} ; [ DW_TAG_arg_variable ]
 !47 = !{!49}
 !49 = !{!"0x34\00mRefCnt\00mRefCnt\00\009\000\001", null, !6, !37, i32* null, null} ; [ DW_TAG_variable ]
-!50 = !{i32 5, i32 5, !51, !52}
+!50 = !MDLocation(line: 5, column: 5, scope: !51, inlinedAt: !52)
 !51 = !{!"0xb\004\0029\002", !6, !31} ; [ DW_TAG_lexical_block ]
-!52 = !{i32 15, i32 0, !53, null}
+!52 = !MDLocation(line: 15, scope: !53)
 !53 = !{!"0xb\0014\0034\000", !6, !5} ; [ DW_TAG_lexical_block ]
-!54 = !{i32 19, i32 3, !55, !56}
+!54 = !MDLocation(line: 19, column: 3, scope: !55, inlinedAt: !56)
 !55 = !{!"0xb\0018\0041\001", !6, !27} ; [ DW_TAG_lexical_block ]
-!56 = !{i32 18, i32 41, !23, !52}
-!57 = !{i32 19, i32 3, !55, !58}
-!58 = !{i32 18, i32 41, !23, null}
+!56 = !MDLocation(line: 18, column: 41, scope: !23, inlinedAt: !52)
+!57 = !MDLocation(line: 19, column: 3, scope: !55, inlinedAt: !58)
+!58 = !MDLocation(line: 18, column: 41, scope: !23)
 !59 = !{!"nsAutoRefCnt.ii", !"/Users/espindola/mozilla-central/obj-x86_64-apple-darwin11.2.0/netwerk/base/src"}
 !60 = !{i32 1, !"Debug Info Version", i32 2}
index 2662747..324c831 100644 (file)
@@ -110,9 +110,9 @@ attributes #1 = { nounwind readnone }
 !35 = !{i32 1, !"PIC Level", i32 2}
 !36 = !{!"clang version 3.6.0 (trunk 225364) (llvm/trunk 225366)"}
 !37 = !{!"0x102"}                                 ; [ DW_TAG_expression ]
-!38 = !{i32 3, i32 16, !12, null}
-!39 = !{i32 5, i32 3, !12, null}
-!40 = !{i32 10, i32 16, !19, null}
-!41 = !{i32 12, i32 3, !19, null}
-!42 = !{i32 16, i32 6, !24, null}
-!43 = !{i32 17, i32 3, !24, null}
+!38 = !MDLocation(line: 3, column: 16, scope: !12)
+!39 = !MDLocation(line: 5, column: 3, scope: !12)
+!40 = !MDLocation(line: 10, column: 16, scope: !19)
+!41 = !MDLocation(line: 12, column: 3, scope: !19)
+!42 = !MDLocation(line: 16, column: 6, scope: !24)
+!43 = !MDLocation(line: 17, column: 3, scope: !24)
index 5a14a61..c1f58d7 100644 (file)
@@ -87,10 +87,10 @@ attributes #1 = { nounwind readnone }
 !23 = !{i32 2, !"Dwarf Version", i32 4}
 !24 = !{i32 1, !"Debug Info Version", i32 2}
 !25 = !{!"clang version 3.5 (trunk 199923) (llvm/trunk 199940)"}
-!26 = !{i32 8, i32 0, !14, null}
+!26 = !MDLocation(line: 8, scope: !14)
 !27 = !{!"0x101\00this\0016777216\001088", !18, null, !28} ; [ DW_TAG_arg_variable ] [this] [line 0]
 !28 = !{!"0xf\00\000\0064\0064\000\000", null, null, !"_ZTS1A"} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS1A]
-!29 = !{i32 0, i32 0, !18, null}
+!29 = !MDLocation(line: 0, scope: !18)
 !30 = !{!"0x101\00i\0033554435\000", !18, !15, !7} ; [ DW_TAG_arg_variable ] [i] [line 3]
-!31 = !{i32 3, i32 0, !18, null}
-!32 = !{i32 3, i32 0, !19, null}
+!31 = !MDLocation(line: 3, scope: !18)
+!32 = !MDLocation(line: 3, scope: !19)
index dc87ec7..0d872d8 100644 (file)
@@ -70,6 +70,6 @@ attributes #1 = { nounwind readnone }
 !11 = !{i32 1, !"Debug Info Version", i32 2}
 !12 = !{!"clang version 3.5.0 (trunk 204164) (llvm/trunk 204183)"}
 !13 = !{!"0x101\00a\0016777217\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [a] [line 1]
-!14 = !{i32 1, i32 0, !4, null}
+!14 = !MDLocation(line: 1, scope: !4)
 !15 = !{!"0x101\00b\0016777218\000", !9, !5, !8} ; [ DW_TAG_arg_variable ] [b] [line 2]
-!16 = !{i32 2, i32 0, !9, null}
+!16 = !MDLocation(line: 2, scope: !9)
index 9ecdc90..713781f 100644 (file)
@@ -43,8 +43,8 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !12 = !{!"0xd\00x\002\0064\0064\000\000", !19, !10, !6} ; [ DW_TAG_member ]
 !13 = !{!"0xd\00y\003\0064\0064\0064\000", !19, !10, !6} ; [ DW_TAG_member ]
 !14 = !{!"0xd\00P2\008\00128\0064\00128\000", !19, !7, !10} ; [ DW_TAG_member ]
-!15 = !{i32 11, i32 0, !1, null}
-!16 = !{i32 12, i32 0, !17, null}
+!15 = !MDLocation(line: 11, scope: !1)
+!16 = !MDLocation(line: 12, scope: !17)
 !17 = !{!"0xb\0011\000\000", !19, !1} ; [ DW_TAG_lexical_block ]
 !18 = !{!1}
 !19 = !{!"b2.c", !"/tmp/"}
index 3daca14..18abbdd 100644 (file)
@@ -30,8 +30,8 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !6 = !{!"0x100\00i\002\000", !7, !2, !5} ; [ DW_TAG_auto_variable ]
 !7 = !{!"0xb\001\0011\000", !13, !1} ; [ DW_TAG_lexical_block ]
 !8 = !{i32 42}
-!9 = !{i32 2, i32 12, !7, null}
-!10 = !{i32 3, i32 2, !7, null}
+!9 = !MDLocation(line: 2, column: 12, scope: !7)
+!10 = !MDLocation(line: 3, column: 2, scope: !7)
 !11 = !{!1}
 !12 = !{!6}
 !13 = !{!"a.c", !"/private/tmp"}
index 90d3ce5..755565d 100644 (file)
@@ -40,10 +40,10 @@ declare i32 @bar() nounwind readnone
 !6 = !{!"0x100\00j\0015\000", !7, !1, !5} ; [ DW_TAG_auto_variable ]
 !7 = !{!"0xb\0012\0052\000", !15, !0} ; [ DW_TAG_lexical_block ]
 !8 = !{i32 42}
-!9 = !{i32 15, i32 12, !7, null}
-!10 = !{i32 23, i32 3, !7, null}
-!11 = !{i32 17, i32 3, !7, null}
-!12 = !{i32 18, i32 3, !7, null}
+!9 = !MDLocation(line: 15, column: 12, scope: !7)
+!10 = !MDLocation(line: 23, column: 3, scope: !7)
+!11 = !MDLocation(line: 17, column: 3, scope: !7)
+!12 = !MDLocation(line: 18, column: 3, scope: !7)
 !13 = !{!0}
 !14 = !{!6}
 !15 = !{!"mu.c", !"/private/tmp"}
index 7ad328c..ef975dd 100644 (file)
@@ -99,28 +99,28 @@ entry:
 !24 = !{null}
 !25 = !{!"0x2e\00~A\00~A\00_ZN1AD2Ev\002\000\001\000\006\00256\000\000", !51, !3, !23, null, void (%class.A*)* @_ZN1AD2Ev, null, null, null} ; [ DW_TAG_subprogram ] [line 2] [def] [scope 0] [~A]
 !26 = !{!"0x101\00i\0016777220\000", !19, !3, !6} ; [ DW_TAG_arg_variable ]
-!27 = !{i32 4, i32 11, !19, null}
+!27 = !MDLocation(line: 4, column: 11, scope: !19)
 !28 = !{!"0x100\00j\005\000", !29, !3, !6} ; [ DW_TAG_auto_variable ]
 !29 = !{!"0xb\004\0014\000", !51, !19} ; [ DW_TAG_lexical_block ]
-!30 = !{i32 5, i32 7, !29, null}
-!31 = !{i32 5, i32 12, !29, null}
-!32 = !{i32 6, i32 3, !29, null}
-!33 = !{i32 7, i32 5, !34, null}
+!30 = !MDLocation(line: 5, column: 7, scope: !29)
+!31 = !MDLocation(line: 5, column: 12, scope: !29)
+!32 = !MDLocation(line: 6, column: 3, scope: !29)
+!33 = !MDLocation(line: 7, column: 5, scope: !34)
 !34 = !{!"0xb\006\0016\001", !51, !29} ; [ DW_TAG_lexical_block ]
-!35 = !{i32 8, i32 3, !34, null}
-!36 = !{i32 9, i32 9, !29, null}
+!35 = !MDLocation(line: 8, column: 3, scope: !34)
+!36 = !MDLocation(line: 9, column: 9, scope: !29)
 !37 = !{!"0x100\00my_a\009\000", !29, !3, !38} ; [ DW_TAG_auto_variable ]
 !38 = !{!"0x10\00\000\000\000\000\000", !2, null, !1} ; [ DW_TAG_reference_type ]
-!39 = !{i32 9, i32 5, !29, null}
-!40 = !{i32 10, i32 3, !29, null}
-!41 = !{i32 11, i32 3, !29, null}
-!42 = !{i32 12, i32 1, !29, null}
+!39 = !MDLocation(line: 9, column: 5, scope: !29)
+!40 = !MDLocation(line: 10, column: 3, scope: !29)
+!41 = !MDLocation(line: 11, column: 3, scope: !29)
+!42 = !MDLocation(line: 12, column: 1, scope: !29)
 !43 = !{!"0x101\00this\0016777218\0064", !22, !3, !13} ; [ DW_TAG_arg_variable ]
-!44 = !{i32 2, i32 47, !22, null}
-!45 = !{i32 2, i32 61, !22, null}
+!44 = !MDLocation(line: 2, column: 47, scope: !22)
+!45 = !MDLocation(line: 2, column: 61, scope: !22)
 !46 = !{!"0x101\00this\0016777218\0064", !25, !3, !13} ; [ DW_TAG_arg_variable ]
-!47 = !{i32 2, i32 47, !25, null}
-!48 = !{i32 2, i32 54, !49, null}
+!47 = !MDLocation(line: 2, column: 47, scope: !25)
+!48 = !MDLocation(line: 2, column: 54, scope: !49)
 !49 = !{!"0xb\002\0052\002", !51, !25} ; [ DW_TAG_lexical_block ]
 !50 = !{!19, !22, !25}
 !51 = !{!"a.cc", !"/private/tmp"}
index 1808235..2ede97b 100644 (file)
@@ -41,16 +41,16 @@ declare void @llvm.stackrestore(i8*) nounwind
 !10 = !{!"0xf\00\000\0064\0064\000\000", null, null, !11} ; [ DW_TAG_pointer_type ]
 !11 = !{!"0x26\00\000\000\000\000\000", null, null, !9} ; [ DW_TAG_const_type ]
 !14 = !{!"0x101\00x\0016777221\000", !5, !6, !10} ; [ DW_TAG_arg_variable ]
-!15 = !{i32 5, i32 21, !5, null}
-!16 = !{i32 7, i32 13, !17, null}
+!15 = !MDLocation(line: 5, column: 21, scope: !5)
+!16 = !MDLocation(line: 7, column: 13, scope: !17)
 !17 = !{!"0xb\006\001\000", !26, !5} ; [ DW_TAG_lexical_block ]
 !18 = !{!"0x100\00a\007\000", !17, !6, !19} ; [ DW_TAG_auto_variable ]
 !19 = !{!"0x1\00\000\000\008\000\000", null, null, !20, !21, i32 0, null, null, null} ; [ DW_TAG_array_type ] [line 0, size 0, align 8, offset 0] [from char]
 !20 = !{!"0x24\00char\000\008\008\000\000\006", null, null} ; [ DW_TAG_base_type ]
 !21 = !{!22}
 !22 = !{!"0x21\000\00-1"}        ; [ DW_TAG_subrange_type ]
-!23 = !{i32 7, i32 8, !17, null}
-!24 = !{i32 9, i32 1, !17, null}
-!25 = !{i32 8, i32 3, !17, null}
+!23 = !MDLocation(line: 7, column: 8, scope: !17)
+!24 = !MDLocation(line: 9, column: 1, scope: !17)
+!25 = !MDLocation(line: 8, column: 3, scope: !17)
 !26 = !{!"20020104-2.c", !"/Volumes/Sandbox/llvm"}
 !27 = !{i32 1, !"Debug Info Version", i32 2}
index 5a76420..71654cb 100644 (file)
@@ -26,7 +26,7 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !8 = !{!"0x16\00ti_int\0078\000\000\000\000", !14, !4, !10} ; [ DW_TAG_typedef ]
 !9 = !{!"0x29", !14} ; [ DW_TAG_file_type ]
 !10 = !{!"0x24\00\000\00128\00128\000\000\005", !13, !4} ; [ DW_TAG_base_type ]
-!11 = !{i32 29, i32 0, !2, null}
+!11 = !MDLocation(line: 29, scope: !2)
 !12 = !{!3}
 !13 = !{!"foo.c", !"/tmp"}
 !14 = !{!"myint.h", !"/tmp"}
index 2af4fe7..0d56222 100644 (file)
@@ -55,19 +55,19 @@ declare %0 @llvm.uadd.with.overflow.i64(i64, i64) nounwind readnone
 !12 = !{!"0x16\00TItype\00160\000\000\000\000", !30, !6, !13} ; [ DW_TAG_typedef ]
 !13 = !{!"0x24\00\000\00128\00128\000\000\005", !29, !1} ; [ DW_TAG_base_type ]
 !14 = !{!"0x101\00u\001093\000", !9, !1, !12} ; [ DW_TAG_arg_variable ]
-!15 = !{i32 1093, i32 0, !9, null}
+!15 = !MDLocation(line: 1093, scope: !9)
 !16 = !{i64 0}
 !17 = !{!"0x100\00c\001095\000", !18, !1, !19} ; [ DW_TAG_auto_variable ]
 !18 = !{!"0xb\001094\000\0013", !29, !9} ; [ DW_TAG_lexical_block ]
 !19 = !{!"0x16\00word_type\00424\000\000\000\000", !30, !6, !20} ; [ DW_TAG_typedef ]
 !20 = !{!"0x24\00long int\000\0064\0064\000\000\005", !29, !1} ; [ DW_TAG_base_type ]
-!21 = !{i32 1095, i32 0, !18, null}
-!22 = !{i32 1103, i32 0, !18, null}
-!23 = !{i32 1104, i32 0, !18, null}
-!24 = !{i32 1003, i32 0, !25, !26}
+!21 = !MDLocation(line: 1095, scope: !18)
+!22 = !MDLocation(line: 1103, scope: !18)
+!23 = !MDLocation(line: 1104, scope: !18)
+!24 = !MDLocation(line: 1003, scope: !25, inlinedAt: !26)
 !25 = !{!"0xb\00879\000\000", !29, !0} ; [ DW_TAG_lexical_block ]
-!26 = !{i32 1107, i32 0, !18, null}
-!27 = !{i32 1111, i32 0, !18, null}
+!26 = !MDLocation(line: 1107, scope: !18)
+!27 = !MDLocation(line: 1111, scope: !18)
 !28 = !{!0, !9}
 !29 = !{!"foobar.c", !"/tmp"}
 !30 = !{!"foobar.h", !"/tmp"}
index 70741b4..4aaaf4a 100644 (file)
@@ -44,15 +44,15 @@ entry:
 !5 = !{!"0x24\00int\000\0032\0032\000\000\005", null, !0} ; [ DW_TAG_base_type ]
 !6 = !{!"0x2e\00main\00main\00\007\000\001\000\006\000\000\007", !19, !2, !3, null, i32 ()* @main, null, null, null} ; [ DW_TAG_subprogram ] [line 7] [def] [main]
 !7 = !{!"0x101\00i\0016777217\000", !1, !2, !5} ; [ DW_TAG_arg_variable ]
-!8 = !{i32 1, i32 13, !1, null}
+!8 = !MDLocation(line: 1, column: 13, scope: !1)
 !9 = !{!"0x100\00j\002\000", !10, !2, !5} ; [ DW_TAG_auto_variable ]
 !10 = !{!"0xb\001\0016\000", !19, !1} ; [ DW_TAG_lexical_block ]
-!11 = !{i32 2, i32 6, !10, null}
-!12 = !{i32 2, i32 11, !10, null}
-!13 = !{i32 3, i32 2, !10, null}
-!14 = !{i32 4, i32 2, !10, null}
-!15 = !{i32 5, i32 2, !10, null}
-!16 = !{i32 8, i32 2, !17, null}
+!11 = !MDLocation(line: 2, column: 6, scope: !10)
+!12 = !MDLocation(line: 2, column: 11, scope: !10)
+!13 = !MDLocation(line: 3, column: 2, scope: !10)
+!14 = !MDLocation(line: 4, column: 2, scope: !10)
+!15 = !MDLocation(line: 5, column: 2, scope: !10)
+!16 = !MDLocation(line: 8, column: 2, scope: !17)
 !17 = !{!"0xb\007\0012\001", !19, !6} ; [ DW_TAG_lexical_block ]
 !19 = !{!"/tmp/a.c", !"/private/tmp"}
 !20 = !{i32 0}
index 22e1831..89754b9 100644 (file)
@@ -28,8 +28,8 @@ entry:
 !15 = !{!"0x24\00char\000\008\008\000\000\006", null, null} ; [ DW_TAG_base_type ]
 !16 = !{!17}
 !17 = !{!"0x21\000\004294967296"} ; [ DW_TAG_subrange_type ]
-!18 = !{i32 5, i32 3, !19, null}
+!18 = !MDLocation(line: 5, column: 3, scope: !19)
 !19 = !{!"0xb\004\001\000", !21, !5} ; [ DW_TAG_lexical_block ]
-!20 = !{i32 6, i32 1, !19, null}
+!20 = !MDLocation(line: 6, column: 1, scope: !19)
 !21 = !{!"small.c", !"/private/tmp"}
 !22 = !{i32 1, !"Debug Info Version", i32 2}
index 2697966..c8ffba8 100644 (file)
@@ -93,14 +93,14 @@ attributes #3 = { nounwind }
 !12 = !{i32 1, !"Debug Info Version", i32 2}
 !13 = !{!"clang version 3.5.0 "}
 !14 = !{i32 3}
-!15 = !{i32 6, i32 0, !4, null}
-!16 = !{i32 7, i32 0, !4, null}
+!15 = !MDLocation(line: 6, scope: !4)
+!16 = !MDLocation(line: 7, scope: !4)
 !17 = !{i32 7}
-!18 = !{i32 8, i32 0, !4, null}
-!19 = !{i32 9, i32 0, !4, null}
+!18 = !MDLocation(line: 8, scope: !4)
+!19 = !MDLocation(line: 9, scope: !4)
 !20 = !{!21, !21, i64 0}
 !21 = !{!"int", !22, i64 0}
 !22 = !{!"omnipotent char", !23, i64 0}
 !23 = !{!"Simple C/C++ TBAA"}
-!24 = !{i32 10, i32 0, !4, null}
-!25 = !{i32 11, i32 0, !4, null}
+!24 = !MDLocation(line: 10, scope: !4)
+!25 = !MDLocation(line: 11, scope: !4)
index 24d6a8e..9392da9 100644 (file)
@@ -32,16 +32,16 @@ entry:
 !5 = !{!"0xf\00\000\0032\0032\000\000", null, !2, !6} ; [ DW_TAG_pointer_type ]
 !6 = !{!"0x24\00unsigned int\000\0032\0032\000\000\007", null, !2} ; [ DW_TAG_base_type ]
 !7 = !{!"0x101\00ip\001\000", !0, !1, !5} ; [ DW_TAG_arg_variable ]
-!8 = !{i32 1, i32 42, !0, null}
+!8 = !MDLocation(line: 1, column: 42, scope: !0)
 !9 = !{!"0x100\00gid\003\000", !10, !1, !6} ; [ DW_TAG_auto_variable ]
 !10 = !{!"0xb\002\001\000", !19, !0} ; [ DW_TAG_lexical_block ]
-!11 = !{i32 3, i32 41, !10, null}
+!11 = !MDLocation(line: 3, column: 41, scope: !10)
 !12 = !{i32 0}
 !13 = !{!"0x100\00idx\004\000", !10, !1, !6} ; [ DW_TAG_auto_variable ]
-!14 = !{i32 4, i32 20, !10, null}
-!15 = !{i32 5, i32 15, !10, null}
-!16 = !{i32 6, i32 18, !10, null}
-!17 = !{i32 7, i32 1, !0, null}
+!14 = !MDLocation(line: 4, column: 20, scope: !10)
+!15 = !MDLocation(line: 5, column: 15, scope: !10)
+!16 = !MDLocation(line: 6, column: 18, scope: !10)
+!17 = !MDLocation(line: 7, column: 1, scope: !0)
 !18 = !{!0}
 !19 = !{!"OCL6368.tmp.cl", !"E:\5CUsers\5Cmvillmow.AMD\5CAppData\5CLocal\5CTemp"}
 !20 = !{i32 1, !"Debug Info Version", i32 2}
index dd44644..31833a8 100644 (file)
@@ -94,21 +94,21 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !17 = !{!"0xd\00nums\003\0032\0032\0064\000", !42, !1, !5} ; [ DW_TAG_member ]
 !18 = !{!"0x101\00nums\0033554439\000", !0, !1, !5, !32} ; [ DW_TAG_arg_variable ]
 !19 = !{!"0x34\00p\00p\00\0014\000\001", !2, !1, !11, %struct.S1* @p, null} ; [ DW_TAG_variable ]
-!20 = !{i32 7, i32 13, !0, null}
-!21 = !{i32 7, i32 21, !0, null}
-!22 = !{i32 9, i32 3, !23, null}
+!20 = !MDLocation(line: 7, column: 13, scope: !0)
+!21 = !MDLocation(line: 7, column: 21, scope: !0)
+!22 = !MDLocation(line: 9, column: 3, scope: !23)
 !23 = !{!"0xb\008\001\000", !1, !0} ; [ DW_TAG_lexical_block ]
-!27 = !{i32 10, i32 3, !23, null}
-!29 = !{i32 11, i32 3, !23, null}
+!27 = !MDLocation(line: 10, column: 3, scope: !23)
+!29 = !MDLocation(line: 11, column: 3, scope: !23)
 !30 = !{%struct.S1* @p}
-!31 = !{i32 7, i32 13, !0, !32}
-!32 = !{i32 16, i32 3, !33, null}
+!31 = !MDLocation(line: 7, column: 13, scope: !0, inlinedAt: !32)
+!32 = !MDLocation(line: 16, column: 3, scope: !33)
 !33 = !{!"0xb\0015\0015\001", !1, !6} ; [ DW_TAG_lexical_block ]
 !34 = !{i32 1}
-!35 = !{i32 7, i32 21, !0, !32}
-!36 = !{i32 9, i32 3, !23, !32}
-!37 = !{i32 10, i32 3, !23, !32}
-!38 = !{i32 17, i32 1, !33, null}
+!35 = !MDLocation(line: 7, column: 21, scope: !0, inlinedAt: !32)
+!36 = !MDLocation(line: 9, column: 3, scope: !23, inlinedAt: !32)
+!37 = !MDLocation(line: 10, column: 3, scope: !23, inlinedAt: !32)
+!38 = !MDLocation(line: 17, column: 1, scope: !33)
 !39 = !{!0, !6}
 !40 = !{!19}
 !41 = !{!9, !18}
index 3572951..a908b32 100644 (file)
@@ -90,16 +90,16 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !6 = !{!"0x16\00uint\000\000\000\000\000", !20, !2, !7} ; [ DW_TAG_typedef ]
 !7 = !{!"0x24\00unsigned int\000\0032\0032\000\000\007", null, !2} ; [ DW_TAG_base_type ]
 !8 = !{!"0x101\00ip\001\000", !0, !1, !5} ; [ DW_TAG_arg_variable ]
-!9 = !{i32 1, i32 32, !0, null}
+!9 = !MDLocation(line: 1, column: 32, scope: !0)
 !10 = !{!"0x100\00tid\003\000", !11, !1, !6} ; [ DW_TAG_auto_variable ]
 !11 = !{!"0xb\002\001\001", !1, !0} ; [ DW_TAG_lexical_block ]
-!12 = !{i32 5, i32 24, !11, null}
+!12 = !MDLocation(line: 5, column: 24, scope: !11)
 !13 = !{!"0x100\00gid\003\000", !11, !1, !6} ; [ DW_TAG_auto_variable ]
-!14 = !{i32 6, i32 25, !11, null}
+!14 = !MDLocation(line: 6, column: 25, scope: !11)
 !15 = !{!"0x100\00lsz\003\000", !11, !1, !6} ; [ DW_TAG_auto_variable ]
-!16 = !{i32 7, i32 26, !11, null}
-!17 = !{i32 9, i32 24, !11, null}
-!18 = !{i32 10, i32 1, !0, null}
+!16 = !MDLocation(line: 7, column: 26, scope: !11)
+!17 = !MDLocation(line: 9, column: 24, scope: !11)
+!18 = !MDLocation(line: 10, column: 1, scope: !0)
 !19 = !{!0}
 !20 = !{!"OCLlLwTXZ.cl", !"/tmp"}
 !21 = !{i32 0}
index 9365310..015ec89 100644 (file)
@@ -63,14 +63,14 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !10 = !{!11}
 !11 = !{!"0x24\00unsigned char\000\008\008\000\000\008", null, !2} ; [ DW_TAG_base_type ]
 !12 = !{!"0x101\00var\0019509\000", !0, !1, !5} ; [ DW_TAG_arg_variable ]
-!13 = !{i32 19509, i32 20, !0, null}
-!14 = !{i32 18091, i32 2, !15, !17}
+!13 = !MDLocation(line: 19509, column: 20, scope: !0)
+!14 = !MDLocation(line: 18091, column: 2, scope: !15, inlinedAt: !17)
 !15 = !{!"0xb\0018086\001\00748", !26, !16} ; [ DW_TAG_lexical_block ]
 !16 = !{!"0x2e\00foo_bar\00foo_bar\00\0018086\001\001\000\006\00256\001\000", !26, !1, !3, null, null, null, null, null} ; [ DW_TAG_subprogram ] [line 18086] [local] [def] [scope 0] [foo_bar]
-!17 = !{i32 19514, i32 2, !18, null}
+!17 = !MDLocation(line: 19514, column: 2, scope: !18)
 !18 = !{!"0xb\0019510\001\0099", !26, !0} ; [ DW_TAG_lexical_block ]
-!22 = !{i32 18094, i32 2, !15, !17}
-!23 = !{i32 19524, i32 1, !18, null}
+!22 = !MDLocation(line: 18094, column: 2, scope: !15, inlinedAt: !17)
+!23 = !MDLocation(line: 19524, column: 1, scope: !18)
 !24 = !{!0, !6, !7, !8, !16}
 !25 = !{!"0x29", !27} ; [ DW_TAG_file_type ]
 !26 = !{!"/tmp/f.c", !"/tmp"}
index 608b157..727f906 100644 (file)
@@ -33,10 +33,10 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !10 = !{!"0xd\00c\002\0032\0032\000\000", !22, !1, !5} ; [ DW_TAG_member ]
 !11 = !{!"0x100\00x\006\000", !12, !1, !5} ; [ DW_TAG_auto_variable ]
 !12 = !{!"0xb\005\0022\000", !22, !0} ; [ DW_TAG_lexical_block ]
-!13 = !{i32 5, i32 19, !0, null}
-!14 = !{i32 6, i32 14, !12, null}
-!18 = !{i32 7, i32 2, !12, null}
-!19 = !{i32 8, i32 2, !12, null}
+!13 = !MDLocation(line: 5, column: 19, scope: !0)
+!14 = !MDLocation(line: 6, column: 14, scope: !12)
+!18 = !MDLocation(line: 7, column: 2, scope: !12)
+!19 = !MDLocation(line: 8, column: 2, scope: !12)
 !20 = !{!0}
 !21 = !{!6, !11}
 !22 = !{!"bar.c", !"/private/tmp"}
index 94e9a24..0653bde 100644 (file)
@@ -125,7 +125,7 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !9 = !{!"0x24\00char\000\008\008\000\000\006", null, !0} ; [ DW_TAG_base_type ]
 !10 = !{!"0x100\00a\003\000", !11, !2, !9} ; [ DW_TAG_auto_variable ]
 !11 = !{!"0xb\002\0025\000", !20, !1} ; [ DW_TAG_lexical_block ]
-!12 = !{i32 2, i32 13, !1, null}
+!12 = !MDLocation(line: 2, column: 13, scope: !1)
 !18 = !{!1}
 !19 = !{!6, !7, !10}
 !20 = !{!"a.c", !"/private/tmp"}
index 55aabdf..69c9e99 100644 (file)
@@ -172,7 +172,7 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
 !22 = !{i32 2, !"Dwarf Version", i32 3}
 !23 = !{!"0x101\00\0016777222\000", !4, !5, !21} ; [ DW_TAG_arg_variable ] [line 6]
 !24 = !{!"0x100\00a\007\008192", !4, !5, !8} ; [ DW_TAG_auto_variable ] [a] [line 7]
-!25 = !{i32 7, i32 0, !4, null}
-!26 = !{i32 8, i32 0, !4, null}
+!25 = !MDLocation(line: 7, scope: !4)
+!26 = !MDLocation(line: 8, scope: !4)
 !27 = !{i32 1, !"Debug Info Version", i32 2}
 !28 = !{!"0x102\006"} ; [ DW_TAG_expression ] [DW_OP_deref]
index 4867a7f..6733dd8 100644 (file)
@@ -48,4 +48,4 @@ attributes #0 = { nounwind readnone uwtable "less-precise-fpmad"="false" "no-fra
 !18 = !{i32 2, !"Dwarf Version", i32 4}
 !19 = !{i32 2, !"Debug Info Version", i32 2}
 !20 = !{!"clang version 3.5.0 (trunk 209255) (llvm/trunk 209253)"}
-!21 = !{i32 13, i32 0, !4, null}
+!21 = !MDLocation(line: 13, scope: !4)
index dc2f1f0..7727384 100644 (file)
@@ -147,4 +147,4 @@ attributes #0 = { nounwind ssp uwtable }
 !38 = !{i32 2, !"Dwarf Version", i32 2}
 !39 = !{i32 2, !"Debug Info Version", i32 2}
 !40 = !{!"clang version 3.6.0 "}
-!41 = !{i32 35, i32 14, !30, null}
+!41 = !MDLocation(line: 35, column: 14, scope: !30)
index 2c5d07c..b7d6dd4 100644 (file)
@@ -100,12 +100,12 @@ define internal void @"__24-[Main initWithContext:]_block_invoke_2"(i8* %.block_
 !40 = !{null, !41, !27}
 !41 = !{!"0xf\00\000\0064\0064\000\000", null, null, null} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from ]
 !42 = !{!"0x2e\00__24-[Main initWithContext:]_block_invoke_2\00__24-[Main initWithContext:]_block_invoke_2\00\0035\001\001\000\006\00256\000\0035", !1, !1, !39, null, void (i8*, i8*)* @"__24-[Main initWithContext:]_block_invoke_2", null, null, !15} ; [ DW_TAG_subprogram ] [line 35] [local] [def] [__24-[Main initWithContext:]_block_invoke_2]
-!84 = !{i32 33, i32 0, !38, null}
+!84 = !MDLocation(line: 33, scope: !38)
 !86 = !{!"0x100\00self\0041\000", !38, !1, !34} ; [ DW_TAG_auto_variable ] [self] [line 41]
-!87 = !{i32 41, i32 0, !38, null}
-!103 = !{i32 35, i32 0, !42, null}
+!87 = !MDLocation(line: 41, scope: !38)
+!103 = !MDLocation(line: 35, scope: !42)
 !105 = !{!"0x100\00self\0040\000", !42, !1, !34} ; [ DW_TAG_auto_variable ] [self] [line 40]
-!106 = !{i32 40, i32 0, !42, null}
+!106 = !MDLocation(line: 40, scope: !42)
 !107 = !{!"llvm/tools/clang/test/CodeGenObjC/debug-info-block-captured-self.m", !""}
 !108 = !{i32 1, !"Debug Info Version", i32 2}
 !109 = !{!"0x102\0034\0032"} ; [ DW_TAG_expression ] [DW_OP_plus 32]
index 6fa8cf9..7cba57f 100644 (file)
@@ -332,20 +332,20 @@ attributes #3 = { nounwind }
 !59 = !{i32 4, !"Objective-C Garbage Collection", i32 0}
 !60 = !{!"0x101\00self\0016777262\001088", !13, !32, !61} ; [ DW_TAG_arg_variable ] [self] [line 46]
 !61 = !{!"0xf\00\000\0064\0064\000\000", null, null, !4} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from A]
-!62 = !{i32 46, i32 0, !13, null}
+!62 = !MDLocation(line: 46, scope: !13)
 !63 = !{!"0x101\00_cmd\0033554478\0064", !13, !32, !64} ; [ DW_TAG_arg_variable ] [_cmd] [line 46]
 !64 = !{!"0x16\00SEL\0046\000\000\000\000", !5, null, !25} ; [ DW_TAG_typedef ] [SEL] [line 46, size 0, align 0, offset 0] [from ]
-!65 = !{i32 48, i32 0, !66, null}
+!65 = !MDLocation(line: 48, scope: !66)
 !66 = !{!"0xb\0047\000\000", !5, !13} ; [ DW_TAG_lexical_block ] [llvm/tools/clang/test/CodeGenObjC/debug-info-blocks.m]
 !67 = !{}
-!68 = !{i32 49, i32 0, !69, null}
+!68 = !MDLocation(line: 49, scope: !69)
 !69 = !{!"0xb\0048\000\001", !5, !66} ; [ DW_TAG_lexical_block ] [llvm/tools/clang/test/CodeGenObjC/debug-info-blocks.m]
-!70 = !{i32 53, i32 0, !69, null}
-!71 = !{i32 54, i32 0, !66, null}
+!70 = !MDLocation(line: 53, scope: !69)
+!71 = !MDLocation(line: 54, scope: !66)
 !72 = !{!"0x101\00block\0016777255\000", !39, !6, !42} ; [ DW_TAG_arg_variable ] [block] [line 39]
-!73 = !{i32 39, i32 0, !39, null}
-!74 = !{i32 41, i32 0, !39, null}
-!75 = !{i32 42, i32 0, !39, null}
+!73 = !MDLocation(line: 39, scope: !39)
+!74 = !MDLocation(line: 41, scope: !39)
+!75 = !MDLocation(line: 42, scope: !39)
 !76 = !{!"0x101\00.block_descriptor\0016777265\0064", !27, !6, !77} ; [ DW_TAG_arg_variable ] [.block_descriptor] [line 49]
 !77 = !{!"0xf\00\000\0064\000\000\000", null, null, !78} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 0, offset 0] [from __block_literal_1]
 !78 = !{!"0x13\00__block_literal_1\0049\00320\0064\000\000\000", !5, !6, null, !79, null, null, null} ; [ DW_TAG_structure_type ] [__block_literal_1] [line 49, size 320, align 64, offset 0] [def] [from ]
@@ -358,9 +358,9 @@ attributes #3 = { nounwind }
 !85 = !{!"0xf\00\000\0064\0064\000\000", null, null, !86} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from __block_descriptor_withcopydispose]
 !86 = !{!"0x13\00__block_descriptor_withcopydispose\0049\000\000\000\004\000", !1, null, null, null, null, null, null} ; [ DW_TAG_structure_type ] [__block_descriptor_withcopydispose] [line 49, size 0, align 0, offset 0] [decl] [from ]
 !87 = !{!"0xd\00self\0049\0064\0064\00256\000", !5, !6, !61} ; [ DW_TAG_member ] [self] [line 49, size 64, align 64, offset 256] [from ]
-!88 = !{i32 49, i32 0, !27, null}
+!88 = !MDLocation(line: 49, scope: !27)
 !89 = !{!"0x100\00self\0052\000", !27, !32, !23} ; [ DW_TAG_auto_variable ] [self] [line 52]
-!90 = !{i32 52, i32 0, !27, null}
+!90 = !MDLocation(line: 52, scope: !27)
 !91 = !{!"0x100\00d\0050\000", !92, !6, !93} ; [ DW_TAG_auto_variable ] [d] [line 50]
 !92 = !{!"0xb\0049\000\002", !5, !27} ; [ DW_TAG_lexical_block ] [llvm/tools/clang/test/CodeGenObjC/debug-info-blocks.m]
 !93 = !{!"0xf\00\000\0064\0064\000\000", null, null, !94} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from NSMutableDictionary]
@@ -370,15 +370,15 @@ attributes #3 = { nounwind }
 !97 = !{!"0x13\00NSDictionary\0026\000\008\000\000\0016", !5, !6, null, !98, null, null, null} ; [ DW_TAG_structure_type ] [NSDictionary] [line 26, size 0, align 8, offset 0] [def] [from ]
 !98 = !{!99}
 !99 = !{!"0x1c\00\000\000\000\000\000", null, !97, !9} ; [ DW_TAG_inheritance ] [line 0, size 0, align 0, offset 0] [from NSObject]
-!100 = !{i32 50, i32 0, !92, null}
-!101 = !{i32 51, i32 0, !92, null}
+!100 = !MDLocation(line: 50, scope: !92)
+!101 = !MDLocation(line: 51, scope: !92)
 !102 = !{!"0x101\00\0016777268\001088", !31, !32, !30} ; [ DW_TAG_arg_variable ] [line 52]
-!103 = !{i32 52, i32 0, !31, null}
+!103 = !MDLocation(line: 52, scope: !31)
 !104 = !{!"0x101\00\0033554484\0064", !31, !32, !30} ; [ DW_TAG_arg_variable ] [line 52]
 !105 = !{!"0x101\00\0016777268\001088", !35, !32, !30} ; [ DW_TAG_arg_variable ] [line 52]
-!106 = !{i32 52, i32 0, !35, null}
+!106 = !MDLocation(line: 52, scope: !35)
 !107 = !{!"0x100\00a\0061\000", !36, !6, !61} ; [ DW_TAG_auto_variable ] [a] [line 61]
-!108 = !{i32 61, i32 0, !36, null}
-!109 = !{i32 62, i32 0, !36, null}
+!108 = !MDLocation(line: 61, scope: !36)
+!109 = !MDLocation(line: 62, scope: !36)
 !110 = !{i32 1, !"Debug Info Version", i32 2}
 !111 = !{!"0x102\006\0034\0032"} ; [ DW_TAG_expression ] [DW_OP_deref DW_OP_plus 32]
index 129027d..8a14b6a 100644 (file)
@@ -86,9 +86,9 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !27 = !{!"0x34\00b\00b\00_ZN1C1bE\0015\000\001", null, !6, !9, i32* @_ZN1C1bE, !19} ; [ DW_TAG_variable ] [b] [line 15] [def]
 !28 = !{!"0x34\00c\00c\00_ZN1C1cE\0016\000\001", null, !6, !9, i32* @_ZN1C1cE, !23} ; [ DW_TAG_variable ] [c] [line 16] [def]
 !29 = !{!"0x100\00instance_C\0020\000", !5, !6, !13} ; [ DW_TAG_auto_variable ] [instance_C] [line 20]
-!30 = !{i32 20, i32 0, !5, null}
-!31 = !{i32 21, i32 0, !5, null}
-!32 = !{i32 22, i32 0, !5, null}
+!30 = !MDLocation(line: 20, scope: !5)
+!31 = !MDLocation(line: 21, scope: !5)
+!32 = !MDLocation(line: 22, scope: !5)
 !33 = !{!"/usr/local/google/home/blaikie/Development/llvm/src/tools/clang/test/CodeGenCXX/debug-info-static-member.cpp", !"/home/blaikie/local/Development/llvm/build/clang/x86-64/Debug/llvm"}
 ; PRESENT verifies that static member declarations have these attributes:
 ; external, declaration, accessibility, and either DW_AT_MIPS_linkage_name
index 0e7ebca..13e193b 100644 (file)
@@ -178,5 +178,5 @@ attributes #1 = { nounwind readnone }
 !10 = !{i32 2, !"Debug Info Version", i32 2}
 !11 = !{!"clang version 3.5.0 (209308)"}
 !12 = !{!"0x101\00y\0016777217\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [y] [line 1]
-!13 = !{i32 2, i32 0, !4, null}
+!13 = !MDLocation(line: 2, scope: !4)
 !14 = !{!"0x102\006"} ; [ DW_TAG_expression ] [DW_OP_deref]
index 5d38732..9022891 100644 (file)
@@ -138,16 +138,16 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
 !19 = !{i32 2, !"Debug Info Version", i32 2}
 !20 = !{!"clang version 3.5.0 (210479)"}
 !21 = !{!"0x101\00b\0016777217\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [b] [line 1]
-!22 = !{i32 1, i32 0, !4, null}
-!23 = !{i32 2, i32 0, !4, null}
+!22 = !MDLocation(line: 1, scope: !4)
+!23 = !MDLocation(line: 2, scope: !4)
 !24 = !{!"0x101\00a\0016777222\008192", !14, !15, !"_ZTS1A"} ; [ DW_TAG_arg_variable ] [a] [line 6]
-!25 = !{i32 6, i32 0, !14, null}
+!25 = !MDLocation(line: 6, scope: !14)
 !26 = !{!"0x100\00z\007\000", !14, !15, !8} ; [ DW_TAG_auto_variable ] [z] [line 7]
-!27 = !{i32 7, i32 0, !14, null}
-!28 = !{i32 8, i32 0, !29, null}
+!27 = !MDLocation(line: 7, scope: !14)
+!28 = !MDLocation(line: 8, scope: !29)
 !29 = !{!"0xb\008\000\000", !10, !14} ; [ DW_TAG_lexical_block ] [/llvm_cmake_gcc/debug-loc-offset2.cc]
-!30 = !{i32 9, i32 0, !29, null}
-!31 = !{i32 10, i32 0, !32, null}
+!30 = !MDLocation(line: 9, scope: !29)
+!31 = !MDLocation(line: 10, scope: !32)
 !32 = !{!"0xb\0010\000\000", !10, !14} ; [ DW_TAG_lexical_block ] [/llvm_cmake_gcc/debug-loc-offset2.cc]
-!33 = !{i32 11, i32 0, !32, null}
-!34 = !{i32 12, i32 0, !14, null}
+!33 = !MDLocation(line: 11, scope: !32)
+!34 = !MDLocation(line: 12, scope: !14)
index 9adf7f0..fd8fe0e 100644 (file)
@@ -221,8 +221,8 @@ attributes #4 = { builtin }
 !16 = !{i32 2, !"Dwarf Version", i32 4}
 !17 = !{i32 1, !"Debug Info Version", i32 2}
 !18 = !{!"clang version 3.5.0 (trunk 207243) (llvm/trunk 207259)"}
-!19 = !{i32 4, i32 0, !4, null}
-!20 = !{i32 5, i32 0, !21, null}
+!19 = !MDLocation(line: 4, scope: !4)
+!20 = !MDLocation(line: 5, scope: !21)
 !21 = !{!"0xb\005\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/foo.cpp]
 !22 = !{!"branch_weights", i32 1000, i32 1}
 !23 = !{!24, !24, i64 0}
@@ -230,12 +230,12 @@ attributes #4 = { builtin }
 !25 = !{!"omnipotent char", !26, i64 0}
 !26 = !{!"Simple C/C++ TBAA"}
 !27 = !{!"branch_weights", i32 1, i32 1000}
-!28 = !{i32 6, i32 0, !21, null}
-!29 = !{i32 7, i32 0, !4, null}
-!30 = !{i32 4, i32 0, !4, !31}
-!31 = !{i32 10, i32 0, !13, null}
+!28 = !MDLocation(line: 6, scope: !21)
+!29 = !MDLocation(line: 7, scope: !4)
+!30 = !MDLocation(line: 4, scope: !4, inlinedAt: !31)
+!31 = !MDLocation(line: 10, scope: !13)
 !32 = !{!"0x100\00p\004\000", !4, !5, !10, !31} ; [ DW_TAG_auto_variable ] [p] [line 4]
-!33 = !{i32 5, i32 0, !21, !31}
-!34 = !{i32 6, i32 0, !21, !31}
-!35 = !{i32 7, i32 0, !4, !31}
-!36 = !{i32 11, i32 0, !13, null}
+!33 = !MDLocation(line: 5, scope: !21, inlinedAt: !31)
+!34 = !MDLocation(line: 6, scope: !21, inlinedAt: !31)
+!35 = !MDLocation(line: 7, scope: !4, inlinedAt: !31)
+!36 = !MDLocation(line: 11, scope: !13)
index 495c938..8c15c53 100644 (file)
@@ -127,18 +127,18 @@ attributes #4 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
 !32 = !{i32 2, !"Dwarf Version", i32 4}
 !33 = !{i32 1, !"Debug Info Version", i32 2}
 !34 = !{!"clang version 3.5.0 (trunk 203673) (llvm/trunk 203681)"}
-!35 = !{i32 9, i32 0, !9, null}
+!35 = !MDLocation(line: 9, scope: !9)
 !36 = !{!"0x101\00this\0016777216\001088", !19, null, !37} ; [ DW_TAG_arg_variable ] [this] [line 0]
 !37 = !{!"0xf\00\000\0064\0064\000\000", null, null, !"_ZTS3foo"} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS3foo]
-!38 = !{i32 0, i32 0, !19, null}
-!39 = !{i32 5, i32 0, !19, null}
+!38 = !MDLocation(line: 0, scope: !19)
+!39 = !MDLocation(line: 5, scope: !19)
 !40 = !{!"0x101\00this\0016777216\001088", !13, null, !37} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!41 = !{i32 0, i32 0, !13, null}
-!42 = !{i32 5, i32 0, !43, null}
+!41 = !MDLocation(line: 0, scope: !13)
+!42 = !MDLocation(line: 5, scope: !43)
 !43 = !{!"0xb\005\000\000", !1, !13} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/foo.cc]
-!44 = !{i32 5, i32 0, !13, null}
+!44 = !MDLocation(line: 5, scope: !13)
 !45 = !{!"0x101\00this\0016777216\001088", !22, null, !46} ; [ DW_TAG_arg_variable ] [this] [line 0]
 !46 = !{!"0xf\00\000\0064\0064\000\000", null, null, !"_ZTS4base"} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS4base]
-!47 = !{i32 0, i32 0, !22, null}
-!48 = !{i32 1, i32 0, !22, null}
-!49 = !{i32 1, i32 0, !28, null}
+!47 = !MDLocation(line: 0, scope: !22)
+!48 = !MDLocation(line: 1, scope: !22)
+!49 = !MDLocation(line: 1, scope: !28)
index 0f4a84d..185f7cd 100644 (file)
@@ -51,11 +51,11 @@ attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointe
 !7 = !{i32 2, !"Dwarf Version", i32 4}
 !8 = !{i32 1, !"Debug Info Version", i32 2}
 !9 = !{!"clang version 3.5 "}
-!10 = !{i32 2, i32 0, !11, null}
+!10 = !MDLocation(line: 2, scope: !11)
 !11 = !{!"0xb\002\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [./discriminator.c]
-!12 = !{i32 3, i32 0, !4, null}
-!13 = !{i32 4, i32 0, !4, null}
-!14 = !{i32 2, i32 0, !15, null}
+!12 = !MDLocation(line: 3, scope: !4)
+!13 = !MDLocation(line: 4, scope: !4)
+!14 = !MDLocation(line: 2, scope: !15)
 !15 = !{!"0xb\0042", !1, !4} ; [ DW_TAG_lexical_block ] [./discriminator.c]
 
 ; CHECK: Address            Line   Column File   ISA Discriminator Flags
index 02b03ad..1bda8ec 100644 (file)
@@ -80,9 +80,9 @@ attributes #2 = { nounwind readnone }
 !17 = !{!18}
 !18 = !{!"0x34\00global\00global\00\001\000\001", null, !5, !8, i32* @global, null} ; [ DW_TAG_variable ] [global] [line 1] [def]
 !19 = !{i32 2, !"Dwarf Version", i32 4}
-!20 = !{i32 2, i32 0, !4, null}
-!21 = !{i32 3, i32 0, !11, null}
-!22 = !{i32 6, i32 0, !14, null}
+!20 = !MDLocation(line: 2, scope: !4)
+!21 = !MDLocation(line: 3, scope: !11)
+!22 = !MDLocation(line: 6, scope: !14)
 !23 = !{!"int", !24}
 !24 = !{!"omnipotent char", !25}
 !25 = !{!"Simple C/C++ TBAA"}
index 28fb9e5..6873e58 100644 (file)
@@ -76,6 +76,6 @@ entry:
 !11 = !{!"0x34\00some_other\00some_other\00\003\000\001", null, !5, !10, i32* @some_other, null} ; [ DW_TAG_variable ] [some_other] [line 3] [def]
 !12 = !{!"0x34\00some_bss\00some_bss\00\002\000\001", null, !5, !10, i32* @some_bss, null} ; [ DW_TAG_variable ] [some_bss] [line 2] [def]
 !13 = !{i32 2, !"Dwarf Version", i32 4}
-!14 = !{i32 7, i32 0, !4, null}
-!15 = !{i32 8, i32 0, !4, null}
+!14 = !MDLocation(line: 7, scope: !4)
+!15 = !MDLocation(line: 8, scope: !4)
 !16 = !{i32 1, !"Debug Info Version", i32 2}
index b353442..778738c 100644 (file)
@@ -124,12 +124,12 @@ attributes #1 = { nounwind readnone }
 !27 = !{!"0x34\00global_namespace_variable\00global_namespace_variable\00_ZN2ns25global_namespace_variableE\0027\000\001", !21, !4, !11, i32* @_ZN2ns25global_namespace_variableE, null} ; [ DW_TAG_variable ] [global_namespace_variable] [line 27] [def]
 !28 = !{!"0x101\00this\0016777225\001088", !3, !4, !29} ; [ DW_TAG_arg_variable ] [this] [line 9]
 !29 = !{!"0xf\00\000\0064\0064\000\000", null, null, !8} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from C]
-!30 = !{i32 9, i32 0, !3, null}
-!31 = !{i32 10, i32 0, !3, null}
-!32 = !{i32 11, i32 0, !3, null}
-!33 = !{i32 14, i32 0, !18, null}
-!34 = !{i32 20, i32 0, !19, null}
-!35 = !{i32 25, i32 0, !20, null}
-!36 = !{i32 26, i32 0, !20, null}
+!30 = !MDLocation(line: 9, scope: !3)
+!31 = !MDLocation(line: 10, scope: !3)
+!32 = !MDLocation(line: 11, scope: !3)
+!33 = !MDLocation(line: 14, scope: !18)
+!34 = !MDLocation(line: 20, scope: !19)
+!35 = !MDLocation(line: 25, scope: !20)
+!36 = !MDLocation(line: 26, scope: !20)
 !37 = !{!"dwarf-public-names.cpp", !"/usr2/kparzysz/s.hex/t"}
 !38 = !{i32 1, !"Debug Info Version", i32 2}
index 62d4116..fc99474 100644 (file)
@@ -34,5 +34,5 @@ attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointe
 !7 = !{!8}
 !8 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
 !9 = !{i32 2, !"Dwarf Version", i32 3}
-!10 = !{i32 2, i32 0, !4, null}
+!10 = !MDLocation(line: 2, scope: !4)
 !11 = !{i32 1, !"Debug Info Version", i32 2}
index 9477f9e..910a674 100644 (file)
@@ -94,19 +94,19 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !32 = !{!34, !35}
 !34 = !{!"0x101\00this\0016777235\001088", !31, !6, !30} ; [ DW_TAG_arg_variable ] [this] [line 19]
 !35 = !{!"0x101\00d\0033554451\000", !31, !6, !23} ; [ DW_TAG_arg_variable ] [d] [line 19]
-!36 = !{i32 12, i32 0, !5, null}
-!37 = !{i32 13, i32 0, !38, null}
+!36 = !MDLocation(line: 12, scope: !5)
+!37 = !MDLocation(line: 13, scope: !38)
 !38 = !{!"0xb\0012\000\000", !6, !5} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/foo.cpp]
-!42 = !{i32 14, i32 0, !38, null}
-!43 = !{i32 15, i32 0, !38, null}
-!44 = !{i32 16, i32 0, !38, null}
-!45 = !{i32 17, i32 0, !38, null}
-!46 = !{i32 19, i32 0, !31, null}
-!47 = !{i32 20, i32 0, !48, null}
+!42 = !MDLocation(line: 14, scope: !38)
+!43 = !MDLocation(line: 15, scope: !38)
+!44 = !MDLocation(line: 16, scope: !38)
+!45 = !MDLocation(line: 17, scope: !38)
+!46 = !MDLocation(line: 19, scope: !31)
+!47 = !MDLocation(line: 20, scope: !48)
 !48 = !{!"0xb\0019\000\001", !6, !31} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/foo.cpp]
-!49 = !{i32 21, i32 0, !48, null}
-!50 = !{i32 22, i32 0, !48, null}
-!51 = !{i32 23, i32 0, !48, null}
-!52 = !{i32 24, i32 0, !48, null}
+!49 = !MDLocation(line: 21, scope: !48)
+!50 = !MDLocation(line: 22, scope: !48)
+!51 = !MDLocation(line: 23, scope: !48)
+!52 = !MDLocation(line: 24, scope: !48)
 !53 = !{!"foo.cpp", !"/usr/local/google/home/echristo"}
 !54 = !{i32 1, !"Debug Info Version", i32 2}
index 82ee107..94e75e4 100644 (file)
@@ -80,7 +80,7 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !16 = !{!"0x1\00\000\0032\0032\000\000", null, null, !9, !17, i32 0, null, null, null} ; [ DW_TAG_array_type ] [line 0, size 32, align 32, offset 0] [from int]
 !17 = !{!18}
 !18 = !{!"0x21\000\001"} ; [ DW_TAG_subrange_type ] [0, 1]
-!19 = !{i32 12, i32 0, !11, null}
+!19 = !MDLocation(line: 12, scope: !11)
 !20 = !{!"0x100\00my_bar\0013\000", !11, !6, !21} ; [ DW_TAG_auto_variable ] [my_bar] [line 13]
 !21 = !{!"0x13\00bar\006\0032\0032\000\000\000", !32, null, null, !22, null, i32 0, null} ; [ DW_TAG_structure_type ] [bar] [line 6, size 32, align 32, offset 0] [def] [from ]
 !22 = !{!23, !24}
@@ -89,9 +89,9 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !25 = !{!"0x1\00\000\000\0032\000\000", null, null, !9, !26, i32 0, null, null, null} ; [ DW_TAG_array_type ] [line 0, size 0, align 32, offset 0] [from int]
 !26 = !{!27}
 !27 = !{!"0x21\000\000"} ; [ DW_TAG_subrange_type ] [0, 0]
-!28 = !{i32 13, i32 0, !11, null}
-!29 = !{i32 15, i32 0, !11, null}
-!30 = !{i32 16, i32 0, !11, null}
-!31 = !{i32 17, i32 0, !11, null}
+!28 = !MDLocation(line: 13, scope: !11)
+!29 = !MDLocation(line: 15, scope: !11)
+!30 = !MDLocation(line: 16, scope: !11)
+!31 = !MDLocation(line: 17, scope: !11)
 !32 = !{!"test.c", !"/Volumes/Sandbox/llvm"}
 !33 = !{i32 1, !"Debug Info Version", i32 2}
index 2630a28..0b5c77f 100644 (file)
@@ -38,11 +38,11 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !8 = !{!9, !9}
 !9 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ]
 !12 = !{!"0x101\00x\0016777221\000", !5, !6, !9} ; [ DW_TAG_arg_variable ]
-!13 = !{i32 5, i32 5, !5, null}
+!13 = !MDLocation(line: 5, column: 5, scope: !5)
 !14 = !{!"0x100\00y\008\000", !15, !6, !9} ; [ DW_TAG_auto_variable ]
 !15 = !{!"0xb\007\001\000", !19, !5} ; [ DW_TAG_lexical_block ]
-!16 = !{i32 8, i32 9, !15, null}
-!17 = !{i32 8, i32 18, !15, null}
-!18 = !{i32 9, i32 5, !15, null}
+!16 = !MDLocation(line: 8, column: 9, scope: !15)
+!17 = !MDLocation(line: 8, column: 18, scope: !15)
+!18 = !MDLocation(line: 9, column: 5, scope: !15)
 !19 = !{!"ending-run.c", !"/Users/echristo/tmp"}
 !20 = !{i32 1, !"Debug Info Version", i32 2}
index 2bfca56..6499966 100644 (file)
@@ -112,8 +112,8 @@ attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
 !22 = !{i32 2, !"Dwarf Version", i32 4}
 !23 = !{i32 2, !"Debug Info Version", i32 2}
 !24 = !{!"clang version 3.6.0 "}
-!25 = !{i32 17, i32 5, !20, null}
-!26 = !{i32 11, i32 3, !11, !27}
-!27 = !{i32 18, i32 5, !20, null}
-!28 = !{i32 12, i32 3, !11, !27}
-!29 = !{i32 21, i32 1, !10, null}
+!25 = !MDLocation(line: 17, column: 5, scope: !20)
+!26 = !MDLocation(line: 11, column: 3, scope: !11, inlinedAt: !27)
+!27 = !MDLocation(line: 18, column: 5, scope: !20)
+!28 = !MDLocation(line: 12, column: 3, scope: !11, inlinedAt: !27)
+!29 = !MDLocation(line: 21, column: 1, scope: !10)
index 5239ccf..400998e 100644 (file)
@@ -180,21 +180,21 @@ attributes #1 = { nounwind readnone }
 !24 = !{!"0xb\007\000\000", !1, !8} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/small.c]
 !25 = !{!"0xf\00\000\0064\0064\000\000", null, null, !11} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from int]
 !26 = !{i32 2, !"Dwarf Version", i32 4}
-!27 = !{i32 20, i32 0, !4, null}
-!28 = !{i32 21, i32 0, !4, null}
+!27 = !MDLocation(line: 20, scope: !4)
+!28 = !MDLocation(line: 21, scope: !4)
 !29 = !{i32 1}
-!30 = !{i32 2, i32 0, !8, null}
-!31 = !{i32 7, i32 0, !24, null}
-!32 = !{i32 13, i32 0, !20, null}
+!30 = !MDLocation(line: 2, scope: !8)
+!31 = !MDLocation(line: 7, scope: !24)
+!32 = !MDLocation(line: 13, scope: !20)
 !33 = !{!34, !34, i64 0}
 !34 = !{!"int", !35, i64 0}
 !35 = !{!"omnipotent char", !36, i64 0}
 !36 = !{!"Simple C/C++ TBAA"}
-!37 = !{i32 8, i32 0, !23, null}
-!38 = !{i32 9, i32 0, !22, null}
-!39 = !{i32 10, i32 0, !21, null}
-!40 = !{i32 12, i32 0, !20, null}
+!37 = !MDLocation(line: 8, scope: !23)
+!38 = !MDLocation(line: 9, scope: !22)
+!39 = !MDLocation(line: 10, scope: !21)
+!40 = !MDLocation(line: 12, scope: !20)
 !41 = !{i32* @c}
-!42 = !{i32 15, i32 0, !8, null}
+!42 = !MDLocation(line: 15, scope: !8)
 !43 = !{i32 1, !"Debug Info Version", i32 2}
 !44 = !{i32 0}
index 9376214..9077c74 100644 (file)
@@ -73,12 +73,12 @@ attributes #3 = { nounwind }
 !11 = !{i32 2, !"Dwarf Version", i32 2}
 !12 = !{i32 1, !"Debug Info Version", i32 2}
 !13 = !{!"clang version 3.5.0 "}
-!14 = !{i32 1, i32 0, !4, null}
+!14 = !MDLocation(line: 1, scope: !4)
 !15 = !{!16, !16, i64 0}
 !16 = !{!"int", !17, i64 0}
 !17 = !{!"omnipotent char", !18, i64 0}
 !18 = !{!"Simple C/C++ TBAA"}
-!19 = !{i32 3, i32 0, !4, null}
-!20 = !{i32 4, i32 0, !21, null}
+!19 = !MDLocation(line: 3, scope: !4)
+!20 = !MDLocation(line: 4, scope: !21)
 !21 = !{!"0xb\004\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [formal_parameter.c]
-!22 = !{i32 5, i32 0, !4, null}
+!22 = !MDLocation(line: 5, scope: !4)
index 7eb20f9..6d4fa86 100644 (file)
@@ -267,11 +267,11 @@ attributes #1 = { nounwind readnone }
 !45 = !{!"clang version 3.5 "}
 !46 = !{!"0x100\00b\007\000", !22, !23, !47} ; [ DW_TAG_auto_variable ] [b] [line 7]
 !47 = !{!"0x13\00baz\006\008\008\000\000\000", !1, !22, null, !2, null, null, null} ; [ DW_TAG_structure_type ] [baz] [line 6, size 8, align 8, offset 0] [def] [from ]
-!48 = !{i32 7, i32 0, !22, null}
-!49 = !{i32 8, i32 0, !22, null}
-!50 = !{i32 29, i32 0, !26, null}
+!48 = !MDLocation(line: 7, scope: !22)
+!49 = !MDLocation(line: 8, scope: !22)
+!50 = !MDLocation(line: 29, scope: !26)
 !51 = !{!"0x101\00this\0016777216\001088", !27, null, !52} ; [ DW_TAG_arg_variable ] [this] [line 0]
 !52 = !{!"0xf\00\000\0064\0064\000\000", null, null, !28} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from walrus]
-!53 = !{i32 0, i32 0, !27, null}
-!54 = !{i32 25, i32 0, !27, null}
-!55 = !{i32 25, i32 0, !36, null}
+!53 = !MDLocation(line: 0, scope: !27)
+!54 = !MDLocation(line: 25, scope: !27)
+!55 = !MDLocation(line: 25, scope: !36)
index e996fe0..9391da6 100644 (file)
@@ -86,20 +86,20 @@ attributes #1 = { nounwind readnone }
 !15 = !{!"clang version 3.6.0 "}
 !16 = !{!"0x101\00a\0016777219\000", !8, !9, !12} ; [ DW_TAG_arg_variable ] [a] [line 3]
 !17 = !{!"0x102"}               ; [ DW_TAG_expression ]
-!18 = !{i32 3, i32 13, !8, null}
-!19 = !{i32 4, i32 5, !8, null}
+!18 = !MDLocation(line: 3, column: 13, scope: !8)
+!19 = !MDLocation(line: 4, column: 5, scope: !8)
 !20 = !{!"0x100\00b\004\000", !8, !9, !12} ; [ DW_TAG_auto_variable ] [b] [line 4]
-!21 = !{i32 4, i32 9, !8, null}
-!22 = !{i32 5, i32 5, !8, null}
+!21 = !MDLocation(line: 4, column: 9, scope: !8)
+!22 = !MDLocation(line: 5, column: 5, scope: !8)
 !23 = !{!"0x100\00c\005\000", !8, !9, !12} ; [ DW_TAG_auto_variable ] [c] [line 5]
-!24 = !{i32 5, i32 9, !8, null}
-!25 = !{i32 6, i32 5, !8, null}
+!24 = !MDLocation(line: 5, column: 9, scope: !8)
+!25 = !MDLocation(line: 6, column: 5, scope: !8)
 !26 = !{!"0x100\00d\006\000", !8, !9, !12} ; [ DW_TAG_auto_variable ] [d] [line 6]
-!27 = !{i32 6, i32 9, !8, null}
-!28 = !{i32 7, i32 5, !8, null}
+!27 = !MDLocation(line: 6, column: 9, scope: !8)
+!28 = !MDLocation(line: 7, column: 5, scope: !8)
 !29 = !{!"0x100\00e\007\000", !8, !9, !12} ; [ DW_TAG_auto_variable ] [e] [line 7]
-!30 = !{i32 7, i32 9, !8, null}
-!31 = !{i32 8, i32 5, !8, null}
+!30 = !MDLocation(line: 7, column: 9, scope: !8)
+!31 = !MDLocation(line: 8, column: 5, scope: !8)
 !32 = !{!"0x100\00f\008\000", !8, !9, !12} ; [ DW_TAG_auto_variable ] [f] [line 8]
-!33 = !{i32 8, i32 9, !8, null}
-!34 = !{i32 9, i32 5, !8, null}
+!33 = !MDLocation(line: 8, column: 9, scope: !8)
+!34 = !MDLocation(line: 9, column: 5, scope: !8)
index d8e1262..7e92b53 100644 (file)
@@ -322,12 +322,12 @@ attributes #1 = { nounwind readnone }
 !49 = !{!"clang version 3.5.0 "}
 !50 = !{!"0x101\00this\0016777216\001088", !20, null, !51} ; [ DW_TAG_arg_variable ] [this] [line 0]
 !51 = !{!"0xf\00\000\0064\0064\000\000", null, null, !"_ZTS1C"} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS1C]
-!52 = !{i32 0, i32 0, !20, null}
-!53 = !{i32 10, i32 0, !20, null}
-!54 = !{i32 11, i32 0, !20, null}
-!55 = !{i32 14, i32 0, !21, null}
-!56 = !{i32 20, i32 0, !22, null}
-!57 = !{i32 25, i32 0, !24, null}
-!58 = !{i32 26, i32 0, !24, null}
-!59 = !{i32 39, i32 0, !27, null}
-!60 = !{i32 55, i32 0, !31, null}
+!52 = !MDLocation(line: 0, scope: !20)
+!53 = !MDLocation(line: 10, scope: !20)
+!54 = !MDLocation(line: 11, scope: !20)
+!55 = !MDLocation(line: 14, scope: !21)
+!56 = !MDLocation(line: 20, scope: !22)
+!57 = !MDLocation(line: 25, scope: !24)
+!58 = !MDLocation(line: 26, scope: !24)
+!59 = !MDLocation(line: 39, scope: !27)
+!60 = !MDLocation(line: 55, scope: !31)
index b91e8a5..68a211f 100644 (file)
@@ -88,9 +88,9 @@ attributes #1 = { nounwind readnone }
 !20 = !{i32 2, !"Dwarf Version", i32 4}
 !21 = !{i32 1, !"Debug Info Version", i32 2}
 !22 = !{!"clang version 3.5.0 "}
-!23 = !{i32 8, i32 0, !13, null}
+!23 = !MDLocation(line: 8, scope: !13)
 !24 = !{!"0x101\00this\0016777216\001088", !17, null, !25} ; [ DW_TAG_arg_variable ] [this] [line 0]
 !25 = !{!"0xf\00\000\0064\0064\000\000", null, null, !"_ZTS3foo"} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS3foo]
-!26 = !{i32 0, i32 0, !17, !23}
+!26 = !MDLocation(line: 0, scope: !17, inlinedAt: !23)
 !27 = !{!"0x101\00x\0033554434\000", !17, !14, !9} ; [ DW_TAG_arg_variable ] [x] [line 2]
-!28 = !{i32 2, i32 0, !17, !23}
+!28 = !MDLocation(line: 2, scope: !17, inlinedAt: !23)
index 68237d8..8c10e3a 100644 (file)
@@ -65,9 +65,9 @@ attributes #1 = { nounwind readnone }
 !14 = !{!"clang version 3.5.0 "}
 !15 = !{!"0x100\00x\005\000", !4, !5, !16} ; [ DW_TAG_auto_variable ] [x] [line 5]
 !16 = !{!"0x35\00\000\000\000\000\000", null, null, !11} ; [ DW_TAG_volatile_type ] [line 0, size 0, align 0, offset 0] [from int]
-!17 = !{i32 5, i32 0, !4, null}
-!18 = !{i32 6, i32 7, !4, null}
+!17 = !MDLocation(line: 5, scope: !4)
+!18 = !MDLocation(line: 6, column: 7, scope: !4)
 !19 = !{!"0x101\00y\0016777217\000", !8, !5, !11} ; [ DW_TAG_arg_variable ] [y] [line 1]
-!20 = !{i32 1, i32 0, !8, !18}
-!21 = !{i32 2, i32 0, !8, !18}
-!22 = !{i32 7, i32 0, !4, null}
+!20 = !MDLocation(line: 1, scope: !8, inlinedAt: !18)
+!21 = !MDLocation(line: 2, scope: !8, inlinedAt: !18)
+!22 = !MDLocation(line: 7, scope: !4)
index a0f7887..12b99a3 100644 (file)
@@ -72,8 +72,8 @@ attributes #1 = { nounwind readnone }
 !15 = !{!16}
 !16 = !{!"0xd\00i\002\0064\0064\000\000", !1, !14, !17} ; [ DW_TAG_member ] [i] [line 2, size 64, align 64, offset 0] [from long int]
 !17 = !{!"0x24\00long int\000\0064\0064\000\000\005", null, null} ; [ DW_TAG_base_type ] [long int] [line 0, size 64, align 64, offset 0, enc DW_ATE_signed]
-!18 = !{i32 8, i32 0, !4, null}
-!19 = !{i32 9, i32 0, !4, null}
-!20 = !{i32 10, i32 0, !4, null}
-!21 = !{i32 11, i32 0, !4, null}
-!22 = !{i32 12, i32 0, !4, null}
+!18 = !MDLocation(line: 8, scope: !4)
+!19 = !MDLocation(line: 9, scope: !4)
+!20 = !MDLocation(line: 10, scope: !4)
+!21 = !MDLocation(line: 11, scope: !4)
+!22 = !MDLocation(line: 12, scope: !4)
index e4fe009..a9e377a 100644 (file)
@@ -62,6 +62,6 @@ attributes #1 = { nounwind readnone }
 !11 = !{!"0x100\00i\002\000", !12, !5, !13} ; [ DW_TAG_auto_variable ] [i] [line 2]
 !12 = !{!"0xb\002\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [/tmp/dbginfo/lexical_block.cpp]
 !13 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
-!14 = !{i32 2, i32 0, !12, null}
-!15 = !{i32 3, i32 0, !12, null}
-!16 = !{i32 4, i32 0, !4, null}
+!14 = !MDLocation(line: 2, scope: !12)
+!15 = !MDLocation(line: 3, scope: !12)
+!16 = !MDLocation(line: 4, scope: !4)
index 00a8060..e436426 100644 (file)
@@ -53,8 +53,8 @@ attributes #1 = { nounwind readnone }
 !12 = !{!"0x15\00\000\000\000\000\000\000", i32 0, null, null, !13, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !13 = !{!9}
 !14 = !{!"0x101\00x\0016777217\000", !4, !6, !9} ; [ DW_TAG_arg_variable ] [x] [line 1]
-!15 = !{i32 1, i32 0, !4, null}
-!16 = !{i32 2, i32 0, !4, null}
-!17 = !{i32 3, i32 0, !18, null}
+!15 = !MDLocation(line: 1, scope: !4)
+!16 = !MDLocation(line: 2, scope: !4)
+!17 = !MDLocation(line: 3, scope: !18)
 !18 = !{!"0xb\000", !11, !10} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/blaikie/dev/scratch/list0.c]
 !19 = !{i32 1, !"Debug Info Version", i32 2}
index 27bf476..187ff8b 100644 (file)
@@ -43,10 +43,10 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !20 = !{!"0x34\00a\00a\00\009\000\001", null, !6, !11, %class.A* @a, null} ; [ DW_TAG_variable ]
 !21 = !{!"0x101\00this\0016777221\0064", !5, !6, !22} ; [ DW_TAG_arg_variable ]
 !22 = !{!"0xf\00\000\0064\0064\000\000", null, null, !11} ; [ DW_TAG_pointer_type ]
-!23 = !{i32 5, i32 8, !5, null}
+!23 = !MDLocation(line: 5, column: 8, scope: !5)
 !24 = !{!"0x101\00b\0033554437\000", !5, !6, !9} ; [ DW_TAG_arg_variable ]
-!25 = !{i32 5, i32 14, !5, null}
-!26 = !{i32 6, i32 4, !27, null}
+!25 = !MDLocation(line: 5, column: 14, scope: !5)
+!26 = !MDLocation(line: 6, column: 4, scope: !27)
 !27 = !{!"0xb\005\0017\000", !6, !5} ; [ DW_TAG_lexical_block ]
 !28 = !{!"foo.cpp", !"/Users/echristo"}
 !29 = !{i32 1, !"Debug Info Version", i32 2}
index 9b09704..cac572e 100644 (file)
@@ -43,4 +43,4 @@ attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointe
 !8 = !{i32 2, !"Dwarf Version", i32 4}
 !9 = !{i32 1, !"Debug Info Version", i32 2}
 !10 = !{!"clang version 3.5.0 (trunk 204164) (llvm/trunk 204183)"}
-!11 = !{i32 1, i32 0, !4, null}
+!11 = !MDLocation(line: 1, scope: !4)
index 30ffe0c..709b6b2 100644 (file)
@@ -167,20 +167,20 @@ attributes #1 = { nounwind readnone }
 !61 = !{!62}
 !62 = !{!"0x21\000\0031"}       ; [ DW_TAG_subrange_type ] [0, 30]
 !63 = !{!"0x34\00PtrGlbNext\00PtrGlbNext\00\00178\000\001", null, !3, !47, %struct.Record** @PtrGlbNext, null} ; [ DW_TAG_variable ] [PtrGlbNext] [line 178] [def]
-!64 = !{i32 181, i32 0, !12, null}
-!65 = !{i32 182, i32 0, !12, null}
-!66 = !{i32 183, i32 0, !12, null}
-!67 = !{i32 184, i32 0, !12, null}
-!68 = !{i32 189, i32 0, !12, null}
-!69 = !{i32 190, i32 0, !12, null}
-!73 = !{i32 191, i32 0, !12, null}
-!74 = !{i32 192, i32 0, !12, null}
-!75 = !{i32 193, i32 0, !76, null}
+!64 = !MDLocation(line: 181, scope: !12)
+!65 = !MDLocation(line: 182, scope: !12)
+!66 = !MDLocation(line: 183, scope: !12)
+!67 = !MDLocation(line: 184, scope: !12)
+!68 = !MDLocation(line: 189, scope: !12)
+!69 = !MDLocation(line: 190, scope: !12)
+!73 = !MDLocation(line: 191, scope: !12)
+!74 = !MDLocation(line: 192, scope: !12)
+!75 = !MDLocation(line: 193, scope: !76)
 !76 = !{!"0xb\00193\000\000", !82, !12} ; [ DW_TAG_lexical_block ] [/Users/manmanren/test-Nov/rdar_13183203/test2/dry.c]
-!77 = !{i32 194, i32 0, !76, null}
-!78 = !{i32 195, i32 0, !12, null}
-!79 = !{i32 196, i32 0, !12, null}
-!80 = !{i32 197, i32 0, !12, null}
-!81 = !{i32 198, i32 0, !12, null}
+!77 = !MDLocation(line: 194, scope: !76)
+!78 = !MDLocation(line: 195, scope: !12)
+!79 = !MDLocation(line: 196, scope: !12)
+!80 = !MDLocation(line: 197, scope: !12)
+!81 = !MDLocation(line: 198, scope: !12)
 !82 = !{!"dry.c", !"/Users/manmanren/test-Nov/rdar_13183203/test2"}
 !83 = !{i32 1, !"Debug Info Version", i32 2}
index df2ef6c..cc9a874 100644 (file)
@@ -123,12 +123,12 @@ attributes #3 = { nounwind }
 !23 = !{i32 2, !"Dwarf Version", i32 4}
 !24 = !{i32 2, !"Debug Info Version", i32 2}
 !25 = !{!"clang version 3.5.0 "}
-!26 = !{i32 15, i32 0, !11, null}
+!26 = !MDLocation(line: 15, scope: !11)
 !27 = !{!"0x101\00lhs\0016777229\000", !17, !12, !20, !28} ; [ DW_TAG_arg_variable ] [lhs] [line 13]
-!28 = !{i32 16, i32 0, !11, null}
-!29 = !{i32 13, i32 0, !17, !28}
-!30 = !{i32 17, i32 0, !11, null}
-!31 = !{i32 18, i32 0, !11, null}
+!28 = !MDLocation(line: 16, scope: !11)
+!29 = !MDLocation(line: 13, scope: !17, inlinedAt: !28)
+!30 = !MDLocation(line: 17, scope: !11)
+!31 = !MDLocation(line: 18, scope: !11)
 !32 = !{!33, !34, i64 0}
 !33 = !{!"_ZTS6string", !34, i64 0}
 !34 = !{!"any pointer", !35, i64 0}
index dd74349..0ae9e1a 100644 (file)
@@ -98,7 +98,7 @@ attributes #1 = { nounwind readnone }
 !23 = !{!""}
 !24 = !{!"0x101\00self\0016777216\001088", !10, null, !25} ; [ DW_TAG_arg_variable ] [self] [line 0]
 !25 = !{!"0xf\00\000\0064\0064\000\000", null, null, !4} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from Foo]
-!26 = !{i32 0, i32 0, !10, null}
+!26 = !MDLocation(line: 0, scope: !10)
 !27 = !{!"0x101\00_cmd\0033554432\0064", !10, null, !28} ; [ DW_TAG_arg_variable ] [_cmd] [line 0]
 !28 = !{!"0x16\00SEL\005\000\000\000\000", !5, null, !15} ; [ DW_TAG_typedef ] [SEL] [line 5, size 0, align 0, offset 0] [from ]
-!29 = !{i32 5, i32 0, !10, null}
+!29 = !MDLocation(line: 5, scope: !10)
index 1352a06..2aff5c2 100644 (file)
@@ -89,23 +89,23 @@ declare void @llvm.stackrestore(i8*) nounwind
 !8 = !{null, !9}
 !9 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ]
 !10 = !{!"0x101\00s\0016777217\000", !5, !6, !9} ; [ DW_TAG_arg_variable ]
-!11 = !{i32 1, i32 26, !5, null}
-!12 = !{i32 3, i32 13, !13, null}
+!11 = !MDLocation(line: 1, column: 26, scope: !5)
+!12 = !MDLocation(line: 3, column: 13, scope: !13)
 !13 = !{!"0xb\002\001\000", !28, !5} ; [ DW_TAG_lexical_block ]
 !14 = !{!"0x100\00vla\003\008192", !13, !6, !15} ; [ DW_TAG_auto_variable ]
 !15 = !{!"0x1\00\000\000\0032\000\000", null, null, !9, !16, i32 0, null, null, null} ; [ DW_TAG_array_type ] [line 0, size 0, align 32, offset 0] [from int]
 !16 = !{!17}
 !17 = !{!"0x21\000\00-1"}        ; [ DW_TAG_subrange_type ]
-!18 = !{i32 3, i32 7, !13, null}
+!18 = !MDLocation(line: 3, column: 7, scope: !13)
 !19 = !{!"0x100\00i\004\000", !13, !6, !9} ; [ DW_TAG_auto_variable ]
-!20 = !{i32 4, i32 7, !13, null}
-!21 = !{i32 5, i32 8, !22, null}
+!20 = !MDLocation(line: 4, column: 7, scope: !13)
+!21 = !MDLocation(line: 5, column: 8, scope: !22)
 !22 = !{!"0xb\005\003\001", !28, !13} ; [ DW_TAG_lexical_block ]
-!23 = !{i32 6, i32 5, !24, null}
+!23 = !MDLocation(line: 6, column: 5, scope: !24)
 !24 = !{!"0xb\005\0027\002", !28, !22} ; [ DW_TAG_lexical_block ]
-!25 = !{i32 7, i32 3, !24, null}
-!26 = !{i32 5, i32 22, !22, null}
-!27 = !{i32 8, i32 1, !13, null}
+!25 = !MDLocation(line: 7, column: 3, scope: !24)
+!26 = !MDLocation(line: 5, column: 22, scope: !22)
+!27 = !MDLocation(line: 8, column: 1, scope: !13)
 !28 = !{!"bar.c", !"/Users/echristo/tmp"}
 !29 = !{i32 1, !"Debug Info Version", i32 2}
 !30 = !{!"0x102\006"} ; [ DW_TAG_expression ] [DW_OP_deref]
index 10c6686..1655f09 100644 (file)
@@ -106,13 +106,13 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
 !21 = !{i32 2, !"Dwarf Version", i32 3}
 !22 = !{!"0x101\00f\0016777222\008192", !4, !23, !8} ; [ DW_TAG_arg_variable ] [f] [line 6]
 !23 = !{!"0x29", !1}         ; [ DW_TAG_file_type ] [/tmp/pass.cpp]
-!24 = !{i32 6, i32 0, !4, null}
-!25 = !{i32 7, i32 0, !4, null}
+!24 = !MDLocation(line: 6, scope: !4)
+!25 = !MDLocation(line: 7, scope: !4)
 !26 = !{!"0x101\00b\0016777228\000", !17, !23, !20} ; [ DW_TAG_arg_variable ] [b] [line 12]
-!27 = !{i32 12, i32 0, !17, null}
+!27 = !MDLocation(line: 12, scope: !17)
 !28 = !{!"0x101\00g\0033554444\008192", !17, !23, !8} ; [ DW_TAG_arg_variable ] [g] [line 12]
-!29 = !{i32 13, i32 0, !30, null}
+!29 = !MDLocation(line: 13, scope: !30)
 !30 = !{!"0xb\0013\000\000", !1, !17} ; [ DW_TAG_lexical_block ] [/tmp/pass.cpp]
-!31 = !{i32 14, i32 0, !30, null}
-!32 = !{i32 15, i32 0, !17, null}
+!31 = !MDLocation(line: 14, scope: !30)
+!32 = !MDLocation(line: 15, scope: !17)
 !33 = !{i32 1, !"Debug Info Version", i32 2}
index 73b7e8b..4c11a8b 100644 (file)
@@ -71,9 +71,9 @@ attributes #1 = { nounwind readnone }
 !18 = !{i32 1, !"Debug Info Version", i32 2}
 !19 = !{!"clang version 3.5 "}
 !20 = !{!"0x101\00s\0016777219\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [s] [line 3]
-!21 = !{i32 3, i32 0, !4, null}
+!21 = !MDLocation(line: 3, scope: !4)
 !22 = !{!"0x101\00s\0016777219\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [s] [line 3]
-!23 = !{i32 4, i32 0, !4, null}
+!23 = !MDLocation(line: 4, scope: !4)
 !24 = !{!"0x102\00147\000\008"} ; [ DW_TAG_expression ] [DW_OP_piece 0 8] [piece, size 8, offset 0]
 !25 = !{}
 !27 = !{!"0x102\00147\008\004"} ; [ DW_TAG_expression ] [DW_OP_piece 8 4] [piece, size 4, offset 8]
index 11bf149..1848409 100644 (file)
@@ -83,9 +83,9 @@ attributes #2 = { nounwind }
 !23 = !{i32 1, !"Debug Info Version", i32 2}
 !24 = !{!"clang version 3.5.0 "}
 !25 = !{!"0x101\00outer\0016777226\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [outer] [line 10]
-!26 = !{i32 10, i32 0, !4, null}
-!27 = !{i32 11, i32 0, !4, null}
+!26 = !MDLocation(line: 10, scope: !4)
+!27 = !MDLocation(line: 11, scope: !4)
 !28 = !{!"0x100\00i1\0011\000", !4, !5, !14} ; [ DW_TAG_auto_variable ] [i1] [line 11]
 !29 = !{!"0x102\00147\000\004"} ; [ DW_TAG_expression ] [DW_OP_piece 0 4] [piece, size 4, offset 0]
 !31 = !{i32 3, i32 0, i32 12}
-!32 = !{i32 12, i32 0, !4, null}
+!32 = !MDLocation(line: 12, scope: !4)
index 02e686e..3e4965f 100644 (file)
@@ -93,14 +93,14 @@ attributes #2 = { nounwind }
 !23 = !{!"clang version 3.5.0 "}
 !24 = !{!"0x101\00outer\0016777226\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [outer] [line 10]
 !25 = !{!"0x102\00147\000\008"} ; [ DW_TAG_expression ] [DW_OP_piece 0 8] [piece, size 8, offset 0]
-!26 = !{i32 10, i32 0, !4, null}
+!26 = !MDLocation(line: 10, scope: !4)
 !27 = !{!"0x101\00outer\0016777226\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [outer] [line 10]
 !28 = !{!"0x102\00147\008\008"} ; [ DW_TAG_expression ] [DW_OP_piece 8 8] [piece, size 8, offset 8]
 !29 = !{!"0x101\00outer\0016777226\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [outer] [line 10]
 !30 = !{!"0x102\00147\0012\004"} ; [ DW_TAG_expression ] [DW_OP_piece 12 4] [piece, size 4, offset 12]
 !31 = !{!"0x101\00outer\0016777226\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [outer] [line 10]
 !32 = !{!"0x102\00147\008\004"} ; [ DW_TAG_expression ] [DW_OP_piece 8 4] [piece, size 4, offset 8]
-!33 = !{i32 11, i32 0, !4, null}
+!33 = !MDLocation(line: 11, scope: !4)
 !34 = !{!"0x100\00i1\0011\000", !4, !5, !14} ; [ DW_TAG_auto_variable ] [i1] [line 11]
 !35 = !{!"0x102\00147\000\004"} ; [ DW_TAG_expression ] [DW_OP_piece 0 4] [piece, size 4, offset 0]
-!36 = !{i32 12, i32 0, !4, null}
+!36 = !MDLocation(line: 12, scope: !4)
index 365595c..53e85ac 100644 (file)
@@ -58,13 +58,13 @@ entry:
 !19 = !{!"0x24"}                      ; [ DW_TAG_base_type ]
 !20 = !{!"0x2e\00bar\00bar\00_ZN3foo3barEv\002\000\001\000\006\00256\000\002", !6, null, !13, null, void (%struct.foo*)* @_ZN3foo3barEv, null, !12, null} ; [ DW_TAG_subprogram ] [line 2] [def] [bar]
 !23 = !{!"0x101\00x\0016777220\000", !5, !6, !9} ; [ DW_TAG_arg_variable ]
-!24 = !{i32 4, i32 15, !5, null}
-!25 = !{i32 4, i32 20, !26, null}
+!24 = !MDLocation(line: 4, column: 15, scope: !5)
+!25 = !MDLocation(line: 4, column: 20, scope: !26)
 !26 = !{!"0xb\004\0018\000", !6, !5} ; [ DW_TAG_lexical_block ]
-!27 = !{i32 4, i32 30, !26, null}
+!27 = !MDLocation(line: 4, column: 30, scope: !26)
 !28 = !{!"0x101\00this\0016777218\0064", !20, !6, !15} ; [ DW_TAG_arg_variable ]
-!29 = !{i32 2, i32 8, !20, null}
-!30 = !{i32 2, i32 15, !31, null}
+!29 = !MDLocation(line: 2, column: 8, scope: !20)
+!30 = !MDLocation(line: 2, column: 15, scope: !31)
 !31 = !{!"0xb\002\0014\001", !6, !20} ; [ DW_TAG_lexical_block ]
 !32 = !{!"/home/espindola/llvm/test.cc", !"/home/espindola/tmpfs/build"}
 !33 = !{i32 1, !"Debug Info Version", i32 2}
index c7f3184..5adaeaf 100644 (file)
@@ -210,29 +210,29 @@ entry:
 !132 = !{!"0x24\00bool\000\008\008\000\000\002", null, null} ; [ DW_TAG_base_type ]
 !133 = !{!"0x101\00this\0016777235\0064", !5, !6, !134} ; [ DW_TAG_arg_variable ]
 !134 = !{!"0xf\00\000\0064\0064\000\000", null, null, !10} ; [ DW_TAG_pointer_type ]
-!135 = !{i32 19, i32 39, !5, null}
-!136 = !{i32 20, i32 17, !137, null}
+!135 = !MDLocation(line: 19, column: 39, scope: !5)
+!136 = !MDLocation(line: 20, column: 17, scope: !137)
 !137 = !{!"0xb\0019\0051\000", !6, !5} ; [ DW_TAG_lexical_block ]
-!138 = !{i32 23, i32 17, !137, null}
-!139 = !{i32 26, i32 15, !137, null}
+!138 = !MDLocation(line: 23, column: 17, scope: !137)
+!139 = !MDLocation(line: 26, column: 15, scope: !137)
 !140 = !{!"0x101\00this\0016777224\0064", !106, !6, !141} ; [ DW_TAG_arg_variable ]
 !141 = !{!"0xf\00\000\0064\0064\000\000", null, null, !20} ; [ DW_TAG_pointer_type ]
-!142 = !{i32 8, i32 45, !106, null}
+!142 = !MDLocation(line: 8, column: 45, scope: !106)
 !143 = !{!"0x101\00__f\0033554440\000", !106, !6, !61} ; [ DW_TAG_arg_variable ]
-!144 = !{i32 8, i32 63, !106, null}
-!145 = !{i32 9, i32 9, !146, null}
+!144 = !MDLocation(line: 8, column: 63, scope: !106)
+!145 = !MDLocation(line: 9, column: 9, scope: !146)
 !146 = !{!"0xb\008\0081\001", !6, !106} ; [ DW_TAG_lexical_block ]
-!147 = !{i32 10, i32 13, !146, null}
-!148 = !{i32 4, i32 5, !149, null}
+!147 = !MDLocation(line: 10, column: 13, scope: !146)
+!148 = !MDLocation(line: 4, column: 5, scope: !149)
 !149 = !{!"0xb\003\00105\002", !6, !107} ; [ DW_TAG_lexical_block ]
 !150 = !{!"0x101\00this\0016777224\0064", !126, !6, !141} ; [ DW_TAG_arg_variable ]
-!151 = !{i32 8, i32 45, !126, null}
+!151 = !MDLocation(line: 8, column: 45, scope: !126)
 !152 = !{!"0x101\00__f\0033554440\000", !126, !6, !26} ; [ DW_TAG_arg_variable ]
-!153 = !{i32 8, i32 63, !126, null}
-!154 = !{i32 9, i32 9, !155, null}
+!153 = !MDLocation(line: 8, column: 63, scope: !126)
+!154 = !MDLocation(line: 9, column: 9, scope: !155)
 !155 = !{!"0xb\008\0081\003", !6, !126} ; [ DW_TAG_lexical_block ]
-!156 = !{i32 10, i32 13, !155, null}
-!157 = !{i32 4, i32 5, !158, null}
+!156 = !MDLocation(line: 10, column: 13, scope: !155)
+!157 = !MDLocation(line: 4, column: 5, scope: !158)
 !158 = !{!"0xb\003\00105\004", !6, !127} ; [ DW_TAG_lexical_block ]
 !159 = !{!"0x29", !161} ; [ DW_TAG_file_type ]
 !160 = !{!"BPLFunctionWriter2.ii", !"/home/peter/crashdelta"}
index a56171a..2ca697a 100644 (file)
@@ -23,7 +23,7 @@ entry:
 !7 = !{!"0x15\00\000\000\000\000\000\000", i32 0, null, null, !8, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !8 = !{!9}
 !9 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
-!10 = !{i32 1, i32 14, !11, null}
+!10 = !MDLocation(line: 1, column: 14, scope: !11)
 !11 = !{!"0xb\001\0012\000", !12, !5} ; [ DW_TAG_lexical_block ] [/home/probinson/PR13303.c]
 !12 = !{!"PR13303.c", !"/home/probinson"}
 !13 = !{i32 1, !"Debug Info Version", i32 2}
index 83cb780..c05dc47 100644 (file)
@@ -130,16 +130,16 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
 !43 = !{i32 2, !"Debug Info Version", i32 2}
 !44 = !{!"clang version 3.5.0 (209308)"}
 !45 = !{!"0x101\00offset\0016777219\000", !13, !14, !17} ; [ DW_TAG_arg_variable ] [offset] [line 3]
-!46 = !{i32 3, i32 0, !13, null}
+!46 = !MDLocation(line: 3, scope: !13)
 !47 = !{!"0x101\00limit\0033554435\000", !13, !14, !17} ; [ DW_TAG_arg_variable ] [limit] [line 3]
 !48 = !{!"0x101\00range\0050331652\008192", !13, !14, !19} ; [ DW_TAG_arg_variable ] [range] [line 4]
-!49 = !{i32 4, i32 0, !13, null}
-!50 = !{i32 5, i32 0, !51, null}
+!49 = !MDLocation(line: 4, scope: !13)
+!50 = !MDLocation(line: 5, scope: !51)
 !51 = !{!"0xb\005\000\000", !1, !13} ; [ DW_TAG_lexical_block ] [/llvm_cmake_gcc/pr19307.cc]
-!52 = !{i32 5, i32 0, !53, null}
+!52 = !MDLocation(line: 5, scope: !53)
 !53 = !{!"0xb\005\000\001", !1, !51} ; [ DW_TAG_lexical_block ] [/llvm_cmake_gcc/pr19307.cc]
-!54 = !{i32 6, i32 0, !51, null}
-!55 = !{i32 7, i32 0, !13, null}
-!56 = !{i32 8, i32 0, !13, null}
-!57 = !{i32 9, i32 0, !13, null}
+!54 = !MDLocation(line: 6, scope: !51)
+!55 = !MDLocation(line: 7, scope: !13)
+!56 = !MDLocation(line: 8, scope: !13)
+!57 = !MDLocation(line: 9, scope: !13)
 
index ac96982..1cc872a 100644 (file)
@@ -29,8 +29,8 @@ declare i32 @callme(i32)
 !7 = !{!"0x15\00\000\000\000\000\000\000", i32 0, null, null, !8, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !8 = !{!9}
 !9 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
-!10 = !{i32 5, i32 3, !11, null}
+!10 = !MDLocation(line: 5, column: 3, scope: !11)
 !11 = !{!"0xb\004\001\000", !13, !5} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/bar.c]
-!12 = !{i32 6, i32 3, !11, null}
+!12 = !MDLocation(line: 6, column: 3, scope: !11)
 !13 = !{!"bar.c", !"/usr/local/google/home/echristo/tmp"}
 !14 = !{i32 1, !"Debug Info Version", i32 2}
index 234b114..6cd935c 100644 (file)
@@ -230,46 +230,46 @@ attributes #3 = { nounwind }
 !28 = !{i32 2, !"Dwarf Version", i32 4}
 !29 = !{i32 2, !"Debug Info Version", i32 2}
 !30 = !{!"clang version 3.6.0 "}
-!31 = !{i32 16, i32 0, !14, null}
-!32 = !{i32 17, i32 0, !14, null}
+!31 = !MDLocation(line: 16, scope: !14)
+!32 = !MDLocation(line: 17, scope: !14)
 !33 = !{!34, !34, i64 0}
 !34 = !{!"any pointer", !35, i64 0}
 !35 = !{!"omnipotent char", !36, i64 0}
 !36 = !{!"Simple C/C++ TBAA"}
 !37 = !{!"0x101\00this\0016777216\001088", !22, null, !25, !32} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!38 = !{i32 0, i32 0, !22, !32}
-!39 = !{i32 8, i32 0, !22, !32}
-!40 = !{i32 9, i32 0, !41, !32}
+!38 = !MDLocation(line: 0, scope: !22, inlinedAt: !32)
+!39 = !MDLocation(line: 8, scope: !22, inlinedAt: !32)
+!40 = !MDLocation(line: 9, scope: !41, inlinedAt: !32)
 !41 = !{!"0xb\009\000\000", !5, !22} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/blaikie/dev/scratch/missing_concrete_variable_on_darwin/reduce/recursive_inlining.cpp]
 !42 = !{!43, !44, i64 0}
 !43 = !{!"_ZTS1C", !44, i64 0}
 !44 = !{!"int", !35, i64 0}
-!45 = !{i32 9, i32 0, !46, !32}
+!45 = !MDLocation(line: 9, scope: !46, inlinedAt: !32)
 !46 = !{!"0xb\009\000\001", !5, !41} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/blaikie/dev/scratch/missing_concrete_variable_on_darwin/reduce/recursive_inlining.cpp]
-!47 = !{i32 10, i32 0, !22, !32}
-!48 = !{i32 19, i32 0, !14, null}
-!49 = !{i32 0, i32 0, !22, null}
-!50 = !{i32 8, i32 0, !22, null}
-!51 = !{i32 9, i32 0, !41, null}
-!52 = !{i32 9, i32 0, !46, null}
-!53 = !{i32 16, i32 0, !14, !54}
-!54 = !{i32 20, i32 0, !18, !55}
-!55 = !{i32 10, i32 0, !22, null}
-!56 = !{i32 17, i32 0, !14, !54}
+!47 = !MDLocation(line: 10, scope: !22, inlinedAt: !32)
+!48 = !MDLocation(line: 19, scope: !14)
+!49 = !MDLocation(line: 0, scope: !22)
+!50 = !MDLocation(line: 8, scope: !22)
+!51 = !MDLocation(line: 9, scope: !41)
+!52 = !MDLocation(line: 9, scope: !46)
+!53 = !MDLocation(line: 16, scope: !14, inlinedAt: !54)
+!54 = !MDLocation(line: 20, scope: !18, inlinedAt: !55)
+!55 = !MDLocation(line: 10, scope: !22)
+!56 = !MDLocation(line: 17, scope: !14, inlinedAt: !54)
 !57 = !{!"0x101\00this\0016777216\001088", !22, null, !25, !56} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!58 = !{i32 0, i32 0, !22, !56}
-!59 = !{i32 8, i32 0, !22, !56}
-!60 = !{i32 9, i32 0, !41, !56}
-!61 = !{i32 9, i32 0, !46, !56}
-!62 = !{i32 10, i32 0, !22, !56}
-!63 = !{i32 11, i32 0, !22, null}
-!64 = !{i32 16, i32 0, !14, !65}
-!65 = !{i32 20, i32 0, !18, null}
-!66 = !{i32 17, i32 0, !14, !65}
+!58 = !MDLocation(line: 0, scope: !22, inlinedAt: !56)
+!59 = !MDLocation(line: 8, scope: !22, inlinedAt: !56)
+!60 = !MDLocation(line: 9, scope: !41, inlinedAt: !56)
+!61 = !MDLocation(line: 9, scope: !46, inlinedAt: !56)
+!62 = !MDLocation(line: 10, scope: !22, inlinedAt: !56)
+!63 = !MDLocation(line: 11, scope: !22)
+!64 = !MDLocation(line: 16, scope: !14, inlinedAt: !65)
+!65 = !MDLocation(line: 20, scope: !18)
+!66 = !MDLocation(line: 17, scope: !14, inlinedAt: !65)
 !67 = !{!"0x101\00this\0016777216\001088", !22, null, !25, !66} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!68 = !{i32 0, i32 0, !22, !66}
-!69 = !{i32 8, i32 0, !22, !66}
-!70 = !{i32 9, i32 0, !41, !66}
-!71 = !{i32 9, i32 0, !46, !66}
-!72 = !{i32 21, i32 0, !19, null}
-!73 = !{i32 22, i32 0, !20, null}
+!68 = !MDLocation(line: 0, scope: !22, inlinedAt: !66)
+!69 = !MDLocation(line: 8, scope: !22, inlinedAt: !66)
+!70 = !MDLocation(line: 9, scope: !41, inlinedAt: !66)
+!71 = !MDLocation(line: 9, scope: !46, inlinedAt: !66)
+!72 = !MDLocation(line: 21, scope: !19)
+!73 = !MDLocation(line: 22, scope: !20)
index ead01d4..68ff200 100644 (file)
@@ -81,23 +81,23 @@ declare void @_ZN4SValD2Ev(%class.SVal* %this)
 !46 = !{i32 786468}
 !47 = !{i32 2, !"Dwarf Version", i32 3}
 !48 = !{!"0x101\00v\0016777235\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [v] [line 19]
-!49 = !{i32 19, i32 0, !4, null}
+!49 = !MDLocation(line: 19, scope: !4)
 !50 = !{!"0x100\00v\0026\000", !29, !5, !9} ; [ DW_TAG_auto_variable ] [v] [line 26]
-!51 = !{i32 26, i32 0, !29, null}
-!52 = !{i32 27, i32 0, !29, null}
-!53 = !{i32 28, i32 0, !29, null}
+!51 = !MDLocation(line: 26, scope: !29)
+!52 = !MDLocation(line: 27, scope: !29)
+!53 = !MDLocation(line: 28, scope: !29)
 !54 = !{!"0x100\00a\0029\000", !29, !5, !39} ; [ DW_TAG_auto_variable ] [a] [line 29]
-!55 = !{i32 29, i32 0, !29, null}
-!56 = !{i32 30, i32 0, !29, null}
-!57 = !{i32 31, i32 0, !29, null}
-!58 = !{i32 32, i32 0, !29, null}
+!55 = !MDLocation(line: 29, scope: !29)
+!56 = !MDLocation(line: 30, scope: !29)
+!57 = !MDLocation(line: 31, scope: !29)
+!58 = !MDLocation(line: 32, scope: !29)
 !59 = !{!"0x101\00this\0016777238\001088", !35, !5, !60} ; [ DW_TAG_arg_variable ] [this] [line 22]
 !60 = !{!"0xf\00\000\0064\0064\000\000", null, null, !39} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from A]
-!61 = !{i32 22, i32 0, !35, null}
+!61 = !MDLocation(line: 22, scope: !35)
 !62 = !{!"0x101\00v\0033554454\008192", !35, !5, !9} ; [ DW_TAG_arg_variable ] [v] [line 22]
 !63 = !{!"0x101\00this\0016777230\001088", !33, !5, !64} ; [ DW_TAG_arg_variable ] [this] [line 14]
 !64 = !{!"0xf\00\000\0064\0064\000\000", null, null, !9} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from SVal]
-!65 = !{i32 14, i32 0, !33, null}
+!65 = !MDLocation(line: 14, scope: !33)
 !66 = !{!"0x101\00this\0016777230\001088", !34, !5, !64} ; [ DW_TAG_arg_variable ] [this] [line 14]
-!67 = !{i32 14, i32 0, !34, null}
+!67 = !MDLocation(line: 14, scope: !34)
 !68 = !{i32 1, !"Debug Info Version", i32 2}
index 0e07bf9..3829966 100644 (file)
@@ -33,9 +33,9 @@ declare i32 @printf(i8*, ...)
 !9 = !{!"0x42\00\000\000\000\000\000", null, null, !10} ; [ DW_TAG_rvalue_reference_type ]
 !10 = !{!"0x24\00int\000\0032\0032\000\000\005", null, null} ; [ DW_TAG_base_type ]
 !11 = !{!"0x101\00i\0016777220\000", !5, !6, !9} ; [ DW_TAG_arg_variable ]
-!12 = !{i32 4, i32 17, !5, null}
-!13 = !{i32 6, i32 3, !14, null}
+!12 = !MDLocation(line: 4, column: 17, scope: !5)
+!13 = !MDLocation(line: 6, column: 3, scope: !14)
 !14 = !{!"0xb\005\001\000", !16, !5} ; [ DW_TAG_lexical_block ]
-!15 = !{i32 7, i32 1, !14, null}
+!15 = !MDLocation(line: 7, column: 1, scope: !14)
 !16 = !{!"foo.cpp", !"/Users/echristo/tmp"}
 !17 = !{i32 1, !"Debug Info Version", i32 2}
index 0335683..42d6569 100644 (file)
@@ -325,69 +325,69 @@ attributes #7 = { builtin nounwind }
 !66 = !{!"clang version 3.5.0 (trunk 203283) (llvm/trunk 203307)"}
 !67 = !{!"0x101\00this\0016777216\001088", !49, null, !68} ; [ DW_TAG_arg_variable ] [this] [line 0]
 !68 = !{!"0xf\00\000\0064\0064\000\000", null, null, !"_ZTS1A"} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS1A]
-!69 = !{i32 0, i32 0, !49, null}
+!69 = !MDLocation(line: 0, scope: !49)
 !70 = !{!"0x101\00i\0033554448\000", !49, !7, !12} ; [ DW_TAG_arg_variable ] [i] [line 16]
-!71 = !{i32 16, i32 0, !49, null}
-!72 = !{i32 18, i32 0, !49, null}
-!73 = !{i32 19, i32 0, !49, null}
+!71 = !MDLocation(line: 16, scope: !49)
+!72 = !MDLocation(line: 18, scope: !49)
+!73 = !MDLocation(line: 19, scope: !49)
 !74 = !{!"0x101\00this\0016777216\001088", !50, null, !68} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!75 = !{i32 0, i32 0, !50, null}
+!75 = !MDLocation(line: 0, scope: !50)
 !76 = !{!"0x101\00rhs\0033554453\000", !50, !7, !22} ; [ DW_TAG_arg_variable ] [rhs] [line 21]
-!77 = !{i32 21, i32 0, !50, null}
-!78 = !{i32 23, i32 0, !50, null}
-!79 = !{i32 24, i32 0, !50, null}
+!77 = !MDLocation(line: 21, scope: !50)
+!78 = !MDLocation(line: 23, scope: !50)
+!79 = !MDLocation(line: 24, scope: !50)
 !80 = !{!"0x101\00this\0016777216\001088", !51, null, !68} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!81 = !{i32 0, i32 0, !51, null}
+!81 = !MDLocation(line: 0, scope: !51)
 !82 = !{!"0x101\00rhs\0033554459\000", !51, !7, !22} ; [ DW_TAG_arg_variable ] [rhs] [line 27]
-!83 = !{i32 27, i32 0, !51, null}
-!84 = !{i32 29, i32 0, !51, null}
-!85 = !{i32 30, i32 0, !51, null}
+!83 = !MDLocation(line: 27, scope: !51)
+!84 = !MDLocation(line: 29, scope: !51)
+!85 = !MDLocation(line: 30, scope: !51)
 !86 = !{!"0x101\00this\0016777216\001088", !52, null, !68} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!87 = !{i32 0, i32 0, !52, null}
-!88 = !{i32 35, i32 0, !52, null}
+!87 = !MDLocation(line: 0, scope: !52)
+!88 = !MDLocation(line: 35, scope: !52)
 !89 = !{!"0x101\00this\0016777216\001088", !53, null, !90} ; [ DW_TAG_arg_variable ] [this] [line 0]
 !90 = !{!"0xf\00\000\0064\0064\000\000", null, null, !"_ZTS1B"} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from _ZTS1B]
-!91 = !{i32 0, i32 0, !53, null}
-!92 = !{i32 49, i32 0, !53, null}
+!91 = !MDLocation(line: 0, scope: !53)
+!92 = !MDLocation(line: 49, scope: !53)
 !93 = !{!"0x100\00a\0049\008192", !53, !7, !4} ; [ DW_TAG_auto_variable ] [a] [line 49]
-!94 = !{i32 50, i32 0, !53, null}
-!95 = !{i32 51, i32 0, !53, null}
-!96 = !{i32 51, i32 0, !97, null}
+!94 = !MDLocation(line: 50, scope: !53)
+!95 = !MDLocation(line: 51, scope: !53)
+!96 = !MDLocation(line: 51, scope: !97)
 !97 = !{!"0xb\0051\000\002", !1, !53} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/sret.cpp]
-!98 = !{i32 51, i32 0, !99, null}
+!98 = !MDLocation(line: 51, scope: !99)
 !99 = !{!"0xb\0051\000\003", !1, !100} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/sret.cpp]
 !100 = !{!"0xb\0051\000\001", !1, !53} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/sret.cpp]
 !101 = !{!"0x101\00this\0016777216\001088", !63, null, !68} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!102 = !{i32 0, i32 0, !63, null}
-!103 = !{i32 8, i32 0, !63, null}
+!102 = !MDLocation(line: 0, scope: !63)
+!103 = !MDLocation(line: 8, scope: !63)
 !104 = !{!"0x101\00argc\0016777269\000", !54, !7, !12} ; [ DW_TAG_arg_variable ] [argc] [line 53]
-!105 = !{i32 53, i32 0, !54, null}
+!105 = !MDLocation(line: 53, scope: !54)
 !106 = !{!"0x101\00argv\0033554485\000", !54, !7, !57} ; [ DW_TAG_arg_variable ] [argv] [line 53]
 !107 = !{!"0x100\00b\0055\000", !54, !7, !37} ; [ DW_TAG_auto_variable ] [b] [line 55]
-!108 = !{i32 55, i32 0, !54, null}
+!108 = !MDLocation(line: 55, scope: !54)
 !109 = !{!"0x100\00return_val\0056\000", !54, !7, !12} ; [ DW_TAG_auto_variable ] [return_val] [line 56]
-!110 = !{i32 56, i32 0, !54, null}
-!111 = !{i32 56, i32 0, !112, null}
+!110 = !MDLocation(line: 56, scope: !54)
+!111 = !MDLocation(line: 56, scope: !112)
 !112 = !{!"0xb\0056\000\001", !1, !54} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/sret.cpp]
 !113 = !{!"0x100\00a\0058\000", !54, !7, !4} ; [ DW_TAG_auto_variable ] [a] [line 58]
-!114 = !{i32 58, i32 0, !54, null}
-!115 = !{i32 59, i32 0, !54, null}
-!116 = !{i32 60, i32 0, !54, null}
-!117 = !{i32 60, i32 0, !118, null}
+!114 = !MDLocation(line: 58, scope: !54)
+!115 = !MDLocation(line: 59, scope: !54)
+!116 = !MDLocation(line: 60, scope: !54)
+!117 = !MDLocation(line: 60, scope: !118)
 !118 = !{!"0xb\0060\000\001", !1, !54} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/sret.cpp]
-!119 = !{i32 60, i32 0, !120, null}
+!119 = !MDLocation(line: 60, scope: !120)
 !120 = !{!"0xb\0060\000\003", !1, !54} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/sret.cpp]
-!121 = !{i32 60, i32 0, !122, null}
+!121 = !MDLocation(line: 60, scope: !122)
 !122 = !{!"0xb\0060\000\002", !1, !54} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/sret.cpp]
 !123 = !{!"0x101\00this\0016777216\001088", !62, null, !90} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!124 = !{i32 0, i32 0, !62, null}
-!125 = !{i32 41, i32 0, !62, null}
+!124 = !MDLocation(line: 0, scope: !62)
+!125 = !MDLocation(line: 41, scope: !62)
 !126 = !{!"0x101\00this\0016777216\001088", !61, null, !68} ; [ DW_TAG_arg_variable ] [this] [line 0]
-!127 = !{i32 0, i32 0, !61, null}
-!128 = !{i32 8, i32 0, !61, null}
-!129 = !{i32 8, i32 0, !130, null}
+!127 = !MDLocation(line: 0, scope: !61)
+!128 = !MDLocation(line: 8, scope: !61)
+!129 = !MDLocation(line: 8, scope: !130)
 !130 = !{!"0xb\008\000\001", !1, !61} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/sret.cpp]
-!131 = !{i32 8, i32 0, !132, null}
+!131 = !MDLocation(line: 8, scope: !132)
 !132 = !{!"0xb\008\000\002", !1, !61} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/sret.cpp]
-!133 = !{i32 8, i32 0, !134, null}
+!133 = !MDLocation(line: 8, scope: !134)
 !134 = !{!"0xb\008\000\003", !1, !61} ; [ DW_TAG_lexical_block ] [/usr/local/google/home/echristo/tmp/sret.cpp]
index 0d0e6e8..0b2c50e 100644 (file)
@@ -92,12 +92,12 @@ entry:
 !13 = !{!"0x2e\00fn\00fn\00\001\000\001\000\006\00256\000\001", !24, !14, !7, null, i32 (i32)* @fn, null, null, !1} ; [ DW_TAG_subprogram ] [line 1] [def] [fn]
 !14 = !{!"0x29", !24} ; [ DW_TAG_file_type ]
 !15 = !{!"0x101\00a\0016777218\000", !5, !6, !9} ; [ DW_TAG_arg_variable ] [a] [line 2]
-!16 = !{i32 2, i32 0, !5, null}
-!17 = !{i32 4, i32 0, !18, null}
+!16 = !MDLocation(line: 2, scope: !5)
+!17 = !MDLocation(line: 4, scope: !18)
 !18 = !{!"0xb\003\000\000", !23, !5} ; [ DW_TAG_lexical_block ]
 !19 = !{!"0x101\00a\0016777217\000", !13, !14, !9} ; [ DW_TAG_arg_variable ] [a] [line 1]
-!20 = !{i32 1, i32 0, !13, null}
-!21 = !{i32 2, i32 0, !22, null}
+!20 = !MDLocation(line: 1, scope: !13)
+!21 = !MDLocation(line: 2, scope: !22)
 !22 = !{!"0xb\001\000\000", !24, !13} ; [ DW_TAG_lexical_block ]
 !23 = !{!"simple.c", !"/private/tmp"}
 !24 = !{!"simple2.c", !"/private/tmp"}
index c1bd51e..65d19f2 100644 (file)
@@ -34,7 +34,7 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 !12 = !{!"0x1\00\000\0064\0032\000\000", null, null, !9, !13, i32 0, null, null, null} ; [ DW_TAG_array_type ] [line 0, size 64, align 32, offset 0] [from int]
 !13 = !{!14}
 !14 = !{!"0x21\000\002"}        ; [ DW_TAG_subrange_type ] [0, 1]
-!15 = !{i32 4, i32 0, !11, null}
-!16 = !{i32 6, i32 0, !11, null}
+!15 = !MDLocation(line: 4, scope: !11)
+!16 = !MDLocation(line: 6, scope: !11)
 !17 = !{!"foo.c", !"/usr/local/google/home/echristo/tmp"}
 !18 = !{i32 1, !"Debug Info Version", i32 2}
index a9a566c..2a1de49 100644 (file)
@@ -28,7 +28,7 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon
 !4 = !{!"0x15\00\000\000\000\000\000\000", !10, !2, null, !5, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
 !5 = !{null}
 !6 = !{!"0x24\00short\000\0016\0016\000\000\005", null, !3} ; [ DW_TAG_base_type ]
-!7 = !{i32 4, i32 22, !8, null}
+!7 = !MDLocation(line: 4, column: 22, scope: !8)
 !8 = !{!"0xb\003\0019\000", !10, !1} ; [ DW_TAG_lexical_block ]
 !10 = !{!"/home/espindola/llvm/test.c", !"/home/espindola/tmpfs/build"}
 !11 = !{i32 1, !"Debug Info Version", i32 2}
index dc61355..8e912ad 100644 (file)
@@ -103,15 +103,15 @@ attributes #4 = { nounwind }
 !22 = !{i32 2, !"Dwarf Version", i32 2}
 !23 = !{i32 1, !"Debug Info Version", i32 2}
 !24 = !{!"clang version 3.5 "}
-!25 = !{i32 10, i32 0, !4, null}
-!26 = !{i32 12, i32 0, !4, null}
+!25 = !MDLocation(line: 10, scope: !4)
+!26 = !MDLocation(line: 12, scope: !4)
 !27 = !{!28, !29, i64 0}
 !28 = !{!"bar", !29, i64 0, !29, i64 4}
 !29 = !{!"int", !30, i64 0}
 !30 = !{!"omnipotent char", !31, i64 0}
 !31 = !{!"Simple C/C++ TBAA"}
-!32 = !{i32 13, i32 0, !4, null}
-!33 = !{i32 14, i32 0, !4, null}
-!34 = !{i32 18, i32 0, !17, null}
-!35 = !{i32 19, i32 0, !17, null}
-!36 = !{i32 20, i32 0, !17, null}
+!32 = !MDLocation(line: 13, scope: !4)
+!33 = !MDLocation(line: 14, scope: !4)
+!34 = !MDLocation(line: 18, scope: !17)
+!35 = !MDLocation(line: 19, scope: !17)
+!36 = !MDLocation(line: 20, scope: !17)
index 43e3727..5125b09 100644 (file)
@@ -125,6 +125,6 @@ attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointe
 !33 = !{i32 2, !"Dwarf Version", i32 4}
 !34 = !{i32 2, !"Debug Info Version", i32 2}
 !35 = !{!"clang version 3.6.0 (trunk 224394) (llvm/trunk 224384)"}
-!36 = !{i32 3, i32 12, !10, null}
-!37 = !{i32 1, i32 96, !14, null}
-!38 = !{i32 0, i32 0, !28, null}
+!36 = !MDLocation(line: 3, column: 12, scope: !10)
+!37 = !MDLocation(line: 1, column: 96, scope: !14)
+!38 = !MDLocation(line: 0, scope: !28)
index b4d65be..6f673dd 100644 (file)
@@ -99,4 +99,4 @@ attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointe
 !15 = !{i32 2, !"Dwarf Version", i32 4}
 !16 = !{i32 1, !"Debug Info Version", i32 2}
 !17 = !{!"clang version 3.5 "}
-!18 = !{i32 6, i32 0, !4, null}
+!18 = !MDLocation(line: 6, scope: !4)
index d6d3cad..df07054 100644 (file)
@@ -53,8 +53,8 @@ attributes #1 = { nounwind readnone }
 !21 = !{!22}
 !22 = !{!"0x2f\00T\000\000", null, !8, null} ; [ DW_TAG_template_type_parameter ]
 !23 = !{!"0x101\00value\0016777219\000", !4, !11, !8} ; [ DW_TAG_arg_variable ] [value] [line 3]
-!24 = !{i32 3, i32 0, !4, null}
+!24 = !MDLocation(line: 3, scope: !4)
 !25 = !{!"0x100\00tempValue\004\000", !4, !11, !12} ; [ DW_TAG_auto_variable ] [tempValue] [line 4]
-!26 = !{i32 4, i32 0, !4, null}
-!27 = !{i32 5, i32 0, !4, null}
+!26 = !MDLocation(line: 4, scope: !4)
+!27 = !MDLocation(line: 5, scope: !4)
 !28 = !{i32 1, !"Debug Info Version", i32 2}
index da49a84..b2f2f3d 100644 (file)
@@ -91,17 +91,17 @@ entry:
 !13 = !{!"0xf\00\000\0064\0064\000\000", null, null, !14} ; [ DW_TAG_pointer_type ] [line 0, size 64, align 64, offset 0] [from char]
 !14 = !{!"0x24\00char\000\008\008\000\000\006", null, null} ; [ DW_TAG_base_type ] [char] [line 0, size 8, align 8, offset 0, enc DW_ATE_signed_char]
 !15 = !{!"0x101\00n\0016777217\000", !4, !5, !8} ; [ DW_TAG_arg_variable ] [n] [line 1]
-!16 = !{i32 1, i32 0, !4, null}
-!17 = !{i32 2, i32 0, !4, null}
+!16 = !MDLocation(line: 1, scope: !4)
+!17 = !MDLocation(line: 2, scope: !4)
 !18 = !{!"0x100\00a\002\008192", !4, !5, !19} ; [ DW_TAG_auto_variable ] [a] [line 2]
 !19 = !{!"0x1\00\000\000\0032\000\000", null, null, !8, !20, i32 0, null, null, null} ; [ DW_TAG_array_type ] [line 0, size 0, align 32, offset 0] [from int]
 !20 = !{!21}
 !21 = !{!"0x21\000\00-1"}       ; [ DW_TAG_subrange_type ] [unbounded]
-!22 = !{i32 3, i32 0, !4, null}
-!23 = !{i32 4, i32 0, !4, null}
-!24 = !{i32 5, i32 0, !4, null}
+!22 = !MDLocation(line: 3, scope: !4)
+!23 = !MDLocation(line: 4, scope: !4)
+!24 = !MDLocation(line: 5, scope: !4)
 !25 = !{!"0x101\00argc\0016777223\000", !9, !5, !8} ; [ DW_TAG_arg_variable ] [argc] [line 7]
-!26 = !{i32 7, i32 0, !9, null}
+!26 = !MDLocation(line: 7, scope: !9)
 !27 = !{!"0x101\00argv\0033554439\000", !9, !5, !12} ; [ DW_TAG_arg_variable ] [argv] [line 7]
-!28 = !{i32 8, i32 0, !9, null}
+!28 = !MDLocation(line: 8, scope: !9)
 !29 = !{i32 1, !"Debug Info Version", i32 2}
index a9e0510..4439571 100644 (file)
@@ -31,8 +31,8 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
 ;CHECK-NOT: DW_AT_upper_bound
 ;CHECK-NEXT: End Of Children Mark
 !10 = !{!"0x21\000\00-1"}        ; [ DW_TAG_subrange_type ]
-!11 = !{i32 4, i32 7, !7, null}
-!12 = !{i32 5, i32 3, !7, null}
+!11 = !MDLocation(line: 4, column: 7, scope: !7)
+!12 = !MDLocation(line: 5, column: 3, scope: !7)
 !13 = !{!0}
 !14 = !{!"array.c", !"/private/tmp"}
 !15 = !{i32 0}
index 0a4a8ac..b25aee1 100644 (file)
@@ -81,7 +81,7 @@ attributes #3 = { nounwind }
 !20 = !{!"0xd\00__size\000\0032\0032\00160\000", !1, !5, !19} ; [ DW_TAG_member ] [__size] [line 0, size 32, align 32, offset 160] [from int]
 !21 = !{!"0xd\00x\000\0032\0032\00192\000", !1, !5, !19} ; [ DW_TAG_member ] [x] [line 0, size 32, align 32, offset 192] [from int]
 !22 = !{!"0x102\0034\008\006\0034\0024"} ; [ DW_TAG_expression ] [DW_OP_plus 8] [DW_OP_deref] [DW_OP_plus 24]
-!23 = !{i32 4, i32 15, !4, null}
-!24 = !{i32 4, i32 3, !4, null}
-!25 = !{i32 5, i32 3, !4, null}
-!26 = !{i32 6, i32 1, !4, null}
+!23 = !MDLocation(line: 4, column: 15, scope: !4)
+!24 = !MDLocation(line: 4, column: 3, scope: !4)
+!25 = !MDLocation(line: 5, column: 3, scope: !4)
+!26 = !MDLocation(line: 6, column: 1, scope: !4)
index 52ffd8e..add9780 100644 (file)
@@ -48,4 +48,4 @@ attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointe
 !15 = !{i32 2, !"Dwarf Version", i32 4}
 !16 = !{i32 2, !"Debug Info Version", i32 2}
 !17 = !{!"clang version 3.5.0 "}
-!18 = !{i32 3, i32 0, !4, null}
+!18 = !MDLocation(line: 3, scope: !4)