forked from OSchip/llvm-project
Assert that the offset of a DBG_VALUE is always 0. (NFC)
llvm-svn: 309834
This commit is contained in:
parent
7a2274aaed
commit
bd6d291c59
|
@ -481,9 +481,11 @@ DIE *DwarfCompileUnit::constructVariableDIEImpl(const DbgVariable &DV,
|
|||
if (const MachineInstr *DVInsn = DV.getMInsn()) {
|
||||
assert(DVInsn->getNumOperands() == 4);
|
||||
if (DVInsn->getOperand(0).isReg()) {
|
||||
const MachineOperand RegOp = DVInsn->getOperand(0);
|
||||
auto RegOp = DVInsn->getOperand(0);
|
||||
auto Op1 = DVInsn->getOperand(1);
|
||||
// If the second operand is an immediate, this is an indirect value.
|
||||
MachineLocation Location(RegOp.getReg(), DVInsn->getOperand(1).isImm());
|
||||
assert((!Op1.isImm() || (Op1.getImm() == 0)) && "unexpected offset");
|
||||
MachineLocation Location(RegOp.getReg(), Op1.isImm());
|
||||
addVariableAddress(DV, *VariableDie, Location);
|
||||
} else if (DVInsn->getOperand(0).isImm()) {
|
||||
// This variable is described by a single constant.
|
||||
|
|
|
@ -828,12 +828,14 @@ void DwarfDebug::collectVariableInfoFromMFTable(
|
|||
// Get .debug_loc entry for the instruction range starting at MI.
|
||||
static DebugLocEntry::Value getDebugLocValue(const MachineInstr *MI) {
|
||||
const DIExpression *Expr = MI->getDebugExpression();
|
||||
|
||||
assert(MI->getNumOperands() == 4);
|
||||
if (MI->getOperand(0).isReg()) {
|
||||
auto RegOp = MI->getOperand(0);
|
||||
auto Op1 = MI->getOperand(1);
|
||||
// If the second operand is an immediate, this is a
|
||||
// register-indirect address.
|
||||
MachineLocation MLoc(MI->getOperand(0).getReg(), MI->getOperand(1).isImm());
|
||||
assert((!Op1.isImm() || (Op1.getImm() == 0)) && "unexpected offset");
|
||||
MachineLocation MLoc(RegOp.getReg(), Op1.isImm());
|
||||
return DebugLocEntry::Value(Expr, MLoc);
|
||||
}
|
||||
if (MI->getOperand(0).isImm())
|
||||
|
|
Loading…
Reference in New Issue