Nathan =?utf-8?q?Gauër?= <brio...@google.com>,
Nathan =?utf-8?q?Gauër?= <brio...@google.com>,
Nathan =?utf-8?q?Gauër?= <brio...@google.com>,
Nathan =?utf-8?q?Gauër?= <brio...@google.com>,
Nathan =?utf-8?q?Gauër?= <brio...@google.com>,
Nathan =?utf-8?q?Gauër?= <brio...@google.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/80...@github.com>


================
@@ -1295,11 +1295,13 @@ double4 trunc(double4);
 /// true, across all active lanes in the current wave.
 _HLSL_AVAILABILITY(shadermodel, 6.0)
 _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_count_bits)
+__attribute__((convergent))
----------------
arsenm wrote:

For today you just have to put convergent on every function, you're just stuck 
with the crappy IR design decisions we have now. The noconvergent patch cleans 
this up to be a less bug prone state consistent with all the other optimization 
attributes, this doesn't need to wait for that. You just have to follow along 
with OpenCL/HIP/CUDA/OpenMP and say yes for 
LangOpts.assumeFunctionsAreConvergent

https://github.com/llvm/llvm-project/pull/80680
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to