[clang] [llvm] [clang][OpenMP] Add no-loop SPMD kernel promotion (PR #224041)

Dhruva Chakrabarti via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 28 22:50:35 PDT 2026


================
@@ -66,6 +66,15 @@ static bool canEmitGPUFusedDistSchedule(const CodeGenModule &CGM,
          !S.getSingleClause<OMPOrderedClause>();
 }
 
+static bool canEmitGPUNoLoopKernel(CodeGenModule &CGM,
----------------
dhruvachak wrote:

This PR needs to stand on its own. While I agree that it will run correctly, I don't like the inconsistency where execution mode is NO_LOOP but the body is SPMD. Please have a shared helper in this patch and then https://github.com/llvm/llvm-project/pull/224650 can build on top of this one. Similarly, this patch needs test cases for all the negative clauses where NO_LOOP promotion is blocked, e.g. collapse, schedule, dist_schedule, lastprivate, linear, etc. Some of them already exist in the latter patch that you can just move here.

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


More information about the llvm-commits mailing list