[PATCH] D86233: [LangRef] Define maynotprogress attribute
Atmn Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 8 21:03:22 PDT 2020
atmnpatel updated this revision to Diff 290633.
atmnpatel added a comment.
Updated the description based on conversations on the mailing lists.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D86233/new/
https://reviews.llvm.org/D86233
Files:
llvm/docs/LangRef.rst
Index: llvm/docs/LangRef.rst
===================================================================
--- llvm/docs/LangRef.rst
+++ 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 <http://eel.is/c++draft/intro.progress>`_. This function
+ attribute does not apply transitively to callees.
Call Site Attributes
----------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86233.290633.patch
Type: text/x-patch
Size: 980 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200909/660c94a1/attachment.bin>
More information about the llvm-commits
mailing list