Displaying 2 results from an estimated 2 matches for "recordsourceline".
2010 Aug 31
5
[LLVMdev] More DIFactory questions
...d into the comments and documentation for
DIFactory and DebugInfo.h:
1) What types of DIScope are valid arguments for DebugLoc::get()? The method
takes an MDNode* argument, so looking at the function signature is no help.
For example, DIFile is a subtype of DIScope, however looking
at DwarfDebug::recordSourceLine, I see that DIFile scopes are not valid for
source lines.
2) What is the proper DIScope for executable code that is not part of a
source-level function? For example, suppose I have code that is used to
generate the initialization expression for a static variable. A similar
example would be a defau...
2013 Apr 26
0
[LLVMdev] Inconsistent use of is_stmt flag in .debug_line
...lags = 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.getLine(), DL.getCol(), Scope, Flags);
It's easy to change this code to apply is_stmt for every line table entry but I think that this is the wrong approach. The real question is, why do we have an inconsistency where some function prologues contain instructions that can be mapped to the so...