From 4f278f9b800f5fb38ccc6cb3c32c5cd55edf794d Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Wed, 20 Mar 2013 06:27:06 +0000 Subject: [PATCH] Reorder the DIFile parameter in DINameSpace Moving the DIFile parameter to immediately proceed the tag so that it will be a common prefix with other DIScopes (once the DIFile is replaced with the raw file/directory pair). llvm-svn: 177492 --- llvm/include/llvm/DebugInfo.h | 8 ++++---- llvm/lib/IR/DIBuilder.cpp | 2 +- llvm/test/DebugInfo/namespace.ll | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/llvm/include/llvm/DebugInfo.h b/llvm/include/llvm/DebugInfo.h index 103a9b2..d8576fa 100644 --- a/llvm/include/llvm/DebugInfo.h +++ b/llvm/include/llvm/DebugInfo.h @@ -644,13 +644,13 @@ namespace llvm { void printInternal(raw_ostream &OS) const; public: explicit DINameSpace(const MDNode *N = 0) : DIScope(N) {} - DIScope getContext() const { return getFieldAs(1); } - StringRef getName() const { return getStringField(2); } + DIScope getContext() const { return getFieldAs(2); } + StringRef getName() const { return getStringField(3); } StringRef getDirectory() const { - return getFieldAs(3).getDirectory(); + return getFieldAs(1).getDirectory(); } StringRef getFilename() const { - return getFieldAs(3).getFilename(); + return getFieldAs(1).getFilename(); } unsigned getLineNumber() const { return getUnsignedField(4); } bool Verify() const; diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp index f435bba..48238e9 100644 --- a/llvm/lib/IR/DIBuilder.cpp +++ b/llvm/lib/IR/DIBuilder.cpp @@ -975,9 +975,9 @@ DINameSpace DIBuilder::createNameSpace(DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNo) { Value *Elts[] = { GetTagConstant(VMContext, dwarf::DW_TAG_namespace), + File, getNonCompileUnitScope(Scope), MDString::get(VMContext, Name), - File, ConstantInt::get(Type::getInt32Ty(VMContext), LineNo) }; DINameSpace R(MDNode::get(VMContext, Elts)); diff --git a/llvm/test/DebugInfo/namespace.ll b/llvm/test/DebugInfo/namespace.ll index 82167b6..146fdd8 100644 --- a/llvm/test/DebugInfo/namespace.ll +++ b/llvm/test/DebugInfo/namespace.ll @@ -1,6 +1,7 @@ ; RUN: llc -O0 -filetype=obj < %s > %t ; RUN: llvm-dwarfdump -debug-dump=info %t | FileCheck %s ; CHECK: DW_TAG_namespace +; CHECK-NEXT: DW_AT_name{{.*}} = "A" ; CHECK-NOT: NULL ; CHECK: DW_TAG_variable ; CHECK-NEXT: DW_AT_name{{.*}}= "i" @@ -21,5 +22,5 @@ !3 = metadata !{i32 0} !4 = metadata !{metadata !5} !5 = metadata !{i32 786484, i32 0, metadata !6, metadata !"i", metadata !"i", metadata !"_ZN1A1iE", metadata !1, i32 4, metadata !7, i32 0, i32 1, i32* @_ZN1A1iE, null} ; [ DW_TAG_variable ] [i] [line 4] [def] -!6 = metadata !{i32 786489, null, metadata !"A", metadata !1, i32 3} ; [ DW_TAG_namespace ] [A] [line 3] +!6 = metadata !{i32 786489, metadata !1, null, metadata !"A", i32 3} ; [ DW_TAG_namespace ] [A] [line 3] !7 = metadata !{i32 786468, null, null, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed] -- 2.7.4