This is an archive of the discontinued LLVM Phabricator instance.

[DebugInfo] Support for DW_OP_implicit_pointer.
Needs ReviewPublic

Authored by alok on Nov 3 2019, 11:24 PM.

Details

Summary

This patch adds support for DW_OP_implicit_pointer.

This will enable debugger to show dereferenced value of optimized out pointer.
It has been validated for SROA, mem2reg and Instruction-combiner optimizations.

This also fixes PR43289

Diff Detail

Event Timeline

alok created this revision.Nov 3 2019, 11:24 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 3 2019, 11:24 PM

Rough first review: This looks like it touches a lot of places. I think it might make more sense as several separate patches - improving salavageDebugINfo and then separate patches for each new call-site (including appropriate test cases showing how each new call site is useful).

This looks very interesting! I agree with David though that it would be nice to split this into smaller parts.

labath resigned from this revision.Nov 26 2019, 6:42 AM
labath added a subscriber: labath.

I don't know much about the generation side of debug info in llvm.