[clang] [llvm] [clang][HLSL][SPRI-V] Add convergence intrinsics (PR #80680)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 21 02:29:55 PDT 2024
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/80680 at 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:
Convergence requires all transitive callers to also be convergent. No real code is going to do this. The existence of convergence operations means you have a convergent language and must optimize to known-not-convergent
https://github.com/llvm/llvm-project/pull/80680
More information about the cfe-commits
mailing list