Displaying 3 results from an estimated 3 matches for "previnstloc".
2016 Aug 17
2
CodeView and "line 0" ?
...beginInstruction(const MachineInstr *MI) {
DebugHandlerBase::beginInstruction(MI);
// Ignore DBG_VALUE locations and function prologue.
if (!Asm || !CurFn || MI->isDebugValue() ||
MI->getFlag(MachineInstr::FrameSetup))
return;
DebugLoc DL = MI->getDebugLoc();
if (DL == PrevInstLoc || !DL)
return;
maybeRecordLocation(DL, Asm->MF);
}
Seems reasonable to extend the condition with ' || DL->getLine() == 0'. I'm
not aware of a good way to say "this instruction is not associated with any
line" in CodeView.
On Wed, Aug 17, 2016 at 12:51 PM, Adrian...
2013 Apr 26
0
[LLVMdev] Inconsistent use of is_stmt flag in .debug_line
...f we have an instruction in a function which:
1) Is associated with the line number of the beginning of the function
2) Comes before the end of the prologue
then we overwrite the earlier line table entry with a similar entry which lacks the is_stmt flag. The relevant code is:
unsigned Flags = 0;
PrevInstLoc = DL;
if (DL == PrologEndLoc) {
Flags |= DWARF2_FLAG_PROLOGUE_END;
PrologEndLoc = DebugLoc();
}
if (PrologEndLoc.isUnknown())
Flags |= DWARF2_FLAG_IS_STMT;
if (!DL.isUnknown()) {
const MDNode *Scope = DL.getScope(Asm->MF->getFunction()->getContext());
recordSourceLine(DL.g...
2016 Aug 17
2
CodeView and "line 0" ?
I've been playing with Fred Riss's "line 0" patch for DWARF
(https://reviews.llvm.org/D16569) but in adapting it for current trunk,
I find the DwarfDebug stuff has been refactored to allow either DWARF
or CodeView. That's all good, but the question is whether the "line 0"
patch should be DWARF-specific or common. The DWARF spec explicitly
states that code not