[Mlir-commits] [mlir] [flang][MLIR][OpenMP] Add support for `target update` directive. (PR #75047)

Valentin Clement バレンタイン クレメン llvmlistbot at llvm.org
Wed Dec 13 08:47:24 PST 2023


================
@@ -915,6 +925,33 @@ static LogicalResult verifyMapClause(Operation *op, OperandRange mapOperands) {
       if (isa<ExitDataOp>(op) && to)
         return emitError(op->getLoc(),
                          "from, release and delete map types are permitted");
+
+      if (isa<UpdateDataOp>(op)) {
+        if (del) {
+          return emitError(op->getLoc(),
+                           "at least one of to or from map types must be "
+                           "specified, other map types are not permitted");
+        }
+
+        if (to & from) {
+          return emitError(
+              op->getLoc(),
+              "either to or from map types can be specified, not both");
+        }
----------------
clementval wrote:

I think @TIFitis is right. You should check that your motion operands comes from MapInfoOp but I think you can have a mix of to and from. Otherwise, how to you lower smth like `!$omp target update to(a,b,c) from(x,y,z)`

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


More information about the Mlir-commits mailing list