diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -1953,6 +1953,15 @@ the function. The instrumentation checks that the return address for the function has not changed between the function prolog and epilog. It is currently x86_64-specific. +``mustprogress`` + This attribute indicates that the function is required to return, unwind, + or interact with the environment in an observable way e.g. via a + volatile memory access, I/O, or other synchronization. + The ``mustprogress`` attribute is intended to model the + requirements of the first section of `[intro.progress] of the C++ + Standard `_. This attribute does + not apply transitively to callees, that means a callee might not make progress. + Note that `willreturn` implies `mustprogress`. Call Site Attributes ----------------------