LLVM 24.0.0git
OMPDescriptors.h File Reference

Go to the source code of this file.

Classes

struct  llvm::omp::descriptor::details::Base
struct  llvm::omp::descriptor::details::Clause
struct  llvm::omp::descriptor::details::ClauseSet
struct  llvm::omp::descriptor::details::Directive
struct  llvm::omp::descriptor::details::Modifier
struct  llvm::omp::descriptor::details::ModifierSet
struct  llvm::omp::descriptor::Descriptor< DetailsTy >
struct  llvm::omp::descriptor::Clause
struct  llvm::omp::descriptor::ClauseSet
struct  llvm::omp::descriptor::Directive
struct  llvm::omp::descriptor::Modifier
struct  llvm::omp::descriptor::ModifierSet

Namespaces

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

Macros

#define Unassociated   None
#define GEN_OMP_PROPERTY_ENUMS
#define GEN_OMP_CLAUSE_GROUP_ENUMS
#define First_   FirstGroup_
#define Last_   LastGroup_
#define GEN_OMP_CLAUSE_SET_ENUMS
#define First_   FirstSet_
#define Last_   LastSet_
#define GEN_OMP_MODIFIER_ENUMS
#define GEN_OMP_MODIFIER_GROUP_ENUMS
#define First_   FirstGroup_
#define Last_   LastGroup_
#define GEN_OMP_MODIFIER_SET_ENUMS
#define First_   FirstSet_
#define Last_   LastSet_

Typedefs

using llvm::omp::Properties = EnumSet<Property>
using llvm::omp::ClauseSets = EnumSet<ClauseSet>
using llvm::omp::Modifiers = EnumSet<Modifier>
using llvm::omp::ModifierSets = EnumSet<ModifierSet>
template<typename DetailsTy>
using llvm::omp::descriptor::DetailsMap = DenseMap<Version, DetailsTy>
template<typename Enum, typename DescriptorTy>
using llvm::omp::DescriptorMap = DenseMap<Enum, DescriptorTy>

Enumerations

