summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <Krzysztof.Parzyszek@amd.com>2025-07-15 09:00:15 -0500
committerTobias Hieta <tobias@hieta.se>2025-07-16 16:17:00 +0200
commita0895b4581bac8634596263b42d49c7f2e2d957f (patch)
tree4a6fec79a526592e27bf8ff250269029ecfb4f81
parent7d803c868ab96dabbd4cb47d0b3e60a78057e1b0 (diff)
[Frontend][OpenMP] Move isPrivatizingClause to OMP.h, NFC (#148644)
-rw-r--r--llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h18
-rw-r--r--llvm/include/llvm/Frontend/OpenMP/OMP.h16
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 cdc80c88b742..611bfe3f8ace 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 35dafc6d246f..d44c33301bde 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();