LLVM 20.0.0git
Namespaces | Macros | Enumerations | Functions
OMPConstants.h File Reference

This file defines constans and helpers used when dealing with OpenMP. More...

#include "llvm/ADT/BitmaskEnum.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Frontend/OpenMP/OMP.h"
#include "llvm/Frontend/OpenMP/OMPKinds.def"
#include "OMPDeviceConstants.h"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::omp
 

Macros

#define ICV_DATA_ENV(Enum, ...)   Enum,
 
#define ICV_DATA_ENV(Enum, ...)    constexpr auto Enum = omp::InternalControlVar::Enum;
 
#define ICV_INIT_VALUE(Enum, Name)   Enum,
 
#define ICV_INIT_VALUE(Enum, Name)    constexpr auto Enum = omp::ICVInitValue::Enum;
 
#define OMP_RTL(Enum, ...)   Enum,
 
#define OMP_RTL(Enum, ...)   constexpr auto Enum = omp::RuntimeFunction::Enum;
 
#define OMP_DEFAULT_KIND(Enum, Str)   Enum,
 
#define OMP_DEFAULT_KIND(Enum, ...)    constexpr auto Enum = omp::DefaultKind::Enum;
 
#define OMP_IDENT_FLAG(Enum, Str, Value)   Enum = Value,
 
#define OMP_IDENT_FLAG(Enum, ...)   constexpr auto Enum = omp::IdentFlag::Enum;
 
#define OMP_KERNEL_ARG_VERSION   3
 
#define OMP_KERNEL_ARG_MIN_VERSION_WITH_DYN_PTR   3
 

Enumerations

enum class  llvm::omp::InternalControlVar { llvm::omp::ICV_DATA_ENV }
 IDs for all Internal Control Variables (ICVs). More...
 
enum class  llvm::omp::ICVInitValue { llvm::omp::ICV_INIT_VALUE }
 
enum class  llvm::omp::RuntimeFunction { llvm::omp::OMP_RTL }
 IDs for all omp runtime library (RTL) functions. More...
 
enum class  llvm::omp::DefaultKind { llvm::omp::OMP_DEFAULT_KIND }
 IDs for the different default kinds. More...
 
enum class  llvm::omp::IdentFlag { llvm::omp::OMP_IDENT_FLAG }
 IDs for all omp runtime library ident_t flag encodings (see their defintion in openmp/runtime/src/kmp.h). More...
 
