| template<typename Predicate> |
|
| Predicate |
predNot (Predicate P) |
|
True iff P is false. |
| template<typename Predicate> |
|
| Predicate |
all (Predicate P0, Predicate P1) |
|
True iff P0 and P1 are true. |
| template<typename Predicate, typename... Args> |
|
| Predicate |
all (Predicate P0, Predicate P1, Args... args) |
|
True iff all given predicates are true. |
| template<typename Predicate> |
|
| Predicate |
any (Predicate P0, Predicate P1) |
|
True iff P0 or P1 are true. |
| template<typename Predicate, typename... Args> |
|
| Predicate |
any (Predicate P0, Predicate P1, Args... args) |
|
True iff any given predicates are true. |
| LLVM_ABI LegalityPredicate |
typeIs (unsigned TypeIdx, LLT TypesInit) |
|
True iff the given type index is the specified type. |
| LLVM_ABI LegalityPredicate |
typeInSet (unsigned TypeIdx, std::initializer_list< LLT > TypesInit) |
|
True iff the given type index is one of the specified types. |
| LegalityPredicate |
typeIsNot (unsigned TypeIdx, LLT Type) |
|
True iff the given type index is not the specified type. |
| LLVM_ABI 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. |
| LLVM_ABI LegalityPredicate |
typeTupleInSet (unsigned TypeIdx0, unsigned TypeIdx1, unsigned Type2, std::initializer_list< std::tuple< LLT, LLT, LLT > > TypesInit) |
|
True iff the given types for the given tuple of type indexes is one of the specified type tuple. |
| LLVM_ABI LegalityPredicate |
typePairAndMemDescInSet (unsigned TypeIdx0, unsigned TypeIdx1, unsigned MMOIdx, std::initializer_list< TypePairAndMemDesc > TypesAndMemDescInit) |
|
True iff the given types for the given pair of type indexes is one of the specified type pairs. |
| LLVM_ABI LegalityPredicate |
isScalar (unsigned TypeIdx) |
|
True iff the specified type index is a scalar. |
| LLVM_ABI LegalityPredicate |
isVector (unsigned TypeIdx) |
|
True iff the specified type index is a vector. |
| LLVM_ABI LegalityPredicate |
isPointer (unsigned TypeIdx) |
|
True iff the specified type index is a pointer (with any address space). |
| LLVM_ABI LegalityPredicate |
isPointer (unsigned TypeIdx, unsigned AddrSpace) |
|
True iff the specified type index is a pointer with the specified address space. |
| LLVM_ABI LegalityPredicate |
isPointerVector (unsigned TypeIdx) |
|
True iff the specified type index is a vector of pointers (with any address space). |
| LLVM_ABI LegalityPredicate |
elementTypeIs (unsigned TypeIdx, LLT EltTy) |
|
True if the type index is a vector with element type EltTy. |
| LLVM_ABI LegalityPredicate |
scalarNarrowerThan (unsigned TypeIdx, unsigned Size) |
|
True iff the specified type index is a scalar that's narrower than the given size. |
| LLVM_ABI LegalityPredicate |
scalarWiderThan (unsigned TypeIdx, unsigned Size) |
|
True iff the specified type index is a scalar that's wider than the given size. |
| LLVM_ABI LegalityPredicate |
scalarOrEltNarrowerThan (unsigned TypeIdx, unsigned Size) |
|
True iff the specified type index is a scalar or vector with an element type that's narrower than the given size. |
| LLVM_ABI LegalityPredicate |
vectorElementCountIsGreaterThan (unsigned TypeIdx, unsigned Size) |
|
True iff the specified type index is a vector with a number of elements that's greater than the given size. |
| LLVM_ABI LegalityPredicate |
vectorElementCountIsLessThanOrEqualTo (unsigned TypeIdx, unsigned Size) |
|
True iff the specified type index is a vector with a number of elements that's less than or equal to the given size. |
| LLVM_ABI LegalityPredicate |
scalarOrEltWiderThan (unsigned TypeIdx, unsigned Size) |
|
True iff the specified type index is a scalar or a vector with an element type that's wider than the given size. |
| LLVM_ABI LegalityPredicate |
sizeNotMultipleOf (unsigned TypeIdx, unsigned Size) |
|
True iff the specified type index is a scalar whose size is not a multiple of Size. |
| LLVM_ABI LegalityPredicate |
sizeNotPow2 (unsigned TypeIdx) |
|
True iff the specified type index is a scalar whose size is not a power of. |
| LLVM_ABI LegalityPredicate |
scalarOrEltSizeNotPow2 (unsigned TypeIdx) |
|
True iff the specified type index is a scalar or vector whose element size is not a power of 2. |
| LLVM_ABI LegalityPredicate |
sizeIs (unsigned TypeIdx, unsigned Size) |
|
True if the total bitwidth of the specified type index is Size bits. |
| LLVM_ABI LegalityPredicate |
sameSize (unsigned TypeIdx0, unsigned TypeIdx1) |
|
True iff the specified type indices are both the same bit size. |
| LLVM_ABI LegalityPredicate |
largerThan (unsigned TypeIdx0, unsigned TypeIdx1) |
|
True iff the first type index has a larger total bit size than second type index. |
| LLVM_ABI LegalityPredicate |
smallerThan (unsigned TypeIdx0, unsigned TypeIdx1) |
|
True iff the first type index has a smaller total bit size than second type index. |
| LLVM_ABI LegalityPredicate |
memSizeInBytesNotPow2 (unsigned MMOIdx) |
|
True iff the specified MMO index has a size (rounded to bytes) that is not a power of 2. |
| LLVM_ABI LegalityPredicate |
memSizeNotByteSizePow2 (unsigned MMOIdx) |
|
True iff the specified MMO index has a size that is not an even byte size, or that even byte size is not a power of 2. |
| LLVM_ABI LegalityPredicate |
numElementsNotPow2 (unsigned TypeIdx) |
|
True iff the specified type index is a vector whose element count is not a power of 2. |
| LLVM_ABI LegalityPredicate |
atomicOrderingAtLeastOrStrongerThan (unsigned MMOIdx, AtomicOrdering Ordering) |
|
True iff the specified MMO index has at an atomic ordering of at Ordering or stronger. |