Index: llvm/docs/LangRef.rst =================================================================== --- llvm/docs/LangRef.rst +++ llvm/docs/LangRef.rst @@ -1267,6 +1267,15 @@ This indicates that callee does not free the pointer argument. This is not a valid attribute for return values. +``noreadonunwind`` + This indicates that the underlying object of a pointer argument is not read + on the unwind path in the following sense: If a call with ``noreadonunwind`` + argument unwinds, then the underlying object associated with the pointer + argument is overwritten with a :ref:`poison value `. As such, + reads from this object do not result in immediate undefined behavior, but + program behavior cannot depend on the object containing any specific value. + This attribute cannot be applied to return values. + .. _nest: ``nest``