clang  10.0.0git
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
OpenMPKinds.h File Reference

Defines some OpenMP-specific enums and functions. More...

#include "llvm/ADT/StringRef.h"
#include "llvm/Frontend/OpenMP/OMPConstants.h"
#include "clang/Basic/OpenMPKinds.def"
Include dependency graph for OpenMPKinds.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  clang::OpenMPCtxSelectorData< VectorType, ScoreT >
 Struct to store the context selectors info. More...
 
struct  clang::OpenMPScheduleTy
 Scheduling data for loop-based OpenMP directives. More...
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 

Macros

#define OPENMP_CONTEXT_SELECTOR_SET(Name)   OMP_CTX_SET_##Name,
 
#define OPENMP_CONTEXT_SELECTOR(Name)   OMP_CTX_##Name,
 
#define OPENMP_CLAUSE(Name, Class)   OMPC_##Name,
 
#define OPENMP_DEFAULT_KIND(Name)   OMPC_DEFAULT_##Name,
 
#define OPENMP_SCHEDULE_KIND(Name)   OMPC_SCHEDULE_##Name,
 
#define OPENMP_SCHEDULE_MODIFIER(Name)   OMPC_SCHEDULE_MODIFIER_##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_TO_MODIFIER_KIND(Name)   OMPC_TO_MODIFIER_##Name,
 
#define OPENMP_FROM_MODIFIER_KIND(Name)   OMPC_FROM_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_DEVICE_TYPE_KIND(Name)   OMPC_DEVICE_TYPE_##Name,
 
#define OPENMP_LASTPRIVATE_KIND(Name)   OMPC_LASTPRIVATE_##Name,
 

Typedefs

using clang::OpenMPDirectiveKind = llvm::omp::Directive
 OpenMP directives. More...
 

Enumerations

enum  clang::OpenMPContextSelectorSetKind { clang::OMP_CTX_SET_unknown }
 OpenMP context selector sets. More...
 
enum  clang::OpenMPContextSelectorKind { clang::OMP_CTX_unknown }
 OpenMP context selectors. More...
 
enum  clang::OpenMPClauseKind {
  clang::OMPC_threadprivate, clang::OMPC_uniform, clang::OMPC_device_type, clang::OMPC_match,
  clang::OMPC_unknown
}
 OpenMP clauses. More...
 
enum  clang::OpenMPDefaultClauseKind { clang::OMPC_DEFAULT_unknown }
 OpenMP attributes for 'default' clause. More...
 
enum  clang::OpenMPScheduleClauseKind { clang::OMPC_SCHEDULE_unknown }
 OpenMP attributes for 'schedule' clause. More...
 
enum  clang::OpenMPScheduleClauseModifier { clang::OMPC_SCHEDULE_MODIFIER_unknown = OMPC_SCHEDULE_unknown, clang::OMPC_SCHEDULE_MODIFIER_last }
 OpenMP modifiers for 'schedule' clause. More...
 
enum  clang::OpenMPDependClauseKind { clang::OMPC_DEPEND_unknown }
 OpenMP attributes for 'depend' clause. More...
 
enum  clang::OpenMPLinearClauseKind { clang::OMPC_LINEAR_unknown }
 OpenMP attributes for 'linear' clause. More...
 
enum  clang::OpenMPMapClauseKind { clang::OMPC_MAP_unknown }
 OpenMP mapping kind for 'map' clause. More...
 
enum  clang::OpenMPMapModifierKind { clang::OMPC_MAP_MODIFIER_unknown = OMPC_MAP_unknown, clang::OMPC_MAP_MODIFIER_last }
 OpenMP modifier kind for 'map' clause. More...
 
enum  clang::OpenMPToModifierKind { clang::OMPC_TO_MODIFIER_unknown }
 OpenMP modifier kind for 'to' clause. More...
 
enum  clang::OpenMPFromModifierKind { clang::OMPC_FROM_MODIFIER_unknown }
 OpenMP modifier kind for 'from' clause. More...
 
enum  clang::OpenMPDistScheduleClauseKind { clang::OMPC_DIST_SCHEDULE_unknown }
 OpenMP attributes for 'dist_schedule' clause. More...
 
