This patch removes the constraint of the interop directive where only a single
depend clause was allowed.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
clang/lib/CodeGen/CGStmtOpenMP.cpp | ||
---|---|---|
6985 | Not sure if this is useful here. But, at least in the generated IR it won't remove duplicate depend clauses. If anybody can comment on this, that would be great. |
clang/lib/CodeGen/CGStmtOpenMP.cpp | ||
---|---|---|
6985 | Not required here |
clang/lib/CodeGen/CGStmtOpenMP.cpp | ||
---|---|---|
6985 | Thank you! Will be removed. |
As far as I can tell, no.
This *should* already be covered by Ndeps + DepList from __tgt_interop_init's signature:
__tgt_interop_init(ident_t *LocRef, kmp_int32 Gtid, [...], kmp_int32 Ndeps, kmp_depend_info_t *DepList, kmp_int32 HaveNowait)
Which is very similar to the signature of __kmpc_omp_taskwait_deps_51 -- which also uses the result of buildDependences:
__kmpc_omp_taskwait_deps_51(ident_t *loc_ref, kmp_int32 gtid, kmp_int32 ndeps, kmp_depend_info_t *dep_list, [...], kmp_int32 has_no_wait);
I guess the naming should be improved, changed that to DependenceList.
And I did not set the HasNowaitClause correctly, will update immediately.
Fixed HasNowaitClause always set to zero
Renamed corresponding variable to DependenceList, to better reflect its meaning.
Not sure if this is useful here.
Saw this RunCleanupsScope in conjunction with the emission of dependences + calls.
But, at least in the generated IR it won't remove duplicate depend clauses.
If anybody can comment on this, that would be great.
Otherwise, I'd tend to remove it.