This is an archive of the discontinued LLVM Phabricator instance.

[DebugInfo][Docs] Remove `dbg.addr` from docs
ClosedPublic

Authored by jryans on Feb 25 2023, 4:13 PM.

Diff Detail

Event Timeline

jryans created this revision.Feb 25 2023, 4:13 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 25 2023, 4:13 PM
Herald added a subscriber: jdoerfert. · View Herald Transcript
jryans requested review of this revision.Feb 25 2023, 4:13 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 25 2023, 4:13 PM
jryans retitled this revision from [DebugInfo][Docs] Remove `dbg.addr` from docs r=Orlando,StephenTozer,probinson,rnk to [DebugInfo][Docs] Remove `dbg.addr` from docs.Feb 25 2023, 4:15 PM
jryans added a project: debug-info.

SGTM

I wonder if it's worth leaving a dbg.addr section in here as a migration guide for front ends that use it (or perhaps a release note would be sufficient - we should probably include a release note either way).

Additionally IMO it could be worth writing up another discourse post with a title that conveys the intention to remove dbg.addr to ensure no one feels caught out, linking to the existing discourse discussion. YMMV.

llvm/docs/SourceLevelDebugging.rst
203–204

I guess we should update the docs to use opaque pointers in these examples (e.g. metadata ptr %buffer) but that is probably something for a seperate patch, since there are parts that need updating other than the bits you're touching here.

jryans marked an inline comment as done.Feb 27 2023, 3:39 AM

I wonder if it's worth leaving a dbg.addr section in here as a migration guide for front ends that use it (or perhaps a release note would be sufficient - we should probably include a release note either way).

I wasn't sure what the common practice around migration docs was... I tried looking around at how past feature removals were handled, and they all seemed to remove all docs as if the feature never existed, so that's what I went with here. I am not sure whether there's an actual policy, or if everyone's just following what the last person did... If someone would prefer migration docs, I can of course add them. It's somewhat unclear how many frontends (if any) adopted dbg.addr vs. following what Clang does (by not using it).

For the release note, that's a good suggestion, I will add a note about this.

Additionally IMO it could be worth writing up another discourse post with a title that conveys the intention to remove dbg.addr to ensure no one feels caught out, linking to the existing discourse discussion. YMMV.

Ah yes, seems reasonable, I created another thread: https://discourse.llvm.org/t/dbg-addr-intrinsic-slated-for-removal/68781

llvm/docs/SourceLevelDebugging.rst
203–204

Right, probably best for a separate patch. There may be over conventions that need updating here (e.g. undef usage) as well.

jryans updated this revision to Diff 500730.Feb 27 2023, 3:55 AM
jryans marked an inline comment as done.
jryans edited the summary of this revision. (Show Details)

Added release notes.

I've also fixed up the style of other debug info notes (there was broken link syntax), hopefully that's okay...

Orlando accepted this revision.Feb 27 2023, 7:33 AM

Thank you! LGTM with inline nit.

llvm/docs/ReleaseNotes.rst
177–178

nit: IMO it's worth mentioning the DW_OP_deref is prepended to the DIExpression.

This revision is now accepted and ready to land.Feb 27 2023, 7:33 AM
Orlando added inline comments.Feb 27 2023, 7:55 AM
llvm/docs/ReleaseNotes.rst
177–178

/s/prepended/appended

jryans updated this revision to Diff 501065.Feb 28 2023, 3:01 AM

Updated release notes to mention DW_OP_deref is appended.

jryans marked 2 inline comments as done.Feb 28 2023, 3:02 AM
Orlando accepted this revision.Feb 28 2023, 3:25 AM
This revision was landed with ongoing or failed builds.Mar 2 2023, 1:31 AM
This revision was automatically updated to reflect the committed changes.