[llvm-dev] Stripping Debug Locations on cross BB moves, part 2 (PR31891)

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Wed Feb 8 09:25:50 PST 2017


So Reid came across a case where the current strategy (dropping locations
when they move across basic blocks) proves to be at odds with another
precept we have: inlinable calls must have locations, so that if/when they
are inlined the location can be accurately described (due to the nature of
our IR representation of inlining, a location must be given for the call
site so that the DIEs for the inlined subroutine can be described)

Any ideas on how we should approach this?

We could have a bit in DebugLoc (or other choice of representation) for the
non-line location. For the line table this would work the same as absent
DebugLoc - for calls it would cause call_file/line/discriminator (do we
have a call_discriminator? We probably should, don't know if we do) to be
omitted which is something the LLVM IR representation currently can't
express.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170208/90e9c7e9/attachment.html>


More information about the llvm-dev mailing list