[PATCH] D17012: Update document about convergent attribute.

Justin Lebar via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 9 13:18:23 PST 2016


jlebar updated this revision to Diff 47356.
jlebar added a comment.

Fix typo.


http://reviews.llvm.org/D17012

Files:
  docs/LangRef.rst

Index: docs/LangRef.rst
===================================================================
--- docs/LangRef.rst
+++ docs/LangRef.rst
@@ -1239,10 +1239,20 @@
     function call are also considered to be cold; and, thus, given low
     weight.
 ``convergent``
-    This attribute indicates that the callee is dependent on a convergent
-    thread execution pattern under certain parallel execution models.
-    Transformations that are execution model agnostic may not make the execution
-    of a convergent operation control dependent on any additional values.
+    This attribute indicates that the optimizer should preserve convergent
+    behavior produced by the callee.
+
+    In some parallel execution models, there exist operations that are useful
+    only if the optimizer does not make them control-dependent on any
+    additional values.  We call these operations (e.g. the
+    ``llvm.cuda.syncthreads`` intrinsic) ``intrinsically convergent``.
+
+    The ``convergent`` attribute indicates that the caller may rely on
+    convergent behavior within the callee.  Unless it can be proved that the
+    callee does not transitively invoke an intrinsically convergent operation,
+    a convergent callee must not be made control-dependent on any additional
+    values.
+
 ``inaccessiblememonly``
     This attribute indicates that the function may only access memory that
     is not accessible by the module being compiled. This is a weaker form


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17012.47356.patch
Type: text/x-patch
Size: 1461 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160209/8753e3c8/attachment.bin>


More information about the llvm-commits mailing list