diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-11-02 06:37:23 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-11-02 06:37:23 +0000 |
commit | 7d48be2b7b973b472030683cd13553aad5df175a (patch) | |
tree | 5ecd6c0e4b426d9abe61cbf49156c68017f76e39 /llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | |
parent | 192b45c1effc8a52ef8ee037c06b6db914620527 (diff) | |
download | bcm5719-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.cpp | 12 |
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 |