[flang-commits] [flang] [flang][OpenMP] `do concurrent`: support `local` on device (PR #157638)
Kareem Ergawy via flang-commits
flang-commits at lists.llvm.org
Sat Sep 20 23:33:18 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,
----------------
ergawy wrote:
Done. Let me know if it could be expanded more.
https://github.com/llvm/llvm-project/pull/157638
More information about the flang-commits
mailing list