14 #ifndef LLVM_CLANG_BASIC_OPENMPKINDS_H 15 #define LLVM_CLANG_BASIC_OPENMPKINDS_H 17 #include "llvm/ADT/StringRef.h" 23 #define OPENMP_DIRECTIVE(Name) \ 25 #define OPENMP_DIRECTIVE_EXT(Name, Str) \ 27 #include "clang/Basic/OpenMPKinds.def" 33 #define OPENMP_CLAUSE(Name, Class) \ 35 #include "clang/Basic/OpenMPKinds.def" 43 #define OPENMP_DEFAULT_KIND(Name) \ 45 #include "clang/Basic/OpenMPKinds.def" 51 #define OPENMP_PROC_BIND_KIND(Name) \ 52 OMPC_PROC_BIND_##Name, 53 #include "clang/Basic/OpenMPKinds.def" 59 #define OPENMP_SCHEDULE_KIND(Name) \ 61 #include "clang/Basic/OpenMPKinds.def" 68 #define OPENMP_SCHEDULE_MODIFIER(Name) \ 69 OMPC_SCHEDULE_MODIFIER_##Name, 70 #include "clang/Basic/OpenMPKinds.def" 76 #define OPENMP_DEPEND_KIND(Name) \ 78 #include "clang/Basic/OpenMPKinds.def" 84 #define OPENMP_LINEAR_KIND(Name) \ 86 #include "clang/Basic/OpenMPKinds.def" 92 #define OPENMP_MAP_KIND(Name) \ 94 #include "clang/Basic/OpenMPKinds.def" 101 #define OPENMP_MAP_MODIFIER_KIND(Name) \ 102 OMPC_MAP_MODIFIER_##Name, 103 #include "clang/Basic/OpenMPKinds.def" 109 #define OPENMP_TO_MODIFIER_KIND(Name) \ 110 OMPC_TO_MODIFIER_##Name, 111 #include "clang/Basic/OpenMPKinds.def" 117 #define OPENMP_FROM_MODIFIER_KIND(Name) \ 118 OMPC_FROM_MODIFIER_##Name, 119 #include "clang/Basic/OpenMPKinds.def" 125 #define OPENMP_DIST_SCHEDULE_KIND(Name) OMPC_DIST_SCHEDULE_##Name, 126 #include "clang/Basic/OpenMPKinds.def" 132 #define OPENMP_DEFAULTMAP_KIND(Name) \ 133 OMPC_DEFAULTMAP_##Name, 134 #include "clang/Basic/OpenMPKinds.def" 141 #define OPENMP_DEFAULTMAP_MODIFIER(Name) \ 142 OMPC_DEFAULTMAP_MODIFIER_##Name, 143 #include "clang/Basic/OpenMPKinds.def" 149 #define OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND(Name) \ 150 OMPC_ATOMIC_DEFAULT_MEM_ORDER_##Name, 151 #include "clang/Basic/OpenMPKinds.def" OpenMPFromModifierKind
OpenMP modifier kind for 'from' clause.
Scheduling data for loop-based OpenMP directives.
OpenMPDefaultmapClauseKind
OpenMP attributes for 'defaultmap' clause.
bool isOpenMPNestingDistributeDirective(OpenMPDirectiveKind DKind)
Checks if the specified composite/combined directive constitutes a distribute directive in the outerm...
bool isOpenMPTargetDataManagementDirective(OpenMPDirectiveKind DKind)
Checks if the specified directive is a target data offload directive.
The base class of the type hierarchy.
const char * getOpenMPSimpleClauseTypeName(OpenMPClauseKind Kind, unsigned Type)
bool isAllowedClauseForDirective(OpenMPDirectiveKind DKind, OpenMPClauseKind CKind)
OpenMPDefaultmapClauseModifier
OpenMP modifiers for 'defaultmap' clause.
OpenMPMapModifierKind
OpenMP modifier kind for 'map' clause.
const char * getOpenMPClauseName(OpenMPClauseKind Kind)
bool isOpenMPTaskingDirective(OpenMPDirectiveKind Kind)
Checks if the specified directive kind is one of tasking directives - task, taskloop or taksloop simd...
OpenMPLinearClauseKind
OpenMP attributes for 'linear' clause.
OpenMPDistScheduleClauseKind
OpenMP attributes for 'dist_schedule' clause.
OpenMPScheduleClauseKind Schedule
bool isOpenMPTeamsDirective(OpenMPDirectiveKind DKind)
Checks if the specified directive is a teams-kind directive.
OpenMPScheduleClauseModifier M2
OpenMPClauseKind getOpenMPClauseKind(llvm::StringRef Str)
bool isOpenMPTargetExecutionDirective(OpenMPDirectiveKind DKind)
Checks if the specified directive is a target code offload directive.
bool isOpenMPWorksharingDirective(OpenMPDirectiveKind DKind)
Checks if the specified directive is a worksharing directive.
bool isOpenMPPrivate(OpenMPClauseKind Kind)
Checks if the specified clause is one of private clauses like 'private', 'firstprivate', 'reduction' etc.
bool isOpenMPParallelDirective(OpenMPDirectiveKind DKind)
Checks if the specified directive is a parallel-kind directive.
OpenMPClauseKind
OpenMP clauses.
bool isOpenMPTaskLoopDirective(OpenMPDirectiveKind DKind)
Checks if the specified directive is a taskloop directive.
OpenMPProcBindClauseKind
OpenMP attributes for 'proc_bind' clause.
OpenMPDependClauseKind
OpenMP attributes for 'depend' clause.
OpenMPDirectiveKind
OpenMP directives.
bool isOpenMPLoopBoundSharingDirective(OpenMPDirectiveKind Kind)
Checks if the specified directive kind is one of the composite or combined directives that need loop ...
OpenMPScheduleClauseModifier
OpenMP modifiers for 'schedule' clause.
Dataflow Directional Tag Classes.
OpenMPAtomicDefaultMemOrderClauseKind
OpenMP attributes for 'atomic_default_mem_order' clause.
OpenMPScheduleClauseModifier M1
bool isOpenMPSimdDirective(OpenMPDirectiveKind DKind)
Checks if the specified directive is a simd directive.
bool isOpenMPThreadPrivate(OpenMPClauseKind Kind)
Checks if the specified clause is one of threadprivate clauses like 'threadprivate', 'copyin' or 'copyprivate'.
OpenMPToModifierKind
OpenMP modifier kind for 'to' clause.
void getOpenMPCaptureRegions(llvm::SmallVectorImpl< OpenMPDirectiveKind > &CaptureRegions, OpenMPDirectiveKind DKind)
Return the captured regions of an OpenMP directive.
unsigned getOpenMPSimpleClauseType(OpenMPClauseKind Kind, llvm::StringRef Str)
bool isOpenMPDistributeDirective(OpenMPDirectiveKind DKind)
Checks if the specified directive is a distribute directive.
OpenMPScheduleClauseKind
OpenMP attributes for 'schedule' clause.
OpenMPDefaultClauseKind
OpenMP attributes for 'default' clause.
OpenMPDirectiveKind getOpenMPDirectiveKind(llvm::StringRef Str)
const char * getOpenMPDirectiveName(OpenMPDirectiveKind Kind)
OpenMPMapClauseKind
OpenMP mapping kind for 'map' clause.
bool isOpenMPLoopDirective(OpenMPDirectiveKind DKind)
Checks if the specified directive is a directive with an associated loop construct.
bool isOpenMPNestingTeamsDirective(OpenMPDirectiveKind DKind)
Checks if the specified composite/combined directive constitutes a teams directive in the outermost n...