[flang-commits] [flang] [flang][Lower] Add lowering to SYNC ALL, SYNC MEMORY and SYNC IMAGES to PRIF (PR #154166)
Jean-Didier PAILLEUX via flang-commits
flang-commits at lists.llvm.org
Sun Aug 24 12:39:00 PDT 2025
================
@@ -84,3 +102,64 @@ mlir::Value fir::runtime::getThisImage(fir::FirOpBuilder &builder,
builder.create<fir::CallOp>(loc, funcOp, args);
return builder.create<fir::LoadOp>(loc, result);
}
+
+/// Generate call to runtime subroutine prif_sync_all
+void fir::runtime::genSyncAllStatement(fir::FirOpBuilder &builder,
+ mlir::Location loc, mlir::Value stat,
+ mlir::Value errmsg) {
+ mlir::FunctionType ftype =
+ PRIF_FUNCTYPE(PRIF_STAT_TYPE, PRIF_ERRMSG_TYPE, PRIF_ERRMSG_TYPE);
+ mlir::func::FuncOp funcOp =
+ builder.createFunction(loc, PRIFNAME_SUB("sync_all"), ftype);
+
+ auto [errmsgArg, errmsgAllocArg] = genErrmsgPRIF(builder, loc, errmsg);
+ llvm::SmallVector<mlir::Value> args = fir::runtime::createArguments(
+ builder, loc, ftype, stat, errmsgArg, errmsgAllocArg);
+ builder.create<fir::CallOp>(loc, funcOp, args);
----------------
JDPailleux wrote:
Ok, it's good to know, thanks! It’s updated now.
https://github.com/llvm/llvm-project/pull/154166
More information about the flang-commits
mailing list