This patch changes the syntax of omp.atomic.update to allow the other
dialects to modify the variable with appropriate operations in the
region.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td | ||
---|---|---|
347–348 | So this just dropped the type-match requirement for WsLoop and ReductionDeclare, hopefully only in documentation. In this case, the very least you could do is to move this documentation into that of the other ops that care. Or add "except for AtomicUpdate where it must match <...>" to this, but don't just drop important information on the floor. | |
672–675 | Nit: I see that it was already there, but I would avoid such an non-specific reference to the standard. It's unclear which version of the standard this refers to, and there is no indication to anything more concrete than "the standard" that is hundreds of pages long. It is also subject to change. | |
mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp | ||
1569 | Nit: the "pointer to region argument" is confusing. Consider something like "the type of the operand must be a pointer type whose element type is the same as that of the region argument", maybe you can find something more concise. |
mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp | ||
---|---|---|
1567 | There doesn't seem to be a check for the region to have at least one argument, so getArgument(0) may assert. |
mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp | ||
---|---|---|
1568 | Could we have a test for this? It can be written using the generic syntax. |
So this just dropped the type-match requirement for WsLoop and ReductionDeclare, hopefully only in documentation. In this case, the very least you could do is to move this documentation into that of the other ops that care. Or add "except for AtomicUpdate where it must match <...>" to this, but don't just drop important information on the floor.