[Mlir-commits] [mlir] [mlir][OpenACC][OpenMP] Modify atomic capture to allow update/write (PR #167963)

Erich Keane llvmlistbot at llvm.org
Mon Nov 17 08:08:09 PST 2025


erichkeane wrote:

@razvanlupusoru :
I'm actually second guessing the standard here for OpenACC (for the second I decided was update/write).  For example:

`v = x binop= expr` , or `v = x = x binop expr`.

In these cases it isn't clear to me WHICH are the correct `x` and `v` values.

`write` should be `x = expr`.  Anything on the RHS of the elements for the single-op version are clearly `updates`, as they are effectively copy/pasted from there.

However, there is NOTHING that fits the format of `v = expr` for read/write/update.  

There isn't an obvious relationship between the `x` values of the `write` and `update` according to those two.  It would seem silly for it to be:

`x = x binop= expr`.

I ACTUALLY think what is happening here, is that this is a `update/read`, but I was confused, so I think I want to abandon this patch, right? (at least for OpenACC). 

The idea is that the RHS of each of these is properly done, then the result is assigned to `v` (the LHS).

So unless you say otherwise, I think I want to close this?

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


More information about the Mlir-commits mailing list