enum  clang::OpenMPDefaultmapClauseKind { clang::OMPC_DEFAULTMAP_unknown }
 OpenMP attributes for 'defaultmap' clause. More...
 
enum  clang::OpenMPDefaultmapClauseModifier { clang::OMPC_DEFAULTMAP_MODIFIER_unknown = OMPC_DEFAULTMAP_unknown, clang::OMPC_DEFAULTMAP_MODIFIER_last }
 OpenMP modifiers for 'defaultmap' clause. More...
 
enum  clang::OpenMPAtomicDefaultMemOrderClauseKind { clang::OMPC_ATOMIC_DEFAULT_MEM_ORDER_unknown }
 OpenMP attributes for 'atomic_default_mem_order' clause. More...
 
enum  clang::OpenMPDeviceType { clang::OMPC_DEVICE_TYPE_unknown }
 OpenMP device type for 'device_type' clause. More...
 
enum  clang::OpenMPLastprivateModifier { clang::OMPC_LASTPRIVATE_unknown }
 OpenMP 'lastprivate' clause modifier. More...
 

Functions

OpenMPContextSelectorSetKind clang::getOpenMPContextSelectorSet (llvm::StringRef Str)
 
llvm::StringRef clang::getOpenMPContextSelectorSetName (OpenMPContextSelectorSetKind Kind)
 
OpenMPContextSelectorKind clang::getOpenMPContextSelector (llvm::StringRef Str)
 
llvm::StringRef clang::getOpenMPContextSelectorName (OpenMPContextSelectorKind Kind)
 
OpenMPClauseKind clang::getOpenMPClauseKind (llvm::StringRef Str)
 
const char * clang::getOpenMPClauseName (OpenMPClauseKind Kind)
 
unsigned clang::getOpenMPSimpleClauseType (OpenMPClauseKind Kind, llvm::StringRef Str)
 
const char * clang::getOpenMPSimpleClauseTypeName (OpenMPClauseKind Kind, unsigned Type)
 
bool clang::isAllowedClauseForDirective (OpenMPDirectiveKind DKind, OpenMPClauseKind CKind, unsigned OpenMPVersion)
 
bool clang::isOpenMPLoopDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a directive with an associated loop construct. More...
 
bool clang::isOpenMPWorksharingDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a worksharing directive. More...
 
bool clang::isOpenMPTaskLoopDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a taskloop directive. More...
 
bool clang::isOpenMPParallelDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a parallel-kind directive. More...
 
bool clang::isOpenMPTargetExecutionDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a target code offload directive. More...
 
bool clang::isOpenMPTargetDataManagementDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a target data offload directive. More...
 
bool clang::isOpenMPNestingTeamsDirective (OpenMPDirectiveKind DKind)
 Checks if the specified composite/combined directive constitutes a teams directive in the outermost nest. More...
 
bool clang::isOpenMPTeamsDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a teams-kind directive. More...
 
bool clang::isOpenMPSimdDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a simd directive. More...
 
bool clang::isOpenMPDistributeDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a distribute directive. More...
 
bool clang::isOpenMPNestingDistributeDirective (OpenMPDirectiveKind DKind)
 Checks if the specified composite/combined directive constitutes a distribute directive in the outermost nest. More...
 
bool clang::isOpenMPPrivate (OpenMPClauseKind Kind)
 Checks if the specified clause is one of private clauses like 'private', 'firstprivate', 'reduction' etc. More...
 
bool clang::isOpenMPThreadPrivate (OpenMPClauseKind Kind)
 Checks if the specified clause is one of threadprivate clauses like 'threadprivate', 'copyin' or 'copyprivate'. More...
 
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. More...
 
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. More...
 
void clang::getOpenMPCaptureRegions (llvm::SmallVectorImpl< OpenMPDirectiveKind > &CaptureRegions, OpenMPDirectiveKind DKind)
 Return the captured regions of an OpenMP directive. More...
 

Detailed Description

Defines some OpenMP-specific enums and functions.

