summaryrefslogtreecommitdiffstats
path: root/llvm/docs/LangRef.rst
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/docs/LangRef.rst')
-rw-r--r--llvm/docs/LangRef.rst10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index f98aa6270bb..0bac9e7c5f9 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -1493,6 +1493,16 @@ example:
Annotated functions may still raise an exception, i.a., ``nounwind`` is not implied.
If an invocation of an annotated function does not return control back
to a point in the call stack, the behavior is undefined.
+``nosync``
+ This function attribute indicates that the function does not communicate
+ (synchronize) with another thread through memory or other well-defined means.
+ Synchronization is considered possible in the presence of `atomic` accesses
+ that enforce an order, thus not "unordered" and "monotonic", `volatile` accesses,
+ as well as `convergent` function calls. Note that through `convergent` function calls
+ non-memory communication, e.g., cross-lane operations, are possible and are also
+ considered synchronization. However `convergent` does not contradict `nosync`.
+ If an annotated function does ever synchronize with another thread,
+ the behavior is undefined.
``nounwind``
This function attribute indicates that the function never raises an
exception. If the function does raise an exception, its runtime
OpenPOWER on IntegriCloud