[clang] [clang][CUDA] Add 'noconvergent' function and statement attribute (PR #100637)

Matt Arsenault via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 29 09:35:18 PDT 2024


================
@@ -1380,10 +1379,31 @@ Sample usage:
   // Setting it as a C++11 attribute is also valid in a C++ program.
   // void convfunc(void) [[clang::convergent]];
 
-  int f() {
-    [[clang::convergent]] foo(arg);
-    // The call to 'foo' has attribute 'convergent'.
+  }];
+}
+
+def NoConvergentDocs : Documentation {
+  let Category = DocCatFunction;
+  let Content = [{
+The ``noconvergent`` attribute removes the LLVM ``convergent`` attribute if
+present. If a statement is marked ``noconvergent`` and contains calls,
+``convergent`` attributes on those calls are removed as well.
----------------
arsenm wrote:

This is describing an implementation detail, which doesn't belong in the user facing documentation 

https://github.com/llvm/llvm-project/pull/100637


More information about the cfe-commits mailing list