summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2012-11-07 05:19:04 +0000
committerBill Wendling <isanbard@gmail.com>2012-11-07 05:19:04 +0000
commitf720bf64d4bb572aa06092af301dee108f889731 (patch)
tree6ee9358d76b8d96b92f5d0fdfff86b2961733c78 /llvm/lib/CodeGen
parentd9bb9b611bf569b35370caf20438ff9125125f9c (diff)
downloadbcm5719-llvm-f720bf64d4bb572aa06092af301dee108f889731.tar.gz
bcm5719-llvm-f720bf64d4bb572aa06092af301dee108f889731.zip
Add comment describing what's going on here.
llvm-svn: 167525
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index e8c807ac5f1..367b5230792 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -307,8 +307,11 @@ DIE *DwarfDebug::updateSubprogramScopeDIE(CompileUnit *SPCU,
assert(SPDie && "Unable to find subprogram DIE!");
DISubprogram SP(SPNode);
- // Pick up abstract subprogram DIE.
+ // If we're updating an abstract DIE, then we will be adding the children and
+ // object pointer later on. But what we don't want to do is process the
+ // concrete DIE twice.
if (DIE *AbsSPDIE = AbstractSPDies.lookup(SPNode)) {
+ // Pick up abstract subprogram DIE.
SPDie = new DIE(dwarf::DW_TAG_subprogram);
SPCU->addDIEEntry(SPDie, dwarf::DW_AT_abstract_origin,
dwarf::DW_FORM_ref4, AbsSPDIE);
OpenPOWER on IntegriCloud