[clang] [llvm] [clang][OpenMP] Add no-loop SPMD kernel promotion (PR #224041)
Nicole Aschenbrenner via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 25 02:07:56 PDT 2026
================
@@ -66,6 +66,15 @@ static bool canEmitGPUFusedDistSchedule(const CodeGenModule &CGM,
!S.getSingleClause<OMPOrderedClause>();
}
+static bool canEmitGPUNoLoopKernel(CodeGenModule &CGM,
----------------
nicebert wrote:
Within this PR a disagreement only means the kernel is launched with one thread per iteration while its body keeps the loop, which still runs correctly. It is cleaned up further up the stack in #224650, which replaces both checks with a single eligibility check that sets the execution mode. The body is then emitted loop-free exactly when the kernel is tagged SPMD_NO_LOOP, so the two can no longer disagree.
https://github.com/llvm/llvm-project/pull/224041
More information about the llvm-commits
mailing list