#include
#include
#include
#include
#include ">
LLVM: include/llvm/Frontend/OpenMP/ClauseT.h File Reference (original) (raw)
#include "[llvm/ADT/ArrayRef.h](ArrayRef%5F8h%5Fsource.html)"
#include "[llvm/ADT/DenseMap.h](DenseMap%5F8h%5Fsource.html)"
#include "[llvm/ADT/DenseSet.h](DenseSet%5F8h%5Fsource.html)"
#include "[llvm/ADT/STLExtras.h](STLExtras%5F8h%5Fsource.html)"
#include "[llvm/ADT/SmallVector.h](SmallVector%5F8h%5Fsource.html)"
#include "[llvm/Frontend/OpenMP/OMP.h](OMP%5F8h%5Fsource.html)"
#include "[llvm/Support/ErrorHandling.h](llvm%5F2Support%5F2ErrorHandling%5F8h%5Fsource.html)"
#include "[llvm/Support/raw_ostream.h](raw%5F%5Fostream%5F8h%5Fsource.html)"
#include <iterator>
#include <optional>
#include <tuple>
#include <type_traits>
#include <utility>
#include <variant>
Go to the source code of this file.
| Classes |
|
| struct |
detail::is_variant< T > |
| struct |
detail::is_variant< std::variant< Ts... > > |
| struct |
detail::UnionOfTwo< std::variant< Types1... >, std::variant< Types2... > > |
| struct |
tomp::type::Union<> |
| struct |
tomp::type::Union< T, Ts... > |
| struct |
tomp::type::DefinedOperatorT< I, E > |
| struct |
tomp::type::DefinedOperatorT< I, E >::DefinedOpName |
| struct |
tomp::type::RangeT< E > |
| struct |
tomp::type::IteratorSpecifierT< TypeType, IdType, ExprType > |
| struct |
tomp::type::MapperT< I, E > |
| struct |
tomp::type::LoopIterationT< I, E > |
| struct |
tomp::type::LoopIterationT< I, E >::Distance |
| struct |
tomp::type::ProcedureDesignatorT< I, E > |
| struct |
tomp::type::ReductionIdentifierT< I, E > |
| struct |
tomp::clause::AbsentT< T, I, E > |
| struct |
tomp::clause::AcqRelT< T, I, E > |
| struct |
tomp::clause::AcquireT< T, I, E > |
| struct |
tomp::clause::AdjustArgsT< T, I, E > |
| struct |
tomp::clause::AffinityT< T, I, E > |
| struct |
tomp::clause::AlignT< T, I, E > |
| struct |
tomp::clause::AlignedT< T, I, E > |
| struct |
tomp::clause::AllocateT< T, I, E > |
| struct |
tomp::clause::AllocatorT< T, I, E > |
| struct |
tomp::clause::AppendArgsT< T, I, E > |
| struct |
tomp::clause::AtT< T, I, E > |
| struct |
tomp::clause::AtomicDefaultMemOrderT< T, I, E > |
| struct |
tomp::clause::BindT< T, I, E > |
| struct |
tomp::clause::CaptureT< T, I, E > |
| struct |
tomp::clause::CollapseT< T, I, E > |
| struct |
tomp::clause::CollectorT< T, I, E > |
| struct |
tomp::clause::CompareT< T, I, E > |
| struct |
tomp::clause::ContainsT< T, I, E > |
| struct |
tomp::clause::CopyinT< T, I, E > |
| struct |
tomp::clause::CopyprivateT< T, I, E > |
| struct |
tomp::clause::DefaultT< T, I, E > |
| struct |
tomp::clause::DefaultmapT< T, I, E > |
| struct |
tomp::clause::DependT< T, I, E > |
| struct |
tomp::clause::DependT< T, I, E >::TaskDep |
| struct |
tomp::clause::DestroyT< T, I, E > |
| struct |
tomp::clause::DetachT< T, I, E > |
| struct |
tomp::clause::DeviceT< T, I, E > |
| struct |
tomp::clause::DeviceSafesyncT< T, I, E > |
| struct |
tomp::clause::DeviceTypeT< T, I, E > |
| struct |
tomp::clause::DistScheduleT< T, I, E > |
| struct |
tomp::clause::DoacrossT< T, I, E > |
| struct |
tomp::clause::DynamicAllocatorsT< T, I, E > |
| struct |
tomp::clause::DynGroupprivateT< T, I, E > |
| struct |
tomp::clause::EnterT< T, I, E > |
| struct |
tomp::clause::ExclusiveT< T, I, E > |
| struct |
tomp::clause::FailT< T, I, E > |
| struct |
tomp::clause::FilterT< T, I, E > |
| struct |
tomp::clause::FinalT< T, I, E > |
| struct |
tomp::clause::FirstprivateT< T, I, E > |
| struct |
tomp::clause::FromT< T, I, E > |
| struct |
tomp::clause::FullT< T, I, E > |
| struct |
tomp::clause::GrainsizeT< T, I, E > |
| struct |
tomp::clause::GraphIdT< T, I, E > |
| struct |
tomp::clause::GraphResetT< T, I, E > |
| struct |
tomp::clause::HasDeviceAddrT< T, I, E > |
| struct |
tomp::clause::HintT< T, I, E > |
| struct |
tomp::clause::HoldsT< T, I, E > |
| struct |
tomp::clause::IfT< T, I, E > |
| struct |
tomp::clause::InbranchT< T, I, E > |
| struct |
tomp::clause::InclusiveT< T, I, E > |
| struct |
tomp::clause::IndirectT< T, I, E > |
| struct |
tomp::clause::InductorT< T, I, E > |
| struct |
tomp::clause::InitT< T, I, E > |
| struct |
tomp::clause::InitializerT< T, I, E > |
| struct |
tomp::clause::InReductionT< T, I, E > |
| struct |
tomp::clause::IsDevicePtrT< T, I, E > |
| struct |
tomp::clause::LastprivateT< T, I, E > |
| struct |
tomp::clause::LinearT< T, I, E > |
| struct |
tomp::clause::LinkT< T, I, E > |
| struct |
tomp::clause::MapT< T, I, E > |
| struct |
tomp::clause::MatchT< T, I, E > |
| struct |
tomp::clause::MergeableT< T, I, E > |
| struct |
tomp::clause::MessageT< T, I, E > |
| struct |
tomp::clause::NocontextT< T, I, E > |
| struct |
tomp::clause::NogroupT< T, I, E > |
| struct |
tomp::clause::NontemporalT< T, I, E > |
| struct |
tomp::clause::NoOpenmpT< T, I, E > |
| struct |
tomp::clause::NoOpenmpRoutinesT< T, I, E > |
| struct |
tomp::clause::NoOpenmpConstructsT< T, I, E > |
| struct |
tomp::clause::NoParallelismT< T, I, E > |
| struct |
tomp::clause::NotinbranchT< T, I, E > |
| struct |
tomp::clause::NovariantsT< T, I, E > |
| struct |
tomp::clause::NowaitT< T, I, E > |
| struct |
tomp::clause::NumTasksT< T, I, E > |
| struct |
tomp::clause::NumTeamsT< T, I, E > |
| struct |
tomp::clause::NumTeamsT< T, I, E >::Range |
| struct |
tomp::clause::NumThreadsT< T, I, E > |
| struct |
tomp::clause::OmpxAttributeT< T, I, E > |
| struct |
tomp::clause::OmpxBareT< T, I, E > |
| struct |
tomp::clause::OmpxDynCgroupMemT< T, I, E > |
| struct |
tomp::clause::OrderT< T, I, E > |
| struct |
tomp::clause::OrderedT< T, I, E > |
| struct |
tomp::clause::OtherwiseT< T, I, E > |
| struct |
tomp::clause::PartialT< T, I, E > |
| struct |
tomp::clause::PermutationT< T, I, E > |
| struct |
tomp::clause::PriorityT< T, I, E > |
| struct |
tomp::clause::PrivateT< T, I, E > |
| struct |
tomp::clause::ProcBindT< T, I, E > |
| struct |
tomp::clause::ReadT< T, I, E > |
| struct |
tomp::clause::ReductionT< T, I, E > |
| struct |
tomp::clause::RelaxedT< T, I, E > |
| struct |
tomp::clause::ReleaseT< T, I, E > |
| struct |
tomp::clause::ReplayableT< T, I, E > |
| struct |
tomp::clause::ReverseOffloadT< T, I, E > |
| struct |
tomp::clause::SafelenT< T, I, E > |
| struct |
tomp::clause::ScheduleT< T, I, E > |
| struct |
tomp::clause::SelfMapsT< T, I, E > |
| struct |
tomp::clause::SeqCstT< T, I, E > |
| struct |
tomp::clause::SeverityT< T, I, E > |
| struct |
tomp::clause::SharedT< T, I, E > |
| struct |
tomp::clause::SimdT< T, I, E > |
| struct |
tomp::clause::SimdlenT< T, I, E > |
| struct |
tomp::clause::SizesT< T, I, E > |
| struct |
tomp::clause::TaskReductionT< T, I, E > |
| struct |
tomp::clause::ThreadLimitT< T, I, E > |
| struct |
tomp::clause::ThreadsT< T, I, E > |
| struct |
tomp::clause::ThreadsetT< T, I, E > |
| struct |
tomp::clause::ToT< T, I, E > |
| struct |
tomp::clause::TransparentT< T, I, E > |
| struct |
tomp::clause::UnifiedAddressT< T, I, E > |
| struct |
tomp::clause::UnifiedSharedMemoryT< T, I, E > |
| struct |
tomp::clause::UniformT< T, I, E > |
| struct |
tomp::clause::UnknownT< T, I, E > |
| struct |
tomp::clause::UntiedT< T, I, E > |
| struct |
tomp::clause::UpdateT< T, I, E > |
| struct |
tomp::clause::UseT< T, I, E > |
| struct |
tomp::clause::UseDeviceAddrT< T, I, E > |
| struct |
tomp::clause::UseDevicePtrT< T, I, E > |
| struct |
tomp::clause::UsesAllocatorsT< T, I, E > |
| struct |
tomp::clause::UsesAllocatorsT< T, I, E >::AllocatorSpec |
| struct |
tomp::clause::WeakT< T, I, E > |
| struct |
tomp::clause::WhenT< T, I, E > |
| struct |
tomp::clause::WriteT< T, I, E > |
| struct |
tomp::clause::LooprangeT< T, I, E > |
| struct |
tomp::ClauseT< TypeType, IdType, ExprType, Extras > |
| struct |
tomp::DirectiveWithClauses< ClauseType > |
| Typedefs |
|
| template<typename T> |
|
| using |
tomp::type::ListT = llvm::SmallVector<T, 0> |
| template<typename I, typename E> |
|
| using |
tomp::type::ObjectListT = ListT<ObjectT<I, E>> |
| using |
tomp::type::DirectiveName = llvm::omp::Directive |
| template<typename T, typename I, typename E> |
|
| using |
tomp::type::IteratorT = ListT<IteratorSpecifierT<T, I, E>> |
| template<typename T> |
|
| using |
tomp::ListT = type::ListT<T> |
| template<typename I, typename E> |
|
| using |
tomp::ObjectT = type::ObjectT<I, E> |
| template<typename I, typename E> |
|
| using |
tomp::ObjectListT = type::ObjectListT<I, E> |
| template<typename T, typename I, typename E> |
|
| using |
tomp::IteratorT = type::IteratorT<T, I, E> |
| template<typename T, typename I, typename E> |
|
| using |
tomp::clause::ExtensionClausesT |
| template<typename T, typename I, typename E> |
|
| using |
tomp::clause::EmptyClausesT |
| template<typename T, typename I, typename E> |
|
| using |
tomp::clause::IncompleteClausesT |
| template<typename T, typename I, typename E> |
|
| using |
tomp::clause::TupleClausesT |
| template<typename T, typename I, typename E> |
|
| using |
tomp::clause::UnionClausesT = std::variant<DependT<T, I, E>> |
| template<typename T, typename I, typename E> |
|
| using |
tomp::clause::WrapperClausesT |
| template<typename T, typename I, typename E> |
|
| using |
tomp::clause::UnionOfAllClausesT |
| Functions |
|
| template<typename I, typename E> |
|
| bool |
tomp::type::operator== (const ObjectT< I, E > &o1, const ObjectT< I, E > &o2) |
|
tomp::type::ENUM (MemoryOrder, AcqRel, Acquire, Relaxed, Release, SeqCst) |
|
tomp::type::ENUM (MotionExpectation, Present) |
|
tomp::type::ENUM (DependenceType, Depobj, In, Inout, Inoutset, Mutexinoutset, Out, Sink, Source) |
|
tomp::type::ENUM (Prescriptiveness, Strict) |
| template<typename T> |
|
| std::enable_if_t< T::EmptyTrait::value, bool > |
tomp::type::operator== (const T &a, const T &b) |
| template<typename T> |
|
| std::enable_if_t< T::IncompleteTrait::value, bool > |
tomp::type::operator== (const T &a, const T &b) |
| template<typename T> |
|
| std::enable_if_t< T::WrapperTrait::value, bool > |
tomp::type::operator== (const T &a, const T &b) |
| template<typename T> |
|
| std::enable_if_t< T::TupleTrait::value, bool > |
tomp::type::operator== (const T &a, const T &b) |
| template<typename T> |
|
| std::enable_if_t< T::UnionTrait::value, bool > |
tomp::type::operator== (const T &a, const T &b) |
| template<typename ContainerTy, typename FunctionTy, typename ElemTy = typename llvm::remove_cvref_t::value_type, typename ResultTy = std::invoke_result_t<FunctionTy, ElemTy>> |
|
| ListT< ResultTy > |
tomp::makeList (ContainerTy &&container, FunctionTy &&func) |
| template<typename I, typename E> |
|
| bool |
tomp::clause::operator== (const ObjectT< I, E > &o1, const ObjectT< I, E > &o2) |
| template<typename I, typename E> |
|
| bool |
tomp::operator== (const ObjectT< I, E > &o1, const ObjectT< I, E > &o2) |
◆ CLAUSET_ENUM_CONVERT
| #define CLAUSET_ENUM_CONVERT |
( |
func, |
| OtherE, |
|
|
| ThisE, |
|
|
| Maps ) |
|
|
Value:
auto func = [](OtherE v) -> ThisE { \
using ThisEnum = ThisE; \
using OtherEnum = OtherE; \
(void)sizeof(OtherEnum); \
Maps; \
llvm_unreachable("Unexpected value in " #OtherE); \
}
Definition at line 86 of file ClauseT.h.
◆ CLAUSET_SCOPED_ENUM_MEMBER_CONVERT
| #define CLAUSET_SCOPED_ENUM_MEMBER_CONVERT |
( |
Ov, |
| Tv ) |
|
|
Value:
if (v == OtherEnum::Ov) { \
return ThisEnum::Tv; \
}
Definition at line 75 of file ClauseT.h.
◆ CLAUSET_UNSCOPED_ENUM_MEMBER_CONVERT
| #define CLAUSET_UNSCOPED_ENUM_MEMBER_CONVERT |
( |
Ov, |
| Tv ) |
|
|
Value:
if (v == Ov) { \
return ThisEnum::Tv; \
}
Definition at line 81 of file ClauseT.h.
◆ ENUM
| #define ENUM |
( |
Name, |
| ... ) |
|
|
◆ OPT