[Mlir-commits] [flang] [mlir] [flang][OpenMP] Lower task reduction modifier (PR #205124)

Tom Eccles llvmlistbot at llvm.org
Tue Jun 23 08:25:16 PDT 2026


================
@@ -4334,6 +4418,19 @@ convertOmpWsloop(Operation &opInst, llvm::IRBuilderBase &builder,
                                reductionVariableMap, isByRef, deferredStores)))
     return failure();
 
+  // For `reduction(task, ...)` open a task-reduction scope for the worksharing
+  // loop. Participating explicit tasks accumulate into the per-thread private
+  // copies, which the worksharing reduction then combines across threads.
+  bool isTaskReductionMod =
+      wsloopOp.getReductionMod() == omp::ReductionModifier::task;
----------------
tblah wrote:

Check that the number of reduction args is greater than 0 as you did for parallel

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


More information about the Mlir-commits mailing list