[PATCH] D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code

Paul Robinson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 27 10:16:12 PST 2019


probinson added a comment.

Some initial comments.



================
Comment at: docs/SourceLevelDebugging.rst:394
 
 .. _ccxx_frontend:
 
----------------
This is the label for the following section, so it needs to stay after your new section.


================
Comment at: docs/SourceLevelDebugging.rst:405
+``llvm.dbg.value`` intrinsic is created for each assignment, recording the
+variables new location. Compared with the ``llvm.dbg.declare`` intrinsic:
+
----------------
dbg.value can also record a (typically immediate) value, that is not an SSA register, so you'll need to do some rephrasing.


================
Comment at: docs/SourceLevelDebugging.rst:408
+* A dbg.value invalidates the location of any earlier dbg.values for the
+  specified variable.
+* The dbg.value's position in the IR defines where in the instruction stream
----------------
I think "terminates the effect of any preceding dbg.value" might be better.


================
Comment at: docs/SourceLevelDebugging.rst:410
+* The dbg.value's position in the IR defines where in the instruction stream
+  the variable location changes.
+
----------------
value or location


================
Comment at: docs/SourceLevelDebugging.rst:421
+altered or moved -- the developer will observe such changes reflected in
+variable valuations when debugging the program. For any execution of the
+optimized program, the set of variable valuations presented to the developer
----------------
I agree with Adrian, "valuations" is not a term of art and I'd rather not see us introduce it.  Maybe s/variable valuations/values of variables/g, or some other similar phrasing.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D58726





More information about the llvm-commits mailing list