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. +``maynotprogress`` + This attribute indicates that the function is permitted to not return + or interact with the environment. Functions without this attribute are + implicitly ``mustprogress`` and they must eventually return or + interact with the environment in some way, e.g. via a side effect or + synchronization. ``mustprogress`` is intended to model the + requirements of the first section of `[intro.progress] of the C++ + Standard `_. This function + attribute does not apply transitively to callees. Call Site Attributes ----------------------