aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2011-08-18 22:21:50 +0000
committerDevang Patel <dpatel@apple.com>2011-08-18 22:21:50 +0000
commit49e2f03849064d9dc26db3865ae419f17daadca6 (patch)
treede367aafa759b825fc2f5c97a631d4b3dc3045b0 /lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
parent1dd56f05e1bc3e7f66f2b0de4b5ea3692136a77f (diff)
Add new DIE into the map asap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137998 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
index f337d18989..93cbdae7b0 100644
--- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
@@ -1030,26 +1030,26 @@ static const ConstantExpr *getMergedGlobalExpr(const Value *V) {
/// createGlobalVariableDIE - create global variable DIE.
void CompileUnit::createGlobalVariableDIE(const MDNode *N) {
- DIGlobalVariable GV(N);
-
// Check for pre-existence.
- if (getDIE(GV))
+ if (getDIE(N))
return;
- DIType GTy = GV.getType();
+ DIGlobalVariable GV(N);
DIE *VariableDIE = new DIE(GV.getTag());
-
- bool isGlobalVariable = GV.getGlobal() != NULL;
+ // Add to map.
+ insertDIE(N, VariableDIE);
// Add name.
addString(VariableDIE, dwarf::DW_AT_name, dwarf::DW_FORM_string,
GV.getDisplayName());
StringRef LinkageName = GV.getLinkageName();
+ bool isGlobalVariable = GV.getGlobal() != NULL;
if (!LinkageName.empty() && isGlobalVariable)
addString(VariableDIE, dwarf::DW_AT_MIPS_linkage_name,
dwarf::DW_FORM_string,
getRealLinkageName(LinkageName));
// Add type.
+ DIType GTy = GV.getType();
addType(VariableDIE, GTy);
// Add scoping info.
@@ -1060,8 +1060,6 @@ void CompileUnit::createGlobalVariableDIE(const MDNode *N) {
}
// Add line number info.
addSourceLine(VariableDIE, GV);
- // Add to map.
- insertDIE(N, VariableDIE);
// Add to context owner.
DIDescriptor GVContext = GV.getContext();
addToContextOwner(VariableDIE, GVContext);