[Mlir-commits] [mlir] [flang][MLIR][OpenMP] Add support for `target update` directive. (PR #75047)
Kareem Ergawy
llvmlistbot at llvm.org
Wed Dec 13 20:43:38 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) {
----------------
ergawy wrote:
> Did you mean to use && instead of & here?
I used `&` to be consistent with the other checks in the same function. I also don't really like it but I didn't want to divert from the surrounding code which uses `|` instead of `||`. For `bool`s both are equivalent.
> Regardless, I think we want to check for negation of exclusive or here so it should be if(to == from) then emit error.
Wouldn't it be better to have separate error messages for each situation? This is the main reason I separated them.
https://github.com/llvm/llvm-project/pull/75047
More information about the Mlir-commits
mailing list