[Frontend][OpenMP] Move isPrivatizingClause to OMP.h, NFC (#148644)

This commit is contained in:
Krzysztof Parzyszek 2025-07-15 09:00:15 -05:00 committed by GitHub
parent d26106dbf0
commit face93e724
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 17 deletions

View File

@ -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);
});
});

View File

@ -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();