enum class  llvm::omp::OMPScheduleType {
  llvm::omp::None = 0 , llvm::omp::BaseStaticChunked = 1 , llvm::omp::BaseStatic = 2 , llvm::omp::BaseDynamicChunked = 3 ,
  llvm::omp::BaseGuidedChunked = 4 , llvm::omp::BaseRuntime = 5 , llvm::omp::BaseAuto = 6 , llvm::omp::BaseTrapezoidal = 7 ,
  llvm::omp::BaseGreedy = 8 , llvm::omp::BaseBalanced = 9 , llvm::omp::BaseGuidedIterativeChunked = 10 , llvm::omp::BaseGuidedAnalyticalChunked = 11 ,
  llvm::omp::BaseSteal = 12 , llvm::omp::BaseStaticBalancedChunked = 13 , llvm::omp::BaseGuidedSimd = 14 , llvm::omp::BaseRuntimeSimd = 15 ,
  llvm::omp::BaseDistributeChunked = 27 , llvm::omp::BaseDistribute = 28 , llvm::omp::ModifierUnordered = (1 << 5) , llvm::omp::ModifierOrdered = (1 << 6) ,
  llvm::omp::ModifierNomerge = (1 << 7) , llvm::omp::ModifierMonotonic = (1 << 29) , llvm::omp::ModifierNonmonotonic = (1 << 30) , llvm::omp::OrderingMask = ModifierUnordered | ModifierOrdered | ModifierNomerge ,
  llvm::omp::MonotonicityMask = ModifierMonotonic | ModifierNonmonotonic , llvm::omp::ModifierMask = OrderingMask | MonotonicityMask , llvm::omp::UnorderedStaticChunked = BaseStaticChunked | ModifierUnordered , llvm::omp::UnorderedStatic = BaseStatic | ModifierUnordered ,
  llvm::omp::UnorderedDynamicChunked = BaseDynamicChunked | ModifierUnordered , llvm::omp::UnorderedGuidedChunked = BaseGuidedChunked | ModifierUnordered , llvm::omp::UnorderedRuntime = BaseRuntime | ModifierUnordered , llvm::omp::UnorderedAuto = BaseAuto | ModifierUnordered ,
  llvm::omp::UnorderedTrapezoidal = BaseTrapezoidal | ModifierUnordered , llvm::omp::UnorderedGreedy = BaseGreedy | ModifierUnordered , llvm::omp::UnorderedBalanced = BaseBalanced | ModifierUnordered , llvm::omp::UnorderedGuidedIterativeChunked ,
  llvm::omp::UnorderedGuidedAnalyticalChunked , llvm::omp::UnorderedSteal = BaseSteal | ModifierUnordered , llvm::omp::UnorderedStaticBalancedChunked , llvm::omp::UnorderedGuidedSimd = BaseGuidedSimd | ModifierUnordered ,
  llvm::omp::UnorderedRuntimeSimd = BaseRuntimeSimd | ModifierUnordered , llvm::omp::OrderedStaticChunked = BaseStaticChunked | ModifierOrdered , llvm::omp::OrderedStatic = BaseStatic | ModifierOrdered , llvm::omp::OrderedDynamicChunked = BaseDynamicChunked | ModifierOrdered ,
  llvm::omp::OrderedGuidedChunked = BaseGuidedChunked | ModifierOrdered , llvm::omp::OrderedRuntime = BaseRuntime | ModifierOrdered , llvm::omp::OrderedAuto = BaseAuto | ModifierOrdered , llvm::omp::OrderdTrapezoidal = BaseTrapezoidal | ModifierOrdered ,
  llvm::omp::OrderedDistributeChunked = BaseDistributeChunked | ModifierOrdered , llvm::omp::OrderedDistribute = BaseDistribute | ModifierOrdered , llvm::omp::NomergeUnorderedStaticChunked , llvm::omp::NomergeUnorderedStatic ,
  llvm::omp::NomergeUnorderedDynamicChunked , llvm::omp::NomergeUnorderedGuidedChunked , llvm::omp::NomergeUnorderedRuntime , llvm::omp::NomergeUnorderedAuto = BaseAuto | ModifierUnordered | ModifierNomerge ,
  llvm::omp::NomergeUnorderedTrapezoidal , llvm::omp::NomergeUnorderedGreedy , llvm::omp::NomergeUnorderedBalanced , llvm::omp::NomergeUnorderedGuidedIterativeChunked ,
  llvm::omp::NomergeUnorderedGuidedAnalyticalChunked , llvm::omp::NomergeUnorderedSteal , llvm::omp::NomergeOrderedStaticChunked , llvm::omp::NomergeOrderedStatic = BaseStatic | ModifierOrdered | ModifierNomerge ,
  llvm::omp::NomergeOrderedDynamicChunked , llvm::omp::NomergeOrderedGuidedChunked , llvm::omp::NomergeOrderedRuntime , llvm::omp::NomergeOrderedAuto = BaseAuto | ModifierOrdered | ModifierNomerge ,
  llvm::omp::NomergeOrderedTrapezoidal
}
 
enum class  llvm::omp::OpenMPOffloadMappingFlags : uint64_t {
  llvm::omp::OMP_MAP_NONE = 0x0 , llvm::omp::OMP_MAP_TO = 0x01 , llvm::omp::OMP_MAP_FROM = 0x02 , llvm::omp::OMP_MAP_ALWAYS = 0x04 ,
  llvm::omp::OMP_MAP_DELETE = 0x08 , llvm::omp::OMP_MAP_PTR_AND_OBJ = 0x10 , llvm::omp::OMP_MAP_TARGET_PARAM = 0x20 , llvm::omp::OMP_MAP_RETURN_PARAM = 0x40 ,
  llvm::omp::OMP_MAP_PRIVATE = 0x80 , llvm::omp::OMP_MAP_LITERAL = 0x100 , llvm::omp::OMP_MAP_IMPLICIT = 0x200 , llvm::omp::OMP_MAP_CLOSE = 0x400 ,
  llvm::omp::OMP_MAP_PRESENT = 0x1000 , llvm::omp::OMP_MAP_OMPX_HOLD = 0x2000 , llvm::omp::OMP_MAP_NON_CONTIG = 0x100000000000 , llvm::omp::OMP_MAP_MEMBER_OF = 0xffff000000000000
}
 Values for bit flags used to specify the mapping type for offloading. More...
 
