14#ifndef LLVM_FRONTEND_OPENMP_OMPCONSTANTS_H
15#define LLVM_FRONTEND_OPENMP_OMPCONSTANTS_H
27#define ICV_DATA_ENV(Enum, ...) Enum,
28#include "llvm/Frontend/OpenMP/OMPKinds.def"
31#define ICV_DATA_ENV(Enum, ...) \
32 constexpr auto Enum = omp::InternalControlVar::Enum;
33#include "llvm/Frontend/OpenMP/OMPKinds.def"
36#define ICV_INIT_VALUE(Enum, Name) Enum,
37#include "llvm/Frontend/OpenMP/OMPKinds.def"
40#define ICV_INIT_VALUE(Enum, Name) \
41 constexpr auto Enum = omp::ICVInitValue::Enum;
42#include "llvm/Frontend/OpenMP/OMPKinds.def"
46#define OMP_RTL(Enum, ...) Enum,
47#include "llvm/Frontend/OpenMP/OMPKinds.def"
50#define OMP_RTL(Enum, ...) constexpr auto Enum = omp::RuntimeFunction::Enum;
51#include "llvm/Frontend/OpenMP/OMPKinds.def"
55#define OMP_DEFAULT_KIND(Enum, Str) Enum,
56#include "llvm/Frontend/OpenMP/OMPKinds.def"
59#define OMP_DEFAULT_KIND(Enum, ...) \
60 constexpr auto Enum = omp::DefaultKind::Enum;
61#include "llvm/Frontend/OpenMP/OMPKinds.def"
66#define OMP_IDENT_FLAG(Enum, Str, Value) Enum = Value,
67#include "llvm/Frontend/OpenMP/OMPKinds.def"
71#define OMP_IDENT_FLAG(Enum, ...) constexpr auto Enum = omp::IdentFlag::Enum;
72#include "llvm/Frontend/OpenMP/OMPKinds.def"
75#define OMP_KERNEL_ARG_VERSION 3
78#define OMP_KERNEL_ARG_MIN_VERSION_WITH_DYN_PTR 3
This file defines constans that will be used by both host and device compilation.
OpenMPOffloadMappingFlags
Values for bit flags used to specify the mapping type for offloading.
@ OMP_MAP_TO
Allocate memory on the device and move data from host to device.
@ OMP_MAP_NON_CONTIG
Signal that the runtime library should use args as an array of descriptor_dim pointers and use args_s...
@ OMP_MAP_LITERAL
Pass the element to the device by value.
@ OMP_MAP_RETURN_PARAM
Signal that the runtime library has to return the device pointer in the current position for the data...
@ OMP_MAP_PTR_AND_OBJ
The element being mapped is a pointer-pointee pair; both the pointer and the pointee should be mapped...
@ OMP_MAP_TARGET_PARAM
This flags signals that the base address of an entry should be passed to the target kernel as an argu...
@ OMP_MAP_PRESENT
0x800 is reserved for compatibility with XLC.
@ OMP_MAP_CLOSE
Close is a hint to the runtime to allocate memory close to the target device.
@ OMP_MAP_PRIVATE
This flag signals that the reference being passed is a pointer to private data.
@ OMP_MAP_IMPLICIT
Implicit map.
@ OMP_MAP_MEMBER_OF
The 16 MSBs of the flags indicate whether the entry is member of some struct/class.
@ OMP_MAP_DELETE
Delete the element from the device environment, ignoring the current reference count associated with ...
@ OMP_MAP_ALWAYS
Always perform the requested mapping action on the element, even if it was already mapped before.
@ OMP_MAP_FROM
Allocate memory on the device and move data from device to host.
OpenMPOffloadingReservedDeviceIDs
@ OMP_DEVICEID_UNDEF
Device ID if the device was not defined, runtime should get it from environment variables in the spec...
IdentFlag
IDs for all omp runtime library ident_t flag encodings (see their defintion in openmp/runtime/src/kmp...
RTLDependInfoFields
Fields ids in kmp_depend_info record.
@ NomergeUnorderedRuntime
@ UnorderedGuidedAnalyticalChunked
@ NomergeUnorderedBalanced
@ UnorderedGuidedIterativeChunked
@ BaseStaticBalancedChunked
@ NomergeUnorderedTrapezoidal
@ NomergeOrderedTrapezoidal
@ BaseGuidedIterativeChunked
@ NomergeUnorderedGuidedAnalyticalChunked
@ NomergeUnorderedGuidedIterativeChunked
@ NomergeOrderedDynamicChunked
@ UnorderedStaticBalancedChunked
@ NomergeOrderedStaticChunked
@ NomergeOrderedGuidedChunked
@ BaseGuidedAnalyticalChunked
@ OrderedDistributeChunked
@ NomergeUnorderedStaticChunked
@ UnorderedDynamicChunked
@ NomergeUnorderedGuidedChunked
@ NomergeUnorderedDynamicChunked
RTLDependenceKindTy
Dependence kind for RTL.
InternalControlVar
IDs for all Internal Control Variables (ICVs).
RuntimeFunction
IDs for all omp runtime library (RTL) functions.
LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()
WorksharingLoopType
A type of worksharing loop construct.
@ DistributeForStaticLoop
OMPAtomicCompareOp
Atomic compare operations. Currently OpenMP only supports ==, >, and <.
DefaultKind
IDs for the different default kinds.
constexpr const char * OmpDefaultMapperName
This is an optimization pass for GlobalISel generic memory operations.
@ LLVM_MARK_AS_BITMASK_ENUM