r225000 - Reapply "DebugInfo: Generalize debug info location handling"
David Blaikie
dblaikie at gmail.com
Fri Jan 9 14:29:51 PST 2015
On Fri, Jan 9, 2015 at 2:26 PM, Adrian Prantl <aprantl at apple.com> wrote:
> > Try it - it shouldn't assert. The assertion only fires when the caller
> has debug info as well.
>
> Interesting! I tried a triple-nested call were the middle function was
> without debug info and the inlined instructions from the function without
> debug info get re-parented into the callee function and it works out. Sweet.
>
> I’m retracting my concerns. I will look into fixing CFE to emit valid
> DebugLocs inside the landingpad.
>
Nothing to do on your end - the absence of a DebugLoc was introduced by
this patch, which I'm reverting. Then I'll figure out how to commit it
without introducing that (& several other, judging by the reproductions
provided), bugs.
Though I'm certainly happy for ideas/pointers, don't feel that there's any
work for you to do to unblock/fix this - I broke it.
>
>
> > 1) a function with debug info calls
> > 2) a function with instructions with debuglocs (not necessarily a
> function with debug info - it could be a nodebug function that's had debug
> functions inlined into it already) through
> > 3) a call without a debug location
>
> Could you craft this into an assertion and add it — maybe to the inliner?
> Alternatively, could you add this as a comment next to the assertion?
>
I wouldn't mind doing so, though I haven't given it a great deal of thought
- as you can see, the cases that are accepted (intervening nodebug
functions, etc) wrinkle this a bit.
But it should boil down to "find this function in the debug info subprogram
list, if found, scan the inlined instructions for debuglocs, if found,
assert that the call instruction has a debug location".
>
> thanks,
> adrian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150109/d32ae0d7/attachment.html>
More information about the cfe-commits
mailing list