diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 6ed70e6a3a1ecf77955996599e021d1bc6e1b117..00232267a26a6e7d2f5777cea313e7e2645c9781 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -822,9 +822,8 @@ void DwarfDebug::addAddress(DIE *Die, unsigned Attribute, const TargetRegisterInfo *RI = Asm->TM.getRegisterInfo(); unsigned Reg = RI->getDwarfRegNum(Location.getReg(), false); DIEBlock *Block = new (DIEValueAllocator) DIEBlock(); - const TargetRegisterInfo *TRI = Asm->TM.getRegisterInfo(); - if (TRI->getFrameRegister(*Asm->MF) == Location.getReg() + if (RI->getFrameRegister(*Asm->MF) == Location.getReg() && Location.getOffset()) { // If variable offset is based in frame register then use fbreg. addUInt(Block, 0, dwarf::DW_FORM_data1, dwarf::DW_OP_fbreg);