[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