[llvm] [Frontend][OpenMP] Move isPrivatizingClause to OMP.h, NFC (PR #148644)
Krzysztof Parzyszek via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 14 08:07:32 PDT 2025
https://github.com/kparzysz created https://github.com/llvm/llvm-project/pull/148644
None
>From 76b1c6594d1e73f7d4a7011db3247a0c37b51339 Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: Fri, 11 Jul 2025 07:45:34 -0500
Subject: [PATCH] [Frontend][OpenMP] Move isPrivatizingClause to OMP.h, NFC
---
.../Frontend/OpenMP/ConstructDecompositionT.h | 18 +-----------------
llvm/include/llvm/Frontend/OpenMP/OMP.h | 16 ++++++++++++++++
2 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h b/llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
index cdc80c88b7425..611bfe3f8aced 100644
--- a/llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
+++ b/llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
@@ -795,25 +795,9 @@ bool ConstructDecompositionT<C, H>::applyClause(
// assigned to which leaf constructs.
// [5.2:340:33]
- auto canMakePrivateCopy = [](llvm::omp::Clause id) {
- switch (id) {
- // Clauses with "privatization" property:
- case llvm::omp::Clause::OMPC_firstprivate:
- case llvm::omp::Clause::OMPC_in_reduction:
- case llvm::omp::Clause::OMPC_lastprivate:
- case llvm::omp::Clause::OMPC_linear:
- case llvm::omp::Clause::OMPC_private:
- case llvm::omp::Clause::OMPC_reduction:
- case llvm::omp::Clause::OMPC_task_reduction:
- return true;
- default:
- return false;
- }
- };
-
bool applied = applyIf(node, [&](const auto &leaf) {
return llvm::any_of(leaf.clauses, [&](const ClauseTy *n) {
- return canMakePrivateCopy(n->id);
+ return llvm::omp::isPrivatizingClause(n->id);
});
});
diff --git a/llvm/include/llvm/Frontend/OpenMP/OMP.h b/llvm/include/llvm/Frontend/OpenMP/OMP.h
index 35dafc6d246f0..d44c33301bde7 100644
--- a/llvm/include/llvm/Frontend/OpenMP/OMP.h
+++ b/llvm/include/llvm/Frontend/OpenMP/OMP.h
@@ -48,6 +48,22 @@ static constexpr inline bool canHaveIterator(Clause C) {
}
}
+// Can clause C create a private copy of a variable.
+static constexpr inline bool isPrivatizingClause(Clause C) {
+ switch (C) {
+ case OMPC_firstprivate:
+ case OMPC_in_reduction:
+ case OMPC_lastprivate:
+ case OMPC_linear:
+ case OMPC_private:
+ case OMPC_reduction:
+ case OMPC_task_reduction:
+ return true;
+ default:
+ return false;
+ }
+}
+
static constexpr unsigned FallbackVersion = 52;
LLVM_ABI ArrayRef<unsigned> getOpenMPVersions();
More information about the llvm-commits
mailing list