[PATCH] D132220: [Assignment Tracking][1/*] Add initial docs for Assignment Tracking

Orlando Cazalet-Hyams via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 6 03:54:03 PDT 2022


Orlando added inline comments.


================
Comment at: llvm/docs/AssignmentTracking.md:1
+# Assignment Tracking
+
----------------
jryans wrote:
> Please also link to this new page from some list of pages to make it easier to find, such as `UserGuides.rst` (most likely both in the page list and in the TOC tree). Search for `InstrRefDebugInfo` for a recent example of doing this for another Markdown-formatted doc.
Done - thanks for the example. You may notice that the `InstrRefDebugInfo` entry is conspicuously missing from the diff base, because it's a little old. I'll rebase everything as I start landing thing - I've put the `AssignmentTracking` references in `UserGuides.rst` next to where `InstrRefDebugInfo` comes in latest main.


================
Comment at: llvm/docs/AssignmentTracking.md:4
+Assignment Tracking is an alternative technique for tracking variable locations
+through optimisations in llvm. It provides accurate variable locations for
+assignments where a local variable (or a field of one) is the LHS. Indirect
----------------
jryans wrote:
> Nit: When mentioning LLVM (the system, as opposed to a class or namespace) in text, most docs are fairly consistent in spelling it as "LLVM", so it would be good to follow that style here as well. (Apologies if this seems ultra-nitty...! 😅)
> Apologies if this seems ultra-nitty...!

I appreciate the detailed review :-)


================
Comment at: llvm/docs/AssignmentTracking.md:17
+A secondary goal of assignment tracking is to cause minimal additional work for
+llvm pass writers, and minimal disruption to llvm in general.
+
----------------
jryans wrote:
> Does the [guide for pass authors](https://llvm.org/docs/HowToUpdateDebugInfo.html) need any additions or tweaks to cover this new intrinsic? Since this is currently an experimental feature, perhaps it doesn't make sense merge all your pass-author guidance on Assignment Tracking into that existing doc, but at the very least, a few well-placed links to this doc seem like a good idea to me.
Good point, I've added a link from HowToUpdateDebugInfo.rst.


================
Comment at: llvm/docs/AssignmentTracking.md:75-77
+`DIAssignID` metadata is the mechanism that is currently used to encode the
+store<->marker link. It has no operands and all instances are `distinct`;
+equality is checked for by comparing addresses.
----------------
jmorse wrote:
> I'd suggest fitting the word "node" in here somewhere just to be explicit that this is part of the existing DI metadata hierarchy, rather than some other meta-metadata.
like so?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D132220/new/

https://reviews.llvm.org/D132220



More information about the llvm-commits mailing list