Skip to content

Commit

Permalink
IR: Move MDLocation into place
Browse files Browse the repository at this point in the history
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
  • Loading branch information
dexonsmith committed Jan 14, 2015
1 parent de8202b commit 37ac8d3
Show file tree
Hide file tree
Showing 299 changed files with 1,587 additions and 1,580 deletions.
28 changes: 23 additions & 5 deletions include/llvm/IR/DebugInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -901,7 +917,9 @@ class DILocation : public DIDescriptor {
// 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;
}

Expand Down
19 changes: 6 additions & 13 deletions lib/IR/DebugInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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) {
Expand Down
8 changes: 2 additions & 6 deletions lib/IR/DebugLoc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions test/Assembler/functionlocal-metadata.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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"}
Expand All @@ -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"}
2 changes: 1 addition & 1 deletion test/Assembler/metadata.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion test/Bindings/OCaml/core.ml
Original file line number Diff line number Diff line change
Expand Up @@ -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 -----------------------------------------------------===*)
Expand Down
2 changes: 1 addition & 1 deletion test/Bitcode/drop-debug-info.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 6 additions & 6 deletions test/BugPoint/metadata.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand All @@ -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}
26 changes: 13 additions & 13 deletions test/CodeGen/AArch64/aarch64-2014-08-11-MachineCombinerCrash.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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)
6 changes: 3 additions & 3 deletions test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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}
4 changes: 2 additions & 2 deletions test/CodeGen/ARM/2009-10-16-Scope.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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}
4 changes: 2 additions & 2 deletions test/CodeGen/ARM/2010-04-15-ScavengerDebugValue.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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}
18 changes: 9 additions & 9 deletions test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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"}
20 changes: 10 additions & 10 deletions test/CodeGen/ARM/2010-08-04-StackVariable.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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"}
Expand Down
20 changes: 10 additions & 10 deletions test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
20 changes: 10 additions & 10 deletions test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
12 changes: 6 additions & 6 deletions test/CodeGen/ARM/coalesce-dbgvalue.ll
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Loading

0 comments on commit 37ac8d3

Please sign in to comment.