[flang-commits] [flang] [acc][flang] lowering of acc declare on COMMON variables (PR #163676)
Valentin Clement バレンタイン クレメン via flang-commits
flang-commits at lists.llvm.org
Fri Oct 17 12:28:34 PDT 2025
================
@@ -711,6 +711,83 @@ static void genDataOperandOperations(
}
}
+template <typename GlobalOp, typename EntryOp, typename DeclareOp,
+ typename ExitOp>
+static void createDeclareGlobalOp(mlir::OpBuilder &modBuilder,
+ fir::FirOpBuilder &builder,
+ mlir::Location loc, fir::GlobalOp globalOp,
+ mlir::acc::DataClause clause,
+ const std::string &declareGlobalName,
+ bool implicit, std::stringstream &asFortran) {
+ GlobalOp declareGlobalOp =
+ GlobalOp::create(modBuilder, loc, declareGlobalName);
+ builder.createBlock(&declareGlobalOp.getRegion(),
+ declareGlobalOp.getRegion().end(), {}, {});
+ builder.setInsertionPointToEnd(&declareGlobalOp.getRegion().back());
+
+ fir::AddrOfOp addrOp = fir::AddrOfOp::create(
----------------
clementval wrote:
I think in this file we are using fully qualified names. It's probably not enforced but try to be consistent when possible.
```suggestion
fir::GlobalOp declareGlobalOp =
fir::GlobalOp::create(modBuilder, loc, declareGlobalName);
builder.createBlock(&declareGlobalOp.getRegion(),
declareGlobalOp.getRegion().end(), {}, {});
builder.setInsertionPointToEnd(&declareGlobalOp.getRegion().back());
fir::AddrOfOp addrOp = fir::AddrOfOp::create(
```
https://github.com/llvm/llvm-project/pull/163676
More information about the flang-commits
mailing list