LLVM
8.0.1
|
Classes | |
struct | TypePairAndMemSize |
Functions | |
template<typename Predicate > | |
Predicate | all (Predicate P0, Predicate P1) |
True iff P0 and P1 are true. More... | |
template<typename Predicate , typename... Args> | |
Predicate | all (Predicate P0, Predicate P1, Args... args) |
True iff all given predicates are true. More... | |
LegalityPredicate | typeIs (unsigned TypeIdx, LLT TypesInit) |
True iff the given type index is the specified types. More... | |
LegalityPredicate | typeInSet (unsigned TypeIdx, std::initializer_list< LLT > TypesInit) |
True iff the given type index is one of the specified types. More... | |
LegalityPredicate | typePairInSet (unsigned TypeIdx0, unsigned TypeIdx1, std::initializer_list< std::pair< LLT, LLT >> TypesInit) |
True iff the given types for the given pair of type indexes is one of the specified type pairs. More... | |
LegalityPredicate | typePairAndMemSizeInSet (unsigned TypeIdx0, unsigned TypeIdx1, unsigned MMOIdx, std::initializer_list< TypePairAndMemSize > TypesAndMemSizeInit) |
True iff the given types for the given pair of type indexes is one of the specified type pairs. More... | |
LegalityPredicate | isScalar (unsigned TypeIdx) |
True iff the specified type index is a scalar. More... | |
LegalityPredicate | narrowerThan (unsigned TypeIdx, unsigned Size) |
True iff the specified type index is a scalar that's narrower than the given size. More... | |
LegalityPredicate | widerThan (unsigned TypeIdx, unsigned Size) |
True iff the specified type index is a scalar that's wider than the given size. More... | |
LegalityPredicate | sizeNotPow2 (unsigned TypeIdx) |
True iff the specified type index is a scalar whose size is not a power of. More... | |
LegalityPredicate | memSizeInBytesNotPow2 (unsigned MMOIdx) |
True iff the specified MMO index has a size that is not a power of 2. More... | |
LegalityPredicate | numElementsNotPow2 (unsigned TypeIdx) |
True iff the specified type index is a vector whose element count is not a power of 2. More... | |
LegalityPredicate | atomicOrderingAtLeastOrStrongerThan (unsigned MMOIdx, AtomicOrdering Ordering) |
True iff the specified MMO index has at an atomic ordering of at Ordering or stronger. More... | |
Predicate llvm::LegalityPredicates::all | ( | Predicate | P0, |
Predicate | P1 | ||
) |
True iff P0 and P1 are true.
Definition at line 181 of file LegalizerInfo.h.
References llvm::AMDGPU::HSAMD::Kernel::Key::Args, and Query().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), and llvm::FastMathFlags::isFast().
Predicate llvm::LegalityPredicates::all | ( | Predicate | P0, |
Predicate | P1, | ||
Args... | args | ||
) |
True iff all given predicates are true.
Definition at line 188 of file LegalizerInfo.h.
References atomicOrderingAtLeastOrStrongerThan(), isScalar(), memSizeInBytesNotPow2(), narrowerThan(), numElementsNotPow2(), Size, sizeNotPow2(), typeInSet(), typeIs(), typePairAndMemSizeInSet(), typePairInSet(), and widerThan().
LegalityPredicate llvm::LegalityPredicates::atomicOrderingAtLeastOrStrongerThan | ( | unsigned | MMOIdx, |
AtomicOrdering | Ordering | ||
) |
True iff the specified MMO index has at an atomic ordering of at Ordering or stronger.
Definition at line 96 of file LegalityPredicates.cpp.
References llvm::isAtLeastOrStrongerThan(), and Query().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), and all().
LegalityPredicate llvm::LegalityPredicates::isScalar | ( | unsigned | TypeIdx | ) |
True iff the specified type index is a scalar.
Definition at line 54 of file LegalityPredicates.cpp.
References Query().
Referenced by all(), llvm::MachineIRBuilder::buildBrCond(), llvm::MachineIRBuilder::buildGEP(), llvm::MachineIRBuilder::buildInstr(), and llvm::LegalizeRuleSet::narrowScalar().
LegalityPredicate llvm::LegalityPredicates::memSizeInBytesNotPow2 | ( | unsigned | MMOIdx | ) |
True iff the specified MMO index has a size that is not a power of 2.
Definition at line 83 of file LegalityPredicates.cpp.
References llvm::isPowerOf2_32(), and Query().
Referenced by all(), and llvm::LegalizeRuleSet::unsupportedIfMemSizeNotPow2().
LegalityPredicate llvm::LegalityPredicates::narrowerThan | ( | unsigned | TypeIdx, |
unsigned | Size | ||
) |
True iff the specified type index is a scalar that's narrower than the given size.
Definition at line 60 of file LegalityPredicates.cpp.
References llvm::LLT::getSizeInBits(), llvm::LLT::isScalar(), Query(), and Size.
Referenced by all(), and llvm::LegalizeRuleSet::minScalar().
LegalityPredicate llvm::LegalityPredicates::numElementsNotPow2 | ( | unsigned | TypeIdx | ) |
True iff the specified type index is a vector whose element count is not a power of 2.
Definition at line 89 of file LegalityPredicates.cpp.
References llvm::LLT::getNumElements(), llvm::isPowerOf2_32(), llvm::LLT::isVector(), and Query().
Referenced by all(), and llvm::LegalizeRuleSet::moreElementsToNextPow2().
LegalityPredicate llvm::LegalityPredicates::sizeNotPow2 | ( | unsigned | TypeIdx | ) |
True iff the specified type index is a scalar whose size is not a power of.
Definition at line 76 of file LegalityPredicates.cpp.
References llvm::LLT::getSizeInBits(), llvm::isPowerOf2_32(), llvm::LLT::isScalar(), and Query().
Referenced by all(), and llvm::LegalizeRuleSet::widenScalarToNextPow2().
LegalityPredicate llvm::LegalityPredicates::typeInSet | ( | unsigned | TypeIdx, |
std::initializer_list< LLT > | TypesInit | ||
) |
True iff the given type index is one of the specified types.
Definition at line 24 of file LegalityPredicates.cpp.
References llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::find(), and Query().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), and all().
LegalityPredicate llvm::LegalityPredicates::typeIs | ( | unsigned | TypeIdx, |
LLT | TypesInit | ||
) |
True iff the given type index is the specified types.
Definition at line 18 of file LegalityPredicates.cpp.
References Query().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), and all().
LegalityPredicate llvm::LegalityPredicates::typePairAndMemSizeInSet | ( | unsigned | TypeIdx0, |
unsigned | TypeIdx1, | ||
unsigned | MMOIdx, | ||
std::initializer_list< TypePairAndMemSize > | TypesAndMemSizeInit | ||
) |
True iff the given types for the given pair of type indexes is one of the specified type pairs.
Definition at line 42 of file LegalityPredicates.cpp.
References llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::find(), llvm::Match, and Query().
Referenced by all(), and llvm::LegalizeRuleSet::legalForTypesWithMemSize().
LegalityPredicate llvm::LegalityPredicates::typePairInSet | ( | unsigned | TypeIdx0, |
unsigned | TypeIdx1, | ||
std::initializer_list< std::pair< LLT, LLT >> | TypesInit | ||
) |
True iff the given types for the given pair of type indexes is one of the specified type pairs.
Definition at line 32 of file LegalityPredicates.cpp.
References llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::find(), llvm::Match, and Query().
Referenced by all().
LegalityPredicate llvm::LegalityPredicates::widerThan | ( | unsigned | TypeIdx, |
unsigned | Size | ||
) |
True iff the specified type index is a scalar that's wider than the given size.
Definition at line 68 of file LegalityPredicates.cpp.
References llvm::LLT::getSizeInBits(), llvm::LLT::isScalar(), Query(), and Size.
Referenced by all(), llvm::LegalizeRuleSet::maxScalar(), and llvm::LegalizeRuleSet::maxScalarIf().