[llvm] [LoopUnroll] Allow runtime unroll with remainder for uniform trip count in convergent loops (PR #192819)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri May 1 03:13:55 PDT 2026


================
@@ -757,6 +758,19 @@ static bool hasRuntimeUnrollDisablePragma(const Loop *L) {
   return getUnrollMetadataForLoop(L, "llvm.loop.unroll.runtime.disable");
 }
 
+/// Returns true if the SCEV expression is uniform, i.e., all threads in a
+/// convergent execution agree on its value. Recursively checks operands.
+static bool isSCEVUniform(const SCEV *S, UniformityInfo &UI) {
----------------
arsenm wrote:

> Out of curiosity, what other notions of uniformity exist in LLVM?

Uniform across a SIMD vector 

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


More information about the llvm-commits mailing list