summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-11-02 06:37:23 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-11-02 06:37:23 +0000
commit7d48be2b7b973b472030683cd13553aad5df175a (patch)
tree5ecd6c0e4b426d9abe61cbf49156c68017f76e39 /llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
parent192b45c1effc8a52ef8ee037c06b6db914620527 (diff)
downloadbcm5719-llvm-7d48be2b7b973b472030683cd13553aad5df175a.tar.gz
bcm5719-llvm-7d48be2b7b973b472030683cd13553aad5df175a.zip
Sink DwarfUnit::addVariableAddress into DwarfCompileUnit since type units don't have variables
llvm-svn: 221084
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
index d98b30e9b62..142d32e5591 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
@@ -712,4 +712,16 @@ void DwarfCompileUnit::addGlobalType(DIType Ty, const DIE &Die,
GlobalTypes[FullName] = &Die;
}
+/// addVariableAddress - Add DW_AT_location attribute for a
+/// DbgVariable based on provided MachineLocation.
+void DwarfCompileUnit::addVariableAddress(const DbgVariable &DV, DIE &Die,
+ MachineLocation Location) {
+ if (DV.variableHasComplexAddress())
+ addComplexAddress(DV, Die, dwarf::DW_AT_location, Location);
+ else if (DV.isBlockByrefVariable())
+ addBlockByrefAddress(DV, Die, dwarf::DW_AT_location, Location);
+ else
+ addAddress(Die, dwarf::DW_AT_location, Location,
+ DV.getVariable().isIndirect());
+}
} // end llvm namespace
OpenPOWER on IntegriCloud