llvm::omp

OpenMP front-end utilities for representing directives and descriptor metadata.

Namespaces

NameDescription
descriptor Types that describe OpenMP clauses and modifiers by language version.

Types

NameDescription
AssumptionClauseMappingInfo Helper to describe assume clauses.
DirectiveNameParser Parser for OpenMP directive names.
EnumSet A set of enumeration values backed by a fixed-size bitset.
GV Target-specific GPU grid values shared by host RTL, device RTL, and clang.
OMPContext OpenMP context for a source location's active and construct traits.
VariantMatchInfo Variant match information for required traits, scores, and construct nesting.

Type Aliases

NameDescription
ClauseSet Set of OpenMP clause identifiers.
Clauses Set of OpenMP clause identifiers.
DescriptorMap Map from an OpenMP enumeration value to its descriptor.
DirectiveSet Set of OpenMP directive identifiers.
Directives Set of OpenMP directive identifiers.
Kernel Summary of a kernel (=entry point for target offloading).
KernelSet Set of kernels in the module
Modifiers Set of OpenMP modifier identifiers.
Properties Set of OpenMP property identifiers.

Enums

NameDescription
AddressSpace OpenMP target address spaces used in device code generation.
DefaultKind IDs for the different default kinds.
ICVInitValue Initial values that OpenMP Internal Control Variables may take.
IdentFlag IDs for all omp runtime library ident_t flag encodings (see their defintion in openmp/runtime/src/kmp.h).
InternalControlVar IDs for all Internal Control Variables (ICVs).
Modifier IDs for OpenMP clause modifiers used by descriptor tables.
OMPAtomicCompareOp Atomic compare operations. Currently OpenMP only supports ==, >, and <.
OMPDynGroupprivateFallbackType The fallback types for the dyn_groupprivate clause.
OMPInteropType OpenMP interop object kinds, matching interop.h kmp_interop_type_t.
OMPScheduleType Schedule kinds for OpenMP worksharing loops, matching kmp.h sched_type.
OMPTgtExecModeFlags Bit flags describing the execution mode of an OpenMP target kernel.
OpenMPOffloadMappingFlags Values for bit flags used to specify the mapping type for offloading.
OpenMPOffloadingReservedDeviceIDs Reserved device IDs used for OpenMP offloading.
Property IDs for OpenMP clause and modifier properties used by descriptor tables.
RTLDependInfoFields Fields ids in kmp_depend_info record.
RTLDependenceKindTy Dependence kind for RTL.
RuntimeFunction IDs for all omp runtime library (RTL) functions.
TraitProperty IDs for all OpenMP context trait properties (host/gpu/bsc/llvm/...)
TraitSelector IDs for all OpenMP context selector trait (device={kind/isa...}/...).
TraitSet IDs for all OpenMP context selector trait sets (construct/device/...).
WorksharingLoopType A type of worksharing loop construct

Functions

NameDescription
containsOpenMP Helper to determine if M contains OpenMP.
deconstructOpenMPKernelName Deconstruct an OpenMP kernel name into the parent function name and the line number.
getAMDGPUGridValues Return the AMDGPU grid values for the given wavefront size.
getAllAssumeClauseOptions Return a string listing all known assume clause options.
getBestVariantMatchForContext Return the index (into VMIs) of the variant with the highest score from the ones applicable in Ctx. See llvm::isVariantApplicableInContext.
getCompoundConstruct Return the compound directive formed by Parts, or OMPD_unknown.
getDescriptor getDescriptor overloads
getDeviceKernels Get OpenMP device kernels in M.
getLeafConstructs Return the leaf constructs that make up compound directive D.
getLeafConstructsOrSelf Return the leaf constructs of D, or D itself if it is a leaf.
getLeafOrCompositeConstructs Append the leaf and composite constituents of D to Output.
getOpenMPContextTraitPropertyForSelector Return the trait property for a singleton selector Selector.
getOpenMPContextTraitPropertyFullName Return a textual representation of the trait property Kind with selector and set name included.
getOpenMPContextTraitPropertyKind Parse Str and return the trait property it matches in the set Set and selector Selector or TraitProperty::invalid.
getOpenMPContextTraitPropertyName Return a textual representation of the trait property Kind.
getOpenMPContextTraitSelectorForProperty Return the trait selector for which Property is a property.
getOpenMPContextTraitSelectorKind Parse Str and return the trait set it matches or TraitSelector::invalid.
getOpenMPContextTraitSelectorName Return a textual representation of the trait selector Kind.
getOpenMPContextTraitSetForProperty Return the trait set for which Property is a property.
getOpenMPContextTraitSetForSelector Return the trait set for which Selector is a selector.
getOpenMPContextTraitSetKind Parse Str and return the trait set it matches or TraitSet::invalid.
getOpenMPContextTraitSetName Return a textual representation of the trait set Kind.
getOpenMPVersions Return the OpenMP language versions supported by this frontend.
getProperties Return the properties of clause C for OpenMP version Version.
getReservedLocatorNames Return the reserved OpenMP locator names (lowercase).
isCombinedConstruct Return true if D is a combined construct per the OpenMP spec.
isCompositeConstruct Return true if D is a composite construct per the OpenMP spec.
isLeafConstruct Return true if D is a leaf construct (not combined or composite).
isOpenMPDevice Helper to determine if M is a OpenMP target offloading device module.
isOpenMPKernel Return true iff Fn is an OpenMP GPU kernel; Fn has the "kernel" attribute.
isPrivatizingConstruct Can directive D, under some circumstances, create a private copy of a variable in given OpenMP version?
isValidTraitPropertyForTraitSetAndSelector Return true if Property can be nested in Selector and Set.
isValidTraitSelectorForTraitSet Return true if Selector can be nested in Set.
isVariantApplicableInContext Return true if VMI is applicable in OpenMP context Ctx.
listOpenMPContextTraitProperties Return a string listing all trait properties for Set and Selector.
listOpenMPContextTraitSelectors Return a string listing all trait selectors for Set.
listOpenMPContextTraitSets Return a string listing all trait sets.
prettifyFunctionName Create a nicer version of a function name for humans to look at.

Variables

NameDescription
OmpDefaultMapperName Default OpenMP mapper name suffix.

Using Declarations

NameDescription
any Bring bitmask enum any-bits-set test into this namespace for ADL.
operator! Bring bitmask enum logical-not into this namespace for ADL.
operator& Bring bitmask enum bitwise AND into this namespace for ADL.
operator&= Bring bitmask enum in-place AND into this namespace for ADL.
operator<< Bring bitmask enum left-shift into this namespace for ADL.
operator<<= Bring bitmask enum in-place left-shift into this namespace for ADL.
operator>> Bring bitmask enum right-shift into this namespace for ADL.
operator>>= Bring bitmask enum in-place right-shift into this namespace for ADL.
operator^ Bring bitmask enum bitwise XOR into this namespace for ADL.
operator^= Bring bitmask enum in-place XOR into this namespace for ADL.
operator| Bring bitmask enum bitwise OR into this namespace for ADL.
operator|= Bring bitmask enum in-place OR into this namespace for ADL.
operator~ Bring bitmask enum bitwise NOT into this namespace for ADL.