[llvm] [IR] LangRef: document behavior of double-lifetime.start (PR #184296)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 3 05:49:43 PST 2026
================
@@ -27726,15 +27726,18 @@ value.
Semantics:
""""""""""
-If ``ptr`` is a ``poison`` value, the intrinsic has no effect.
+If ``ptr`` is a ``poison`` value or not a pointer to a stack-allocated object,
----------------
nikic wrote:
I don't think there is any particularly interesting here? There are a lot of IR validity constraints that do not allow replacing operands with other values, even if they may be equivalent as SSA values. These are handled primarily by canReplaceOperandWithVariable(). The most common variant of this is instructions or intrinsics requiring constant integer operands (immarg), and the second most common are intrinsics operating on tokens. And yes, such intrinsics/instructions do require some degree of special handling.
https://github.com/llvm/llvm-project/pull/184296
More information about the llvm-commits
mailing list