summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2012-09-12 00:26:55 +0000
committerEric Christopher <echristo@apple.com>2012-09-12 00:26:55 +0000
commit97c0fdd116d76024d0d21335d465fe60333d8d8c (patch)
tree23ec9e8adbb4421e8ca6434890051b609f1e5817 /llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
parenta4f52e16a5b24fd82e3743c26ee9997c620dc9d1 (diff)
downloadbcm5719-llvm-97c0fdd116d76024d0d21335d465fe60333d8d8c.tar.gz
bcm5719-llvm-97c0fdd116d76024d0d21335d465fe60333d8d8c.zip
Add some support for dealing with an object pointer on arguments.
Part of rdar://9797999 llvm-svn: 163667
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
index 0007f13e918..4b65a9b5728 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
@@ -1109,6 +1109,8 @@ DIE *CompileUnit::getOrCreateSubprogramDIE(DISubprogram SP) {
addType(Arg, ATy);
if (ATy.isArtificial())
addFlag(Arg, dwarf::DW_AT_artificial);
+ if (ATy.isObjectPointer())
+ addFlag(Arg, dwarf::DW_AT_object_pointer);
SPDie->addChild(Arg);
}
}
@@ -1348,6 +1350,8 @@ DIE *CompileUnit::constructVariableDIE(DbgVariable *DV, bool isScopeAbstract) {
if (DV->isArtificial())
addFlag(VariableDie, dwarf::DW_AT_artificial);
+ if (DV->isObjectPointer())
+ addFlag(VariableDie, dwarf::DW_AT_object_pointer);
if (isScopeAbstract) {
DV->setDIE(VariableDie);
OpenPOWER on IntegriCloud