15bool RecordType::isEmpty()
const {
22 if (!BaseRT || !BaseRT->isEmpty())
34RecordType::getElementContainingOffset(
unsigned OffsetInBits)
const {
36 unsigned Start = Element.OffsetInBits;
37 unsigned Size = Element.FieldType->getSizeInBits().getFixedValue();
38 return OffsetInBits >= Start && OffsetInBits < Start +
Size;
44 if (
Base.IsVirtualBase)
53 if ((!VBaseRT || !VBaseRT->isEmpty()) &&
Contains(VBase))
58 if (
Field.IsUnnamedBitfield)
75 if (AT->getNumElements() != 1)
77 Ty = AT->getElementType();
83 return Ty->isZeroSize();
OptimizedStructLayoutField Field
static bool Contains(directive::VersionRange V, int P)
bool isPolymorphic() const
ArrayRef< FieldInfo > getBaseClasses() const
Returns the direct base classes, both virtual and non-virtual, mirroring clang::CXXRecordDecl::bases(...
ArrayRef< FieldInfo > getFields() const
uint32_t getNumVirtualBaseClasses() const
bool hasFlexibleArrayMember() const
ArrayRef< FieldInfo > getVirtualBaseClasses() const
Returns the virtual base classes, both direct and indirect, mirroring clang::CXXRecordDecl::vbases().
Represents the ABI-specific view of a type in LLVM.
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