Son Tuan VU via llvm-dev
2019-Aug-01 22:50 UTC
[llvm-dev] Live DEBUG_VALUE analysis transfer
Hello, Looking at the code of Live DEBUG_VALUE analysis which propagates debug information by inserting new DBG_VALUE instructions to the MIR. Currently, this pass inserts new DBG_VALUE instructions for register copy, spill and restore instructions. However, extend instructions such as ARM's {S|U}XT{B|H} should also have new DBG_VALUE instructions inserted, since they do kill and define registers. Is this just a TODO that needs to be implemented, or there is in fact a reason for this? Thank you for your time, Son Tuan Vu -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190802/88e3ffbf/attachment.html>
Adrian Prantl via llvm-dev
2019-Aug-02 23:58 UTC
[llvm-dev] Live DEBUG_VALUE analysis transfer
> On Aug 1, 2019, at 3:50 PM, Son Tuan VU via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hello, > > Looking at the code of Live DEBUG_VALUE analysis which propagates debug information by inserting new DBG_VALUE instructions to the MIR. > > Currently, this pass inserts new DBG_VALUE instructions for register copy, spill and restore instructions. However, extend instructions such as ARM's {S|U}XT{B|H} should also have new DBG_VALUE instructions inserted, since they do kill and define registers. > > Is this just a TODO that needs to be implemented, or there is in fact a reason for this? >Could you post a short example that illustrates the issue? LiveDebugValue's primary purpose is to propagate DBG_VALUEs across basic block boundaries. Based on your description I'm not sure whether this wouldn't be a better fit for a different phase. -- adrian