[llvm] [LangRef] Clarify definition of fragments and debug intrinsics (PR #82019)

Scott Linder via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 19 11:27:44 PST 2024


================
@@ -417,8 +448,9 @@ values through compilation, when objects are promoted to SSA values an
 ``llvm.dbg.value`` intrinsic is created for each assignment, recording the
 variable's new location. Compared with the ``llvm.dbg.declare`` intrinsic:
 
-* A dbg.value terminates the effect of any preceding dbg.values for (any
-  overlapping fragments of) the specified variable.
+* A dbg.value terminates the effect of any preceding dbg.values for any
+  spatially overlapping variables or fragments of the specified variable or
----------------
slinder1 wrote:

Right, it might be good to add a note here, and to make the term "spatially overlapping" be a link back to the definition, but the intention was to define "spatial overlap" such that this could just talk in terms of the universe of all variables and fragments and by definition still be restricted to the way LLVM currently works. In other words, a `dbg.value` for "x" cannot spatially overlap with a `dbg.value` for "y" by definition, so the wording here does not need to repeat that restriction.

https://github.com/llvm/llvm-project/pull/82019


More information about the llvm-commits mailing list