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