enum  llvm::omp::OpenMPOffloadingReservedDeviceIDs { llvm::omp::OMP_DEVICEID_UNDEF = -1 }
 
enum class  llvm::omp::AddressSpace : unsigned {
  llvm::omp::Generic = 0 , llvm::omp::Global = 1 , llvm::omp::Shared = 3 , llvm::omp::Constant = 4 ,
  llvm::omp::Local = 5
}
 
enum class  llvm::omp::OMPInteropType { llvm::omp::Unknown , llvm::omp::Target , llvm::omp::TargetSync }
 
enum class  llvm::omp::OMPAtomicCompareOp : unsigned { llvm::omp::EQ , llvm::omp::MIN , llvm::omp::MAX }
 Atomic compare operations. Currently OpenMP only supports ==, >, and <. More...
 
enum class  llvm::omp::RTLDependInfoFields { llvm::omp::BaseAddr , llvm::omp::Len , llvm::omp::Flags }
 Fields ids in kmp_depend_info record. More...
 
enum class  llvm::omp::RTLDependenceKindTy {
  llvm::omp::DepUnknown = 0x0 , llvm::omp::DepIn = 0x01 , llvm::omp::DepInOut = 0x3 , llvm::omp::DepMutexInOutSet = 0x4 ,
  llvm::omp::DepInOutSet = 0x8 , llvm::omp::DepOmpAllMem = 0x80
}
 Dependence kind for RTL. More...
 
enum class  llvm::omp::WorksharingLoopType { llvm::omp::ForStaticLoop , llvm::omp::DistributeStaticLoop , llvm::omp::DistributeForStaticLoop }
 A type of worksharing loop construct. More...
 

Functions

 llvm::omp::LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ()
 

Detailed Description

This file defines constans and helpers used when dealing with OpenMP.

Definition in file OMPConstants.h.

Macro Definition Documentation

◆ ICV_DATA_ENV [1/2]

#define ICV_DATA_ENV (   Enum,
  ... 
)    Enum,

Definition at line 31 of file OMPConstants.h.

◆ ICV_DATA_ENV [2/2]

#define ICV_DATA_ENV (   Enum,
  ... 
)     constexpr auto Enum = omp::InternalControlVar::Enum;

Definition at line 31 of file OMPConstants.h.

◆ ICV_INIT_VALUE [1/2]

#define ICV_INIT_VALUE (   Enum,
  Name 
)    Enum,

Definition at line 40 of file OMPConstants.h.

◆ ICV_INIT_VALUE [2/2]

#define ICV_INIT_VALUE (   Enum,
  Name 
)     constexpr auto Enum = omp::ICVInitValue::Enum;

Definition at line 40 of file OMPConstants.h.

◆ OMP_DEFAULT_KIND [1/2]

#define OMP_DEFAULT_KIND (   Enum,
  Str 
)    Enum,

Definition at line 59 of file OMPConstants.h.

◆ OMP_DEFAULT_KIND [2/2]

#define OMP_DEFAULT_KIND (   Enum,
  ... 
)     constexpr auto Enum = omp::DefaultKind::Enum;

Definition at line 59 of file OMPConstants.h.

◆ OMP_IDENT_FLAG [1/2]

#define OMP_IDENT_FLAG (   Enum,
  Str,
  Value 
)    Enum = Value,

Definition at line 71 of file OMPConstants.h.

◆ OMP_IDENT_FLAG [2/2]

#define OMP_IDENT_FLAG (   Enum,
  ... 
)    constexpr auto Enum = omp::IdentFlag::Enum;

Definition at line 71 of file OMPConstants.h.

◆ OMP_KERNEL_ARG_MIN_VERSION_WITH_DYN_PTR

#define OMP_KERNEL_ARG_MIN_VERSION_WITH_DYN_PTR   3

Definition at line 78 of file OMPConstants.h.

◆ OMP_KERNEL_ARG_VERSION

#define OMP_KERNEL_ARG_VERSION   3

Definition at line 75 of file OMPConstants.h.

◆ OMP_RTL [1/2]

#define OMP_RTL (   Enum,
  ... 
)    Enum,

Definition at line 50 of file OMPConstants.h.

◆ OMP_RTL [2/2]

#define OMP_RTL (   Enum,
  ... 
)    constexpr auto Enum = omp::RuntimeFunction::Enum;

Definition at line 50 of file OMPConstants.h.