Live DEBUG_VALUE analysis transfer


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,

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