Definition in file OpenMPKinds.h.

Macro Definition Documentation

◆ OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND

#define OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND (   Name)    OMPC_ATOMIC_DEFAULT_MEM_ORDER_##Name,

Definition at line 176 of file OpenMPKinds.h.

◆ OPENMP_CLAUSE

#define OPENMP_CLAUSE (   Name,
  Class 
)    OMPC_##Name,

Definition at line 66 of file OpenMPKinds.h.

◆ OPENMP_CONTEXT_SELECTOR

#define OPENMP_CONTEXT_SELECTOR (   Name)    OMP_CTX_##Name,

Definition at line 31 of file OpenMPKinds.h.

◆ OPENMP_CONTEXT_SELECTOR_SET

#define OPENMP_CONTEXT_SELECTOR_SET (   Name)    OMP_CTX_SET_##Name,

Definition at line 24 of file OpenMPKinds.h.

◆ OPENMP_DEFAULT_KIND

#define OPENMP_DEFAULT_KIND (   Name)    OMPC_DEFAULT_##Name,

Definition at line 78 of file OpenMPKinds.h.

◆ OPENMP_DEFAULTMAP_KIND

#define OPENMP_DEFAULTMAP_KIND (   Name)    OMPC_DEFAULTMAP_##Name,

Definition at line 159 of file OpenMPKinds.h.

◆ OPENMP_DEFAULTMAP_MODIFIER

#define OPENMP_DEFAULTMAP_MODIFIER (   Name)    OMPC_DEFAULTMAP_MODIFIER_##Name,

Definition at line 168 of file OpenMPKinds.h.

◆ OPENMP_DEPEND_KIND

#define OPENMP_DEPEND_KIND (   Name)    OMPC_DEPEND_##Name,

Definition at line 103 of file OpenMPKinds.h.

◆ OPENMP_DEVICE_TYPE_KIND

#define OPENMP_DEVICE_TYPE_KIND (   Name)    OMPC_DEVICE_TYPE_##Name,

Definition at line 184 of file OpenMPKinds.h.

◆ OPENMP_DIST_SCHEDULE_KIND

#define OPENMP_DIST_SCHEDULE_KIND (   Name)    OMPC_DIST_SCHEDULE_##Name,

Definition at line 152 of file OpenMPKinds.h.

◆ OPENMP_FROM_MODIFIER_KIND

#define OPENMP_FROM_MODIFIER_KIND (   Name)    OMPC_FROM_MODIFIER_##Name,

Definition at line 144 of file OpenMPKinds.h.

◆ OPENMP_LASTPRIVATE_KIND

#define OPENMP_LASTPRIVATE_KIND (   Name)    OMPC_LASTPRIVATE_##Name,

Definition at line 192 of file OpenMPKinds.h.

◆ OPENMP_LINEAR_KIND

#define OPENMP_LINEAR_KIND (   Name)    OMPC_LINEAR_##Name,

Definition at line 111 of file OpenMPKinds.h.

◆ OPENMP_MAP_KIND

#define OPENMP_MAP_KIND (   Name)    OMPC_MAP_##Name,

Definition at line 119 of file OpenMPKinds.h.

◆ OPENMP_MAP_MODIFIER_KIND

#define OPENMP_MAP_MODIFIER_KIND (   Name)    OMPC_MAP_MODIFIER_##Name,

Definition at line 128 of file OpenMPKinds.h.

◆ OPENMP_SCHEDULE_KIND

#define OPENMP_SCHEDULE_KIND (   Name)    OMPC_SCHEDULE_##Name,

Definition at line 86 of file OpenMPKinds.h.

◆ OPENMP_SCHEDULE_MODIFIER

#define OPENMP_SCHEDULE_MODIFIER (   Name)    OMPC_SCHEDULE_MODIFIER_##Name,

Definition at line 95 of file OpenMPKinds.h.

◆ OPENMP_TO_MODIFIER_KIND

#define OPENMP_TO_MODIFIER_KIND (   Name)    OMPC_TO_MODIFIER_##Name,

Definition at line 136 of file OpenMPKinds.h.