[Mlir-commits] [llvm] [mlir] [MLIR][OpenMP] Add Taskloop Collapse Support (PR #175924)

Jack Styles llvmlistbot at llvm.org
Wed Jan 14 09:13:21 PST 2026


================
@@ -2797,6 +2789,22 @@ convertOmpTaskloopOp(Operation &opInst, llvm::IRBuilderBase &builder,
     return loopInfo;
   };
 
+  llvm::Value *ubVal = builder.getInt32(1);
+  Operation::operand_range lowerBounds = loopOp.getLoopLowerBounds();
+  Operation::operand_range upperBounds = loopOp.getLoopUpperBounds();
+  if (loopOp.getCollapseNumLoops() > 1) {
+    for (uint64_t i = 0; i < loopOp.getCollapseNumLoops(); i++) {
+      ubVal = builder.CreateMul(
+          ubVal,
+          builder.CreateSub(
+              moduleTranslation.lookupValue(upperBounds[i]),
+              builder.CreateSub(moduleTranslation.lookupValue(lowerBounds[i]),
+                                builder.getInt32(1))));
----------------
Stylie777 wrote:

Done

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


More information about the Mlir-commits mailing list