LLVM: include/llvm/Frontend/OpenMP/OMPConstants.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_FRONTEND_OPENMP_OMPCONSTANTS_H
15#define LLVM_FRONTEND_OPENMP_OMPCONSTANTS_H
16
20
21namespace llvm {
22namespace omp {
24
25
27#define ICV_DATA_ENV(Enum, ...) Enum,
28#include "llvm/Frontend/OpenMP/OMPKinds.def"
29};
30
31#define ICV_DATA_ENV(Enum, ...) \
32 constexpr auto Enum = omp::InternalControlVar::Enum;
33#include "llvm/Frontend/OpenMP/OMPKinds.def"
34
36#define ICV_INIT_VALUE(Enum, Name) Enum,
37#include "llvm/Frontend/OpenMP/OMPKinds.def"
38};
39
40#define ICV_INIT_VALUE(Enum, Name) \
41 constexpr auto Enum = omp::ICVInitValue::Enum;
42#include "llvm/Frontend/OpenMP/OMPKinds.def"
43
44
46#define OMP_RTL(Enum, ...) Enum,
47#include "llvm/Frontend/OpenMP/OMPKinds.def"
48};
49
50#define OMP_RTL(Enum, ...) constexpr auto Enum = omp::RuntimeFunction::Enum;
51#include "llvm/Frontend/OpenMP/OMPKinds.def"
52
53
55#define OMP_DEFAULT_KIND(Enum, Str) Enum,
56#include "llvm/Frontend/OpenMP/OMPKinds.def"
57};
58
59#define OMP_DEFAULT_KIND(Enum, ...) \
60 constexpr auto Enum = omp::DefaultKind::Enum;
61#include "llvm/Frontend/OpenMP/OMPKinds.def"
62
63
64
66#define OMP_IDENT_FLAG(Enum, Str, Value) Enum = Value,
67#include "llvm/Frontend/OpenMP/OMPKinds.def"
69};
70
71#define OMP_IDENT_FLAG(Enum, ...) constexpr auto Enum = omp::IdentFlag::Enum;
72#include "llvm/Frontend/OpenMP/OMPKinds.def"
73
74
75#define OMP_KERNEL_ARG_VERSION 3
76
77
78#define OMP_KERNEL_ARG_MIN_VERSION_WITH_DYN_PTR 3
79
80
81
83
85
86
99
100
104
105
108
109
115
116
120
121
136
141
149
152
176
189
191};
192
193
202
203
205
206
207
209
211
213
215
216
218
219
221
222
224
225
227
228
229
231
232
234
236
238
239
241
242
244
245
246
247
248
249
250
252
253
255
256
257
259
260
263};
264
270
278
279
281
282
284
285
287
288
297
298
307
308}
309
310}
311
313
314#endif
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.
Definition OMPConstants.h:208
@ OMP_MAP_TO
Allocate memory on the device and move data from host to device.
Definition OMPConstants.h:212
@ OMP_MAP_NON_CONTIG
Signal that the runtime library should use args as an array of descriptor_dim pointers and use args_s...
Definition OMPConstants.h:258
@ OMP_MAP_OMPX_HOLD
Definition OMPConstants.h:251
@ OMP_MAP_LITERAL
Pass the element to the device by value.
Definition OMPConstants.h:235
@ OMP_MAP_RETURN_PARAM
Signal that the runtime library has to return the device pointer in the current position for the data...
Definition OMPConstants.h:230
@ OMP_MAP_PTR_AND_OBJ
The element being mapped is a pointer-pointee pair; both the pointer and the pointee should be mapped...
Definition OMPConstants.h:223
@ OMP_MAP_TARGET_PARAM
This flags signals that the base address of an entry should be passed to the target kernel as an argu...
Definition OMPConstants.h:226
@ OMP_MAP_PRESENT
0x800 is reserved for compatibility with XLC.
Definition OMPConstants.h:243
@ OMP_MAP_CLOSE
Close is a hint to the runtime to allocate memory close to the target device.
Definition OMPConstants.h:240
@ OMP_MAP_ATTACH
Definition OMPConstants.h:254
@ OMP_MAP_PRIVATE
This flag signals that the reference being passed is a pointer to private data.
Definition OMPConstants.h:233
@ OMP_MAP_IMPLICIT
Implicit map.
Definition OMPConstants.h:237
@ OMP_MAP_MEMBER_OF
The 16 MSBs of the flags indicate whether the entry is member of some struct/class.
Definition OMPConstants.h:261
@ OMP_MAP_DELETE
Delete the element from the device environment, ignoring the current reference count associated with ...
Definition OMPConstants.h:220
@ OMP_MAP_NONE
No flags.
Definition OMPConstants.h:210
@ OMP_MAP_ALWAYS
Always perform the requested mapping action on the element, even if it was already mapped before.
Definition OMPConstants.h:217
@ OMP_MAP_FROM
Allocate memory on the device and move data from device to host.
Definition OMPConstants.h:214
OpenMPOffloadingReservedDeviceIDs
Definition OMPConstants.h:265
@ OMP_DEVICEID_UNDEF
Device ID if the device was not defined, runtime should get it from environment variables in the spec...
Definition OMPConstants.h:268
IdentFlag
IDs for all omp runtime library ident_t flag encodings (see their defintion in openmp/runtime/src/kmp...
Definition OMPConstants.h:65
RTLDependInfoFields
Fields ids in kmp_depend_info record.
Definition OMPConstants.h:286
@ BaseAddr
Definition OMPConstants.h:286
@ Flags
Definition OMPConstants.h:286
@ Len
Definition OMPConstants.h:286
OMPScheduleType
Definition OMPConstants.h:82
@ ModifierOrdered
Definition OMPConstants.h:111
@ NomergeUnorderedGreedy
Definition OMPConstants.h:166
@ NomergeUnorderedRuntime
Definition OMPConstants.h:161
@ NomergeOrderedAuto
Definition OMPConstants.h:186
@ OrderedGuidedChunked
Definition OMPConstants.h:145
@ ModifierMonotonic
Definition OMPConstants.h:113
@ UnorderedGuidedAnalyticalChunked
Definition OMPConstants.h:133
@ NomergeUnorderedBalanced
Definition OMPConstants.h:168
@ OrderingMask
Definition OMPConstants.h:117
@ BaseTrapezoidal
Definition OMPConstants.h:93
@ UnorderedRuntime
Definition OMPConstants.h:126
@ BaseAuto
Definition OMPConstants.h:92
@ UnorderedGreedy
Definition OMPConstants.h:129
@ UnorderedGuidedIterativeChunked
Definition OMPConstants.h:131
@ BaseBalanced
Definition OMPConstants.h:95
@ BaseStaticBalancedChunked
Definition OMPConstants.h:101
@ NomergeUnorderedTrapezoidal
Definition OMPConstants.h:164
@ OrderedStaticChunked
Definition OMPConstants.h:142
@ NomergeOrderedTrapezoidal
Definition OMPConstants.h:187
@ ModifierMask
Definition OMPConstants.h:119
@ UnorderedRuntimeSimd
Definition OMPConstants.h:140
@ NomergeOrderedStatic
Definition OMPConstants.h:179
@ MonotonicityMask
Definition OMPConstants.h:118
@ NomergeUnorderedSteal
Definition OMPConstants.h:174
@ UnorderedStatic
Definition OMPConstants.h:123
@ BaseGuidedIterativeChunked
Definition OMPConstants.h:96
@ UnorderedGuidedSimd
Definition OMPConstants.h:139
@ None
Definition OMPConstants.h:84
@ NomergeUnorderedGuidedAnalyticalChunked
Definition OMPConstants.h:172
@ NomergeUnorderedAuto
Definition OMPConstants.h:163
@ UnorderedSteal
Definition OMPConstants.h:135
@ NomergeUnorderedStatic
Definition OMPConstants.h:155
@ NomergeUnorderedGuidedIterativeChunked
Definition OMPConstants.h:170
@ NomergeOrderedDynamicChunked
Definition OMPConstants.h:180
@ OrderedAuto
Definition OMPConstants.h:147
@ UnorderedStaticBalancedChunked
Definition OMPConstants.h:137
@ NomergeOrderedStaticChunked
Definition OMPConstants.h:177
@ NomergeOrderedGuidedChunked
Definition OMPConstants.h:182
@ BaseGuidedAnalyticalChunked
Definition OMPConstants.h:97
@ NomergeOrderedRuntime
Definition OMPConstants.h:184
@ OrderedStatic
Definition OMPConstants.h:143
@ BaseDynamicChunked
Definition OMPConstants.h:89
@ BaseDistribute
Definition OMPConstants.h:107
@ BaseGuidedChunked
Definition OMPConstants.h:90
@ UnorderedBalanced
Definition OMPConstants.h:130
@ ModifierUnordered
Definition OMPConstants.h:110
@ OrderedDistributeChunked
Definition OMPConstants.h:150
@ OrderedDynamicChunked
Definition OMPConstants.h:144
@ BaseRuntimeSimd
Definition OMPConstants.h:103
@ BaseSteal
Definition OMPConstants.h:98
@ BaseGreedy
Definition OMPConstants.h:94
@ OrderdTrapezoidal
Definition OMPConstants.h:148
@ NomergeUnorderedStaticChunked
Definition OMPConstants.h:153
@ OrderedDistribute
Definition OMPConstants.h:151
@ ModifierNomerge
Definition OMPConstants.h:112
@ BaseDistributeChunked
Definition OMPConstants.h:106
@ OrderedRuntime
Definition OMPConstants.h:146
@ UnorderedAuto
Definition OMPConstants.h:127
@ BaseGuidedSimd
Definition OMPConstants.h:102
@ UnorderedGuidedChunked
Definition OMPConstants.h:125
@ ModifierNonmonotonic
Definition OMPConstants.h:114
@ UnorderedStaticChunked
Definition OMPConstants.h:122
@ UnorderedTrapezoidal
Definition OMPConstants.h:128
@ UnorderedDynamicChunked
Definition OMPConstants.h:124
@ BaseStatic
Definition OMPConstants.h:88
@ NomergeUnorderedGuidedChunked
Definition OMPConstants.h:159
@ BaseStaticChunked
Definition OMPConstants.h:87
@ NomergeUnorderedDynamicChunked
Definition OMPConstants.h:157
@ BaseRuntime
Definition OMPConstants.h:91
RTLDependenceKindTy
Dependence kind for RTL.
Definition OMPConstants.h:289
@ DepInOut
Definition OMPConstants.h:292
@ DepUnknown
Definition OMPConstants.h:290
@ DepMutexInOutSet
Definition OMPConstants.h:293
@ DepInOutSet
Definition OMPConstants.h:294
@ DepIn
Definition OMPConstants.h:291
@ DepOmpAllMem
Definition OMPConstants.h:295
InternalControlVar
IDs for all Internal Control Variables (ICVs).
Definition OMPConstants.h:26
RuntimeFunction
IDs for all omp runtime library (RTL) functions.
Definition OMPConstants.h:45
ICVInitValue
Definition OMPConstants.h:35
LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()
OMPDynGroupprivateFallbackType
The fallback types for the dyn_groupprivate clause.
Definition OMPConstants.h:194
@ DefaultMem
Allocate from a implementation defined memory space.
Definition OMPConstants.h:200
@ Abort
Abort the execution.
Definition OMPConstants.h:196
@ Null
Return null pointer.
Definition OMPConstants.h:198
AddressSpace
Definition OMPConstants.h:271
@ Global
Definition OMPConstants.h:273
@ Local
Definition OMPConstants.h:276
@ Generic
Definition OMPConstants.h:272
@ Shared
Definition OMPConstants.h:274
@ Constant
Definition OMPConstants.h:275
WorksharingLoopType
A type of worksharing loop construct.
Definition OMPConstants.h:299
@ ForStaticLoop
Definition OMPConstants.h:301
@ DistributeStaticLoop
Definition OMPConstants.h:303
@ DistributeForStaticLoop
Definition OMPConstants.h:305
OMPAtomicCompareOp
Atomic compare operations. Currently OpenMP only supports ==, >, and <.
Definition OMPConstants.h:283
@ MAX
Definition OMPConstants.h:283
@ EQ
Definition OMPConstants.h:283
@ MIN
Definition OMPConstants.h:283
DefaultKind
IDs for the different default kinds.
Definition OMPConstants.h:54
constexpr const char * OmpDefaultMapperName
Definition OMPConstants.h:204
OMPInteropType
Definition OMPConstants.h:280
@ TargetSync
Definition OMPConstants.h:280
@ Unknown
Definition OMPConstants.h:280
@ Target
Definition OMPConstants.h:280
This is an optimization pass for GlobalISel generic memory operations.
@ LLVM_MARK_AS_BITMASK_ENUM