[flang-commits] [flang] [flang][OpenMP] `do concurrent`: support `local` on device (PR #157638)

Pranav Bhandarkar via flang-commits flang-commits at lists.llvm.org
Mon Sep 22 08:15:50 PDT 2025


================
@@ -817,6 +800,59 @@ class DoConcurrentConversion
     return distOp;
   }
 
+  void cloneFIRRegionToOMP(mlir::ConversionPatternRewriter &rewriter,
+                           mlir::Region &firRegion,
+                           mlir::Region &ompRegion) const {
+    if (!firRegion.empty()) {
+      rewriter.cloneRegionBefore(firRegion, ompRegion, ompRegion.begin());
+      auto firYield =
+          mlir::cast<fir::YieldOp>(ompRegion.back().getTerminator());
+      rewriter.setInsertionPoint(firYield);
+      mlir::omp::YieldOp::create(rewriter, firYield.getLoc(),
+                                 firYield.getOperands());
+      rewriter.eraseOp(firYield);
+    }
+  }
+
+  void genPrivatizers(mlir::ConversionPatternRewriter &rewriter,
----------------
bhandarkar-pranav wrote:

Thank you, looks good. Just one (Ultra) nit - Is FIR privatizer the right term or should it be FIR localizer?

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


More information about the flang-commits mailing list