mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
Sink DwarfUnit::addVariableAddress into DwarfCompileUnit since type units don't have variables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221084 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
21cd65acf4
commit
f5dd438f80
@ -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
|
||||
|
@ -191,6 +191,11 @@ public:
|
||||
|
||||
const StringMap<const DIE *> &getGlobalNames() const { return GlobalNames; }
|
||||
const StringMap<const DIE *> &getGlobalTypes() const { return GlobalTypes; }
|
||||
|
||||
/// Add DW_AT_location attribute for a DbgVariable based on provided
|
||||
/// MachineLocation.
|
||||
void addVariableAddress(const DbgVariable &DV, DIE &Die,
|
||||
MachineLocation Location);
|
||||
};
|
||||
|
||||
} // end llvm namespace
|
||||
|
@ -411,19 +411,6 @@ void DwarfUnit::addSourceLine(DIE &Die, DINameSpace NS) {
|
||||
addSourceLine(Die, NS.getLineNumber(), NS.getFilename(), NS.getDirectory());
|
||||
}
|
||||
|
||||
/// addVariableAddress - Add DW_AT_location attribute for a
|
||||
/// DbgVariable based on provided MachineLocation.
|
||||
void DwarfUnit::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());
|
||||
}
|
||||
|
||||
/// addRegisterOp - Add register operand.
|
||||
// FIXME: Ideally, this would share the implementation with
|
||||
// AsmPrinter::EmitDwarfRegOpPiece.
|
||||
|
@ -306,11 +306,6 @@ public:
|
||||
dwarf::Attribute Attribute,
|
||||
const MachineLocation &Location);
|
||||
|
||||
/// addVariableAddress - Add DW_AT_location attribute for a
|
||||
/// DbgVariable based on provided MachineLocation.
|
||||
void addVariableAddress(const DbgVariable &DV, DIE &Die,
|
||||
MachineLocation Location);
|
||||
|
||||
/// addType - Add a new type attribute to the specified entity. This takes
|
||||
/// and attribute parameter because DW_AT_friend attributes are also
|
||||
/// type references.
|
||||
|
Loading…
Reference in New Issue
Block a user