22 if (
auto VTy = dyn_cast<VectorType>(&Ty)) {
28 }
else if (
auto PTy = dyn_cast<PointerType>(&Ty)) {
34 assert(SizeInBits != 0 &&
"invalid zero-sized type");
A parsed version of the target data layout string in and methods for querying it. ...
This class represents lattice values for constants.
bool isSized(SmallPtrSetImpl< Type *> *Visited=nullptr) const
Return true if it makes sense to take the size of this type.
static LLT scalar(unsigned SizeInBits)
Get a low-level scalar or aggregate "bag of bits".
The instances of the Type class are immutable: once they are created, they are never changed...
LLT getLLTForType(Type &Ty, const DataLayout &DL)
Construct a low-level type based on an LLVM type.
uint64_t getTypeSizeInBits(Type *Ty) const
Size examples:
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static LLT pointer(uint16_t AddressSpace, unsigned SizeInBits)
Get a low-level pointer in the given address space (defaulting to 0).
uint16_t getNumElements() const
Returns the number of elements in a vector LLT.
static LLT vector(uint16_t NumElements, unsigned ScalarSizeInBits)
Get a low-level vector of some number of elements and element width.