Index: llvm/docs/LangRef.rst =================================================================== --- llvm/docs/LangRef.rst +++ llvm/docs/LangRef.rst @@ -1269,6 +1269,16 @@ This indicates that callee does not free the pointer argument. This is not a valid attribute for return values. +``noreadafterunwind`` + 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 a + ``noreadafterunwind`` argument unwinds, then the underlying object + associated with the 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``