clang 20.0.0git
|
Defines some OpenMP-specific enums and functions. More...
#include "clang/Basic/LangOptions.h"
#include "llvm/ADT/Sequence.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Frontend/OpenMP/OMPConstants.h"
#include "clang/Basic/OpenMPKinds.def"
Go to the source code of this file.
Classes | |
struct | clang::OpenMPScheduleTy |
Scheduling data for loop-based OpenMP directives. More... | |
struct | clang::OMPInteropInfo |
struct | llvm::enum_iteration_traits< clang::OpenMPDefaultmapClauseKind > |
Namespaces | |
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
Macros | |
#define | OPENMP_SCHEDULE_KIND(Name) OMPC_SCHEDULE_##Name, |
#define | OPENMP_SCHEDULE_MODIFIER(Name) OMPC_SCHEDULE_MODIFIER_##Name, |
#define | OPENMP_DEVICE_MODIFIER(Name) OMPC_DEVICE_##Name, |
#define | OPENMP_DEPEND_KIND(Name) OMPC_DEPEND_##Name, |
#define | OPENMP_LINEAR_KIND(Name) OMPC_LINEAR_##Name, |
#define | OPENMP_MAP_KIND(Name) OMPC_MAP_##Name, |
#define | OPENMP_MAP_MODIFIER_KIND(Name) OMPC_MAP_MODIFIER_##Name, |
#define | OPENMP_MOTION_MODIFIER_KIND(Name) OMPC_MOTION_MODIFIER_##Name, |
#define | OPENMP_DIST_SCHEDULE_KIND(Name) OMPC_DIST_SCHEDULE_##Name, |
#define | OPENMP_DEFAULTMAP_KIND(Name) OMPC_DEFAULTMAP_##Name, |
#define | OPENMP_DEFAULTMAP_MODIFIER(Name) OMPC_DEFAULTMAP_MODIFIER_##Name, |
#define | OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND(Name) OMPC_ATOMIC_DEFAULT_MEM_ORDER_##Name, |
#define | OPENMP_AT_KIND(Name) OMPC_AT_##Name, |
#define | OPENMP_SEVERITY_KIND(Name) OMPC_SEVERITY_##Name, |
#define | OPENMP_DEVICE_TYPE_KIND(Name) OMPC_DEVICE_TYPE_##Name, |
#define | OPENMP_LASTPRIVATE_KIND(Name) OMPC_LASTPRIVATE_##Name, |
#define | OPENMP_ORDER_KIND(Name) OMPC_ORDER_##Name, |
#define | OPENMP_ORDER_MODIFIER(Name) OMPC_ORDER_MODIFIER_##Name, |
#define | OPENMP_REDUCTION_MODIFIER(Name) OMPC_REDUCTION_##Name, |
#define | OPENMP_ADJUST_ARGS_KIND(Name) OMPC_ADJUST_ARGS_##Name, |
#define | OPENMP_BIND_KIND(Name) OMPC_BIND_##Name, |
#define | OPENMP_GRAINSIZE_MODIFIER(Name) OMPC_GRAINSIZE_##Name, |
#define | OPENMP_NUMTASKS_MODIFIER(Name) OMPC_NUMTASKS_##Name, |
#define | OPENMP_DOACROSS_MODIFIER(Name) OMPC_DOACROSS_##Name, |
#define | OPENMP_ALLOCATE_MODIFIER(Name) OMPC_ALLOCATE_##Name, |
Typedefs | |
using | clang::OpenMPDirectiveKind = llvm::omp::Directive |
OpenMP directives. | |
using | clang::OpenMPClauseKind = llvm::omp::Clause |
OpenMP clauses. | |
Functions | |
unsigned | clang::getOpenMPSimpleClauseType (OpenMPClauseKind Kind, llvm::StringRef Str, const LangOptions &LangOpts) |
const char * | clang::getOpenMPSimpleClauseTypeName (OpenMPClauseKind Kind, unsigned Type) |
bool | clang::isOpenMPLoopDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a directive with an associated loop construct. | |
bool | clang::isOpenMPWorksharingDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a worksharing directive. | |
bool | clang::isOpenMPTaskLoopDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a taskloop directive. | |
bool | clang::isOpenMPParallelDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a parallel-kind directive. | |
bool | clang::isOpenMPTargetExecutionDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a target code offload directive. | |
bool | clang::isOpenMPTargetDataManagementDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a target data offload directive. | |
bool | clang::isOpenMPNestingTeamsDirective (OpenMPDirectiveKind DKind) |
Checks if the specified composite/combined directive constitutes a teams directive in the outermost nest. | |
bool | clang::isOpenMPTeamsDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a teams-kind directive. | |
bool | clang::isOpenMPSimdDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a simd directive. | |
bool | clang::isOpenMPDistributeDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a distribute directive. | |
bool | clang::isOpenMPNestingDistributeDirective (OpenMPDirectiveKind DKind) |
Checks if the specified composite/combined directive constitutes a distribute directive in the outermost nest. | |
bool | clang::isOpenMPGenericLoopDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive constitutes a 'loop' directive in the outermost nest. | |
bool | clang::isOpenMPPrivate (OpenMPClauseKind Kind) |
Checks if the specified clause is one of private clauses like 'private', 'firstprivate', 'reduction' etc. | |
bool | clang::isOpenMPThreadPrivate (OpenMPClauseKind Kind) |
Checks if the specified clause is one of threadprivate clauses like 'threadprivate', 'copyin' or 'copyprivate'. | |
bool | clang::isOpenMPTaskingDirective (OpenMPDirectiveKind Kind) |
Checks if the specified directive kind is one of tasking directives - task, taskloop, taksloop simd, master taskloop, parallel master taskloop, master taskloop simd, or parallel master taskloop simd. | |
bool | clang::isOpenMPLoopBoundSharingDirective (OpenMPDirectiveKind Kind) |
Checks if the specified directive kind is one of the composite or combined directives that need loop bound sharing across loops outlined in nested functions. | |
bool | clang::isOpenMPLoopTransformationDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a loop transformation directive. | |
void | clang::getOpenMPCaptureRegions (llvm::SmallVectorImpl< OpenMPDirectiveKind > &CaptureRegions, OpenMPDirectiveKind DKind) |
Return the captured regions of an OpenMP directive. | |
bool | clang::isOpenMPCombinedParallelADirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is a combined construct for which the first construct is a parallel construct. | |
bool | clang::needsTaskBasedThreadLimit (OpenMPDirectiveKind DKind) |
Checks if the specified target directive, combined or not, needs task based thread_limit. | |
bool | clang::checkFailClauseParameter (OpenMPClauseKind FailClauseParameter) |
Checks if the parameter to the fail clause in "#pragma atomic compare fail" is restricted only to memory order clauses of "OMPC_acquire", "OMPC_relaxed" and "OMPC_seq_cst". | |
bool | clang::isOpenMPExecutableDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is considered as "executable". | |
bool | clang::isOpenMPInformationalDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive is considered as "informational". | |
bool | clang::isOpenMPCapturingDirective (OpenMPDirectiveKind DKind) |
Checks if the specified directive can capture variables. | |
Variables | |
static constexpr unsigned | clang::NumberOfOMPMapClauseModifiers |
Number of allowed map-type-modifiers. | |
static constexpr unsigned | clang::NumberOfOMPMotionModifiers |
Number of allowed motion-modifiers. | |
static constexpr unsigned | clang::NumberOfOMPAllocateClauseModifiers |
Number of allowed allocate-modifiers. | |
Defines some OpenMP-specific enums and functions.
Definition in file OpenMPKinds.h.
#define OPENMP_ADJUST_ARGS_KIND | ( | Name | ) | OMPC_ADJUST_ARGS_##Name, |
Definition at line 195 of file OpenMPKinds.h.
#define OPENMP_ALLOCATE_MODIFIER | ( | Name | ) | OMPC_ALLOCATE_##Name, |
Definition at line 228 of file OpenMPKinds.h.
#define OPENMP_AT_KIND | ( | Name | ) | OMPC_AT_##Name, |
Definition at line 137 of file OpenMPKinds.h.
#define OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND | ( | Name | ) | OMPC_ATOMIC_DEFAULT_MEM_ORDER_##Name, |
Definition at line 129 of file OpenMPKinds.h.
#define OPENMP_BIND_KIND | ( | Name | ) | OMPC_BIND_##Name, |
Definition at line 202 of file OpenMPKinds.h.
#define OPENMP_DEFAULTMAP_KIND | ( | Name | ) | OMPC_DEFAULTMAP_##Name, |
Definition at line 112 of file OpenMPKinds.h.
#define OPENMP_DEFAULTMAP_MODIFIER | ( | Name | ) | OMPC_DEFAULTMAP_MODIFIER_##Name, |
Definition at line 121 of file OpenMPKinds.h.
#define OPENMP_DEPEND_KIND | ( | Name | ) | OMPC_DEPEND_##Name, |
Definition at line 56 of file OpenMPKinds.h.
#define OPENMP_DEVICE_MODIFIER | ( | Name | ) | OMPC_DEVICE_##Name, |
Definition at line 49 of file OpenMPKinds.h.
#define OPENMP_DEVICE_TYPE_KIND | ( | Name | ) | OMPC_DEVICE_TYPE_##Name, |
Definition at line 151 of file OpenMPKinds.h.
#define OPENMP_DIST_SCHEDULE_KIND | ( | Name | ) | OMPC_DIST_SCHEDULE_##Name, |
Definition at line 105 of file OpenMPKinds.h.
#define OPENMP_DOACROSS_MODIFIER | ( | Name | ) | OMPC_DOACROSS_##Name, |
Definition at line 221 of file OpenMPKinds.h.
#define OPENMP_GRAINSIZE_MODIFIER | ( | Name | ) | OMPC_GRAINSIZE_##Name, |
Definition at line 208 of file OpenMPKinds.h.
#define OPENMP_LASTPRIVATE_KIND | ( | Name | ) | OMPC_LASTPRIVATE_##Name, |
Definition at line 159 of file OpenMPKinds.h.
#define OPENMP_LINEAR_KIND | ( | Name | ) | OMPC_LINEAR_##Name, |
Definition at line 64 of file OpenMPKinds.h.
#define OPENMP_MAP_KIND | ( | Name | ) | OMPC_MAP_##Name, |
Definition at line 72 of file OpenMPKinds.h.
#define OPENMP_MAP_MODIFIER_KIND | ( | Name | ) | OMPC_MAP_MODIFIER_##Name, |
Definition at line 81 of file OpenMPKinds.h.
#define OPENMP_MOTION_MODIFIER_KIND | ( | Name | ) | OMPC_MOTION_MODIFIER_##Name, |
Definition at line 93 of file OpenMPKinds.h.
#define OPENMP_NUMTASKS_MODIFIER | ( | Name | ) | OMPC_NUMTASKS_##Name, |
Definition at line 214 of file OpenMPKinds.h.
#define OPENMP_ORDER_KIND | ( | Name | ) | OMPC_ORDER_##Name, |
Definition at line 166 of file OpenMPKinds.h.
#define OPENMP_ORDER_MODIFIER | ( | Name | ) | OMPC_ORDER_MODIFIER_##Name, |
Definition at line 174 of file OpenMPKinds.h.
#define OPENMP_REDUCTION_MODIFIER | ( | Name | ) | OMPC_REDUCTION_##Name, |
Definition at line 188 of file OpenMPKinds.h.
#define OPENMP_SCHEDULE_KIND | ( | Name | ) | OMPC_SCHEDULE_##Name, |
Definition at line 32 of file OpenMPKinds.h.
#define OPENMP_SCHEDULE_MODIFIER | ( | Name | ) | OMPC_SCHEDULE_MODIFIER_##Name, |
Definition at line 41 of file OpenMPKinds.h.
#define OPENMP_SEVERITY_KIND | ( | Name | ) | OMPC_SEVERITY_##Name, |
Definition at line 144 of file OpenMPKinds.h.