LLVM: llvm::LegalityPredicates Namespace Reference (original) (raw)

Functions
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.

all() [1/2]

all() [2/2]

any() [1/2]

any() [2/2]

atomicOrderingAtLeastOrStrongerThan()

elementTypeIs()

isPointer() [1/2]

isPointer() [2/2]

isPointerVector()

isScalar()

isVector()

largerThan()

memSizeInBytesNotPow2()

memSizeNotByteSizePow2()

numElementsNotPow2()

predNot()

sameSize()

scalarNarrowerThan()

scalarOrEltNarrowerThan()

scalarOrEltSizeNotPow2()

scalarOrEltWiderThan()

scalarWiderThan()

sizeIs()

sizeNotMultipleOf()

sizeNotPow2()

smallerThan()

typeInSet()

typeIs()

typeIsNot()

typePairAndMemDescInSet()

typePairInSet()

typeTupleInSet()

vectorElementCountIsGreaterThan()

vectorElementCountIsLessThanOrEqualTo()