enum class  llvm::omp::Property {
  llvm::omp::AllDataEnvironments , llvm::omp::First_ = AllDataEnvironments , llvm::omp::AllPrivatizing , llvm::omp::Cancellable ,
  llvm::omp::CancellationPoint , llvm::omp::Compatible , llvm::omp::Complex , llvm::omp::Constant ,
  llvm::omp::ContextMatching , llvm::omp::DataCopying , llvm::omp::DataEnvironmentAttribute , llvm::omp::DataMapping ,
  llvm::omp::DataMappingAttribute , llvm::omp::DataMotionAttribute , llvm::omp::DataSharingAttribute , llvm::omp::DeclareTarget ,
  llvm::omp::DefaultAttribute , llvm::omp::Device , llvm::omp::DeviceAffecting , llvm::omp::DeviceAssociated ,
  llvm::omp::DeviceGlobalRequirement , llvm::omp::DispatchCompliant , llvm::omp::DispatchRequirement , llvm::omp::EndClause ,
  llvm::omp::ExceptionAborting , llvm::omp::Exclusive , llvm::omp::ExplicitTaskGenerating , llvm::omp::Free ,
  llvm::omp::GenerallyComposable , llvm::omp::GroupprivateInstantiating , llvm::omp::IcvDefaulted , llvm::omp::IcvModifying ,
  llvm::omp::ImplicitAcquireFlush , llvm::omp::ImplicitAcquireFlushAtEntry , llvm::omp::ImplicitAcquireFlushAtExit , llvm::omp::ImplicitBarrier ,
  llvm::omp::ImplicitBarrierFlushes , llvm::omp::ImplicitFlush , llvm::omp::ImplicitReleaseFlush , llvm::omp::ImplicitReleaseFlushAtEntry ,
  llvm::omp::ImplicitReleaseFlushAtExit , llvm::omp::ImplicitStrongFlush , llvm::omp::ImplicitStrongFlushAtEntry , llvm::omp::ImplicitStrongFlushAtExit ,
  llvm::omp::ImplicitTaskGenerating , llvm::omp::ImplicitTaskgroup , llvm::omp::ImplicitTaskwait , llvm::omp::InnermostLeaf ,
  llvm::omp::LeagueGenerating , llvm::omp::LoopTransforming , llvm::omp::MapEntering , llvm::omp::MapExiting ,
  llvm::omp::MapTypeModifying , llvm::omp::MutualExclusion , llvm::omp::NonrectangularCompatible , llvm::omp::OnceForAllConstituents ,
  llvm::omp::Optional , llvm::omp::OrderConcurrentNestable , llvm::omp::OriginalListItemUpdating , llvm::omp::OutermostLeaf ,
  llvm::omp::ParallelismGenerating , llvm::omp::Partitioned , llvm::omp::Positive , llvm::omp::PostModified ,
  llvm::omp::Privatization , llvm::omp::Pure , llvm::omp::ReductionParticipating , llvm::omp::ReductionScoping ,
  llvm::omp::RegionInvariant , llvm::omp::Repeatable , llvm::omp::Required , llvm::omp::ScheduleSpecification ,
  llvm::omp::SequentiallyOrderable , llvm::omp::SharingTask , llvm::omp::SimdPartitionable , llvm::omp::Simdizable ,
  llvm::omp::SimpleComposite , llvm::omp::SpaceConfiguring , llvm::omp::TargetConsistent , llvm::omp::TaskGenerating ,
  llvm::omp::TaskInherited , llvm::omp::TaskSchedulingPoint , llvm::omp::TaskSchedulingPointAfterTaskGeneration , llvm::omp::TaskSchedulingPointAtEntry ,
  llvm::omp::TaskSchedulingPointAtExit , llvm::omp::TaskSynchronizing , llvm::omp::TaskgraphAltering , llvm::omp::TeamExecuted ,
  llvm::omp::TeamGenerating , llvm::omp::TeamsNestable , llvm::omp::TeamsOrderable , llvm::omp::ThreadExclusive ,
  llvm::omp::ThreadLimiting , llvm::omp::ThreadSelecting , llvm::omp::ThreadsOrderable , llvm::omp::Ultimate ,
  llvm::omp::Unique , llvm::omp::VariantGenerating , llvm::omp::WorkDistribution , llvm::omp::Worksharing ,
  llvm::omp::WorksharingLoop , llvm::omp::Last_ = WorksharingLoop
}
enum class  llvm::omp::ClauseSet {
  llvm::omp::Assumption , llvm::omp::First_ = Assumption , llvm::omp::Atomic , llvm::omp::Branch ,
  llvm::omp::CancelDirectiveName , llvm::omp::ExtendedAtomic , llvm::omp::MemoryOrder , llvm::omp::ParallelizationLevel ,
  llvm::omp::Requirement , llvm::omp::Last_ = Requirement , llvm::omp::ActionClause , llvm::omp::First_ = ActionClause ,
  llvm::omp::DataEnvironmentClause , llvm::omp::DepobjClauseSet1 , llvm::omp::GranularityClause , llvm::omp::ScanClauseSet1 ,
  llvm::omp::SingleClauseSet1 , llvm::omp::SynchronizationClause , llvm::omp::TargetDataClauseSet1 , llvm::omp::TargetEnterDataClauseSet1 ,
  llvm::omp::TargetExitDataClauseSet1 , llvm::omp::TargetUpdateClauseSet1 , llvm::omp::TaskClauseSet1 , llvm::omp::UnrollClauseSet1 ,
  llvm::omp::Last_ = UnrollClauseSet1 , llvm::omp::First_ = FirstGroup_ , llvm::omp::Last_ = LastSet_
}
enum class  llvm::omp::Modifier {
  llvm::omp::AccessGroup , llvm::omp::First_ = AccessGroup , llvm::omp::AdjustOp , llvm::omp::AlignModifier ,
  llvm::omp::Alignment , llvm::omp::AllocatorComplexModifier , llvm::omp::AllocatorSimpleModifier , llvm::omp::AlwaysModifier ,
  llvm::omp::AttachModifier , llvm::omp::AutomapModifier , llvm::omp::ChunkModifier , llvm::omp::CloseModifier ,
  llvm::omp::ContextSelector , llvm::omp::DefaultModifier , llvm::omp::DeleteModifier , llvm::omp::DependenceType ,
  llvm::omp::DepinfoModifier , llvm::omp::DepobjModifier , llvm::omp::DeviceModifier , llvm::omp::DimsModifier ,
  llvm::omp::DirectiveNameModifier , llvm::omp::Expectation , llvm::omp::Fallback , llvm::omp::FallbackModifier ,
  llvm::omp::InductionIdentifier , llvm::omp::InductionModifier , llvm::omp::InscanModifier , llvm::omp::InteropType ,
  llvm::omp::Iterator , llvm::omp::LastprivateModifier , llvm::omp::LinearModifier , llvm::omp::LinearStep ,
  llvm::omp::LocModifier , llvm::omp::LoopModifier , llvm::omp::LowerBound , llvm::omp::MapType ,
  llvm::omp::MapTypeModifier , llvm::omp::Mapper , llvm::omp::MemSpace , llvm::omp::MotionModifier ,
  llvm::omp::NeedDeviceAddr , llvm::omp::NeedDevicePtr , llvm::omp::NoncommutativeModifier , llvm::omp::Nothing ,
  llvm::omp::OmpxHoldModifier , llvm::omp::OptionalModifier , llvm::omp::OrderModifier , llvm::omp::OrderingModifier ,
  llvm::omp::OriginalSharingModifier , llvm::omp::PerThreadModifier , llvm::omp::PreferType , llvm::omp::Prescriptiveness ,
  llvm::omp::PrescriptivenessModifier , llvm::omp::PresentModifier , llvm::omp::ReductionIdentifier , llvm::omp::ReductionModifier ,
  llvm::omp::RefModifier , llvm::omp::Saved , llvm::omp::ScaledModifier , llvm::omp::SelfModifier ,
  llvm::omp::SizesSelector , llvm::omp::StepComplexModifier , llvm::omp::StepModifier , llvm::omp::StepSimpleModifier ,
  llvm::omp::TargetType , llvm::omp::TargetsyncType , llvm::omp::TaskDependenceType , llvm::omp::TaskModifier ,
  llvm::omp::TraitsArray , llvm::omp::VariableCategory , llvm::omp::Last_ = VariableCategory
}
enum class  llvm::omp::ModifierSet {
  llvm::omp::AdjustOp , llvm::omp::First_ = AdjustOp , llvm::omp::DependListType , llvm::omp::InteropType ,
  llvm::omp::MapTypeModifying , llvm::omp::ReductionType , llvm::omp::VariableSelector , llvm::omp::Last_ = VariableSelector ,
  llvm::omp::DependModifierSet1 , llvm::omp::First_ = DependModifierSet1 , llvm::omp::NumTeamsModifierSet1 , llvm::omp::ReductionModifierSet1 ,
  llvm::omp::Last_ = ReductionModifierSet1 , llvm::omp::First_ = FirstGroup_ , llvm::omp::Last_ = LastSet_
}

Functions

constexpr bool llvm::omp::isClauseGroup (ClauseSet S)
constexpr bool llvm::omp::isModifierGroup (ModifierSet S)
LLVM_ABI const descriptor::Clause & llvm::omp::getDescriptor (Clause C)
LLVM_ABI const descriptor::ClauseSet & llvm::omp::getDescriptor (ClauseSet S)
LLVM_ABI const descriptor::Directive & llvm::omp::getDescriptor (Directive D)
LLVM_ABI const descriptor::Modifier & llvm::omp::getDescriptor (Modifier M)
LLVM_ABI const descriptor::ModifierSet & llvm::omp::getDescriptor (ModifierSet S)
LLVM_ABI Properties llvm::omp::getProperties (Clause C, Version V)

Macro Definition Documentation

◆ First_ [1/4]

◆ First_ [2/4]

#define First_   FirstSet_

Definition at line 31 of file OMPDescriptors.h.

◆ First_ [3/4]

#define First_   FirstGroup_

Definition at line 31 of file OMPDescriptors.h.

◆ First_ [4/4]

#define First_   FirstSet_

Definition at line 31 of file OMPDescriptors.h.

◆ GEN_OMP_CLAUSE_GROUP_ENUMS

#define GEN_OMP_CLAUSE_GROUP_ENUMS

Definition at line 30 of file OMPDescriptors.h.

◆ GEN_OMP_CLAUSE_SET_ENUMS

#define GEN_OMP_CLAUSE_SET_ENUMS

Definition at line 294 of file OMPDescriptors.h.

◆ GEN_OMP_MODIFIER_ENUMS

#define GEN_OMP_MODIFIER_ENUMS

Definition at line 56 of file OMPDescriptors.h.

◆ GEN_OMP_MODIFIER_GROUP_ENUMS

#define GEN_OMP_MODIFIER_GROUP_ENUMS

Definition at line 62 of file OMPDescriptors.h.

◆ GEN_OMP_MODIFIER_SET_ENUMS

#define GEN_OMP_MODIFIER_SET_ENUMS

Definition at line 326 of file OMPDescriptors.h.

◆ GEN_OMP_PROPERTY_ENUMS

#define GEN_OMP_PROPERTY_ENUMS

Definition at line 24 of file OMPDescriptors.h.

◆ Last_ [1/4]

◆ Last_ [2/4]

#define Last_   LastSet_

Definition at line 32 of file OMPDescriptors.h.

◆ Last_ [3/4]

#define Last_   LastGroup_

Definition at line 32 of file OMPDescriptors.h.

◆ Last_ [4/4]

#define Last_   LastSet_

Definition at line 32 of file OMPDescriptors.h.

◆ Unassociated

#define Unassociated   None

Definition at line 20 of file OMPDescriptors.h.