[clang] [clang][CUDA] Add 'noconvergent' function and statement attribute (PR #100637)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 29 10:24:54 PDT 2024
================
@@ -1357,11 +1357,10 @@ of the condition.
def ConvergentDocs : Documentation {
let Category = DocCatFunction;
let Content = [{
-The ``convergent`` attribute can be placed on a function declaration or a
-statement containing call expressions. It is translated into the LLVM
-``convergent`` attribute, which indicates that the call instructions of a
-function with this attribute cannot be made control-dependent on any additional
-values.
+The ``convergent`` attribute can be placed on a function declaration. It is
+translated into the LLVM ``convergent`` attribute, which indicates that the call
+instructions of a function with this attribute cannot be made control-dependent
+on any additional values.
----------------
darkbuck wrote:
> Maybe should just deprecate this, since it's kind of useless
For languages other that CUDA/HIP, OpenCL, and etc., this attribute may still be helpful to mark functions convergent to restrict code motion to control-equivalent blocks. However, that restriction may not be necessary for those languages.
https://github.com/llvm/llvm-project/pull/100637
More information about the cfe-commits
mailing list