[PATCH] D150976: [LangRef] Document the de facto meaning of convergent

Justin Lebar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 30 08:41:15 PDT 2023


jlebar accepted this revision.
jlebar added inline comments.


================
Comment at: llvm/docs/LangRef.rst:1749
 ``convergent``
-    In some parallel execution models, there exist operations that cannot be
-    made control-dependent on any additional values.  We call such operations
-    ``convergent``, and mark them with this attribute.
+    In some parallel execution models, there exist operations that implicitly
+    depend on the set of values upon which they are control-dependent.  We call
----------------
foad wrote:
> I found it hard to word this. Suggestions welcome!
(GPT-4 sometimes gives reasonable rewording suggestions.)


================
Comment at: llvm/docs/LangRef.rst:1750
+    In some parallel execution models, there exist operations that implicitly
+    depend on the set of values upon which they are control-dependent.  We call
+    such operations ``convergent``, and mark them with this attribute.
----------------
Do they depend on the *values*, or do they depend on the branch [taken/not-taken]ness?


================
Comment at: llvm/docs/LangRef.rst:1758
+    ``convergent``, so calls to this intrinsic cannot be made control-dependent
+    on additional values.
 
----------------
presumably you want to change this part ("on additional")


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D150976/new/

https://reviews.llvm.org/D150976



More information about the llvm-commits mailing list