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.
This is an important base class in LLVM.
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.
This is an optimization pass for GlobalISel generic memory operations.
@ LLVM_MARK_AS_BITMASK_ENUM