[PATCH] D94087: [flang][openmp]At most one threads, simd and depend clause can appear on OpenMP ORDERED construct.
Valentin Clement via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 5 12:44:29 PST 2021
clementval added inline comments.
================
Comment at: flang/test/Semantics/omp-clause-validity01.f90:489
+ !ERROR: At most one DEPEND clause can appear on the ORDERED directive
+ !$omp ordered depend(source) depend(source)
+ !ERROR: At most one THREADS clause can appear on the ORDERED directive
----------------
kiranchandramohan wrote:
> Will this catch two or more depend(sink: v) clauses accidentally?
> ```
> At most one depend(source) clause can appear on an ordered construct.
> ```
>
> Can threads, simd occur with depend? Is that handled by the parser?
According to the standard multiple `depend(sink: vec)` are allowed so you will need to make a specific check for the depend clause since the general allowedOnce check does not support this.
@kiranchandramohan With the current patch `threads`, `simd` and `depend` are allowed together. The parser is not limiting clauses.
================
Comment at: llvm/include/llvm/Frontend/OpenMP/OMP.td:461
VersionedClause<OMPC_Simd>,
VersionedClause<OMPC_Depend>
];
----------------
`OMPC_Depend` should probably be in `allowedClauses` and specific check done in `check-omp-structure` for the difference between `depend(source)` and `depend(sink:vec)`
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94087/new/
https://reviews.llvm.org/D94087
More information about the llvm-commits
mailing list