mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-24 08:24:33 +00:00
Emit debug info for byval parameters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102486 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1602,6 +1602,15 @@ DIE *DwarfDebug::constructVariableDIE(DbgVariable *DV, DbgScope *Scope) {
|
||||
updated = addConstantValue(VariableDie, DV, DVInsn->getOperand(0));
|
||||
else if (DVInsn->getOperand(0).isFPImm())
|
||||
updated = addConstantFPValue(VariableDie, DV, DVInsn->getOperand(0));
|
||||
} else {
|
||||
MachineLocation Location = Asm->getDebugValueLocation(DVInsn);
|
||||
if (Location.getReg()) {
|
||||
addAddress(VariableDie, dwarf::DW_AT_location, Location);
|
||||
if (MCSymbol *VS = DV->getDbgValueLabel())
|
||||
addLabel(VariableDie, dwarf::DW_AT_start_scope, dwarf::DW_FORM_addr,
|
||||
VS);
|
||||
updated = true;
|
||||
}
|
||||
}
|
||||
if (!updated) {
|
||||
// If variableDie is not updated then DBG_VALUE instruction does not
|
||||
@ -2102,10 +2111,6 @@ void DwarfDebug::collectVariableInfo() {
|
||||
if (!MInsn->isDebugValue())
|
||||
continue;
|
||||
|
||||
// FIXME : Lift this restriction.
|
||||
if (MInsn->getNumOperands() != 3)
|
||||
continue;
|
||||
|
||||
// Ignore Undef values.
|
||||
if (MInsn->getOperand(0).isReg() && !MInsn->getOperand(0).getReg())
|
||||
continue;
|
||||
|
Reference in New Issue
Block a user