22 static_cast<const TupleType *
>(
this)->getVectorType();
30 return RT && RT->isEmpty();
33bool RecordType::isEmpty()
const {
46 if (!
Base.FieldType->isEmptyRecord())
58RecordType::getElementContainingOffset(
unsigned OffsetInBits)
const {
60 unsigned Start = Element.OffsetInBits;
61 unsigned Size = Element.FieldType->getSizeInBits().getFixedValue();
62 return OffsetInBits >= Start && OffsetInBits < Start +
Size;
70 if (!VBase.FieldType->isEmptyRecord() &&
Contains(VBase))
74 if (
Field.IsUnnamedBitfield)
88 bool WasArray =
false;
91 if (AT->getNumElements() == 0)
93 Ty = AT->getElementType();
106 return RT->isEmpty();
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
OptimizedStructLayoutField Field
static bool Contains(directive::VersionRange V, int P)
bool canPassInRegisters() const
ArrayRef< FieldInfo > getBaseClasses() const
ArrayRef< FieldInfo > getFields() const
uint32_t getNumVirtualBaseClasses() const
bool hasFlexibleArrayMember() const
ArrayRef< FieldInfo > getVirtualBaseClasses() const
A homogeneous tuple of 2, 3, or 4 identical vectors, such as the AArch64 SVE types svint32x3_t and sv...
Represents the ABI-specific view of a type in LLVM.
LLVM_ABI bool isSVESizelessType() const
LLVM_ABI bool isEmptyRecord() const
True if this type is a record that is empty for ABI purposes.
bool isSVEType() const
Returns true for any of the AArch64 SVE flavors.
This file defines the type system for the LLVMABI library, which mirrors ABI-relevant aspects of fron...
This is an optimization pass for GlobalISel generic memory operations.
decltype(auto) dyn_cast(const From &Val)
dyn_cast<X> - Return the argument parameter cast to the specified type.
LLVM_ABI bool isEmpty() const