18 assert(EltTy &&
"Can't get a pointer to <null> type!");
31TypedPointerType::TypedPointerType(
Type *E,
unsigned AddrSpace)
32 :
Type(E->getContext(), TypedPointerTyID), PointeeTy(E) {
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
DenseMap< std::pair< Type *, unsigned >, TypedPointerType * > ASTypedPointerTypes
LLVMContextImpl *const pImpl
The instances of the Type class are immutable: once they are created, they are never changed.
bool isLabelTy() const
Return true if this is 'label'.
unsigned NumContainedTys
Keeps track of how many Type*'s there are in the ContainedTys list.
LLVMContext & getContext() const
Return the LLVMContext in which this type was uniqued.
Type *const * ContainedTys
A pointer to the array of Types contained by this Type.
void setSubclassData(unsigned val)
bool isX86_AMXTy() const
Return true if this is X86 AMX.
bool isTokenTy() const
Return true if this is 'token'.
bool isVoidTy() const
Return true if this is 'void'.
bool isMetadataTy() const
Return true if this is 'metadata'.
A few GPU targets, such as DXIL and SPIR-V, have typed pointers.
static bool isValidElementType(Type *ElemTy)
Return true if the specified type is valid as a element type.
static TypedPointerType * get(Type *ElementType, unsigned AddressSpace)
This constructs a pointer to an object of the specified type in a numbered address space.
This is an optimization pass for GlobalISel generic memory operations.