13#ifndef LLVM_FRONTEND_OPENMP_OMPDESCRIPTORS_H
14#define LLVM_FRONTEND_OPENMP_OMPDESCRIPTORS_H
20#define Unassociated None
24#define GEN_OMP_PROPERTY_ENUMS
26#undef GEN_OMP_PROPERTY_ENUMS
30#define GEN_OMP_CLAUSE_GROUP_ENUMS
31#define First_ FirstGroup_
32#define Last_ LastGroup_
36#undef GEN_OMP_CLAUSE_GROUP_ENUMS
38#define GEN_OMP_CLAUSE_SET_ENUMS
39#define First_ FirstSet_
44#undef GEN_OMP_CLAUSE_SET_ENUMS
56#define GEN_OMP_MODIFIER_ENUMS
58#undef GEN_OMP_MODIFIER_ENUMS
62#define GEN_OMP_MODIFIER_GROUP_ENUMS
63#define First_ FirstGroup_
64#define Last_ LastGroup_
68#undef GEN_OMP_MODIFIER_GROUP_ENUMS
70#define GEN_OMP_MODIFIER_SET_ENUMS
71#define First_ FirstSet_
76#undef GEN_OMP_MODIFIER_SET_ENUMS
199template <
typename Enum,
typename DescriptorTy>
static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
This file defines the DenseMap class.
void push_back(const T &Elt)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
Represent a constant reference to a string, i.e.
DenseMap< Version, DetailsTy > DetailsMap
EnumSet< Modifier > Modifiers
LLVM_ABI const descriptor::Clause & getDescriptor(Clause C)
EnumSet< Directive > Directives
constexpr bool isModifierGroup(ModifierSet S)
EnumSet< ClauseSet > ClauseSets
EnumSet< Clause > Clauses
EnumSet< ModifierSet > ModifierSets
LLVM_ABI ArrayRef< Version > getOpenMPVersions()
DenseMap< Enum, DescriptorTy > DescriptorMap
constexpr bool isClauseGroup(ClauseSet S)
LLVM_ABI Properties getProperties(Clause C, Version V)
EnumSet< Property > Properties
constexpr std::underlying_type_t< Enum > to_underlying(Enum E)
Returns underlying integer value of an enum.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.
LLVM_ABI Clauses getClauses(Version V) const
Descriptor< details::ClauseSet > Base
LLVM_ABI Directives getDirectives(Version V) const
LLVM_ABI Properties getProperties(Version V) const
LLVM_ABI Modifiers getModifiers(Version V) const
Descriptor< details::Clause > Base
LLVM_ABI ModifierSets getModifierSets(Version V) const
LLVM_ABI Directives getDirectives(Version V) const
LLVM_ABI Properties getProperties(Version V) const
SmallVector< Version > getVersions() const
const DetailsMap< DetailsTy > & getDetails() const
StringRef getName() const
DetailsMap< DetailsTy > Details
Descriptor(StringRef N, DetailsMap< DetailsTy > &&D)
Descriptor(const Descriptor &)=default
Descriptor(Descriptor &&)=default
LLVM_ABI Association getAssociation(Version V) const
LLVM_ABI Clauses getClauses(Version V) const
LLVM_ABI ClauseSets getClauseSets(Version V) const
LLVM_ABI Properties getProperties(Version V) const
LLVM_ABI Category getCategory(Version V) const
Descriptor< details::Directive > Base
LLVM_ABI Clauses getClauses(Version V) const
Descriptor< details::ModifierSet > Base
LLVM_ABI Modifiers getModifiers(Version V) const
LLVM_ABI Properties getProperties(Version V) const
LLVM_ABI Clauses getClauses(Version V) const
Descriptor< details::Modifier > Base
LLVM_ABI Properties getProperties(Version V) const