[llvm] [flang][OpenMP] Mark atomic clauses as unique (PR #137460)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Apr 26 06:43:10 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-flang-openmp
Author: Krzysztof Parzyszek (kparzysz)
<details>
<summary>Changes</summary>
The current implementation of the ATOMIC construct handles these clauses individually, and this change does not have an observable effect. At the same time these clauses are unique as per the OpenMP spec, and this patch reflects that in the OMP.td file.
---
Full diff: https://github.com/llvm/llvm-project/pull/137460.diff
1 Files Affected:
- (modified) llvm/include/llvm/Frontend/OpenMP/OMP.td (+6-8)
``````````diff
diff --git a/llvm/include/llvm/Frontend/OpenMP/OMP.td b/llvm/include/llvm/Frontend/OpenMP/OMP.td
index eff6d57995d2b..cdfd3e3223fa8 100644
--- a/llvm/include/llvm/Frontend/OpenMP/OMP.td
+++ b/llvm/include/llvm/Frontend/OpenMP/OMP.td
@@ -602,22 +602,20 @@ def OMP_Assume : Directive<"assume"> {
];
}
def OMP_Atomic : Directive<"atomic"> {
- let allowedClauses = [
- VersionedClause<OMPC_Capture>,
- VersionedClause<OMPC_Compare, 51>,
- VersionedClause<OMPC_Read>,
- VersionedClause<OMPC_Update>,
- VersionedClause<OMPC_Write>,
- ];
let allowedOnceClauses = [
VersionedClause<OMPC_AcqRel, 50>,
VersionedClause<OMPC_Acquire, 50>,
+ VersionedClause<OMPC_Capture>,
+ VersionedClause<OMPC_Compare, 51>,
VersionedClause<OMPC_Fail, 51>,
VersionedClause<OMPC_Hint, 50>,
+ VersionedClause<OMPC_Read>,
VersionedClause<OMPC_Relaxed, 50>,
VersionedClause<OMPC_Release, 50>,
VersionedClause<OMPC_SeqCst>,
+ VersionedClause<OMPC_Update>,
VersionedClause<OMPC_Weak, 51>,
+ VersionedClause<OMPC_Write>,
];
let association = AS_Block;
let category = CA_Executable;
@@ -668,7 +666,7 @@ def OMP_CancellationPoint : Directive<"cancellation point"> {
let category = CA_Executable;
}
def OMP_Critical : Directive<"critical"> {
- let allowedClauses = [
+ let allowedOnceClauses = [
VersionedClause<OMPC_Hint>,
];
let association = AS_Block;
``````````
</details>
https://github.com/llvm/llvm-project/pull/137460
More information about the llvm-commits
mailing list