r225000 - Reapply "DebugInfo: Generalize debug info location handling"

David Blaikie dblaikie at gmail.com
Fri Jan 9 15:02:52 PST 2015


Reverted in r225555.

Sorry for the delay - been a busy week.

Between the bug and this thread I have 4 crash test cases, one that was
resolved by Nico reverting one of the subsequent patches, the other 3 still
crash until I submitted that revert. I'll work up more isolated test cases
for them and then see about fixing them before resubmitting this patch.

On Fri, Jan 9, 2015 at 2:29 PM, David Blaikie <dblaikie at gmail.com> wrote:

>
>
> 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/e6e0110b/attachment.html>


More information about the cfe-commits mailing list