[LLVMbugs] [Bug 20038] codegen crash regression r210961

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jun 25 12:16:01 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=20038

David Blaikie <dblaikie at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #5 from David Blaikie <dblaikie at gmail.com> ---
The crux of the particular issue is a dtor call after a && expression. The
branch to the cleanup block from the RHS of the && would have no location
information (to make stepping through the code easier - you won't get an extra
step just for the unconditional branch), but this would mean the cleanup from
that expression wouldn't get a location either - then the inliner does bad
things to debug info if the caller has debug info but the call site doesn't.
The inliner leaves the debug info on the callee's instructions as they were in
the original function, rather than wiring them up as being inlined into the
outer function.

Fixed this case in clang in r211722 - I've tried to test to ensure there aren't
any other cases that produce location-less callers in function's that otherwise
have debug info, but I might've failed to catch all of them. Will fix as they
come up.

I've readded the assertion, but added more checking into other parts of LLVM as
well in r211721... which I then reverted in r211723. Looks like there are more
cases here. *looking*.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140625/2a9a077c/attachment.html>


More information about the llvm-bugs mailing list