|
| | TypeBuilder (BumpPtrAllocator &Alloc) |
| const VoidType * | getVoidType () |
| const AtomicType * | getAtomicType (const Type *ValueType, uint64_t SizeInBits, Align Align) |
| const IntegerType * | getIntegerType (uint64_t BitWidth, Align Align, bool Signed, bool IsBitInt=false) |
| const FloatType * | getFloatType (const fltSemantics &Semantics, Align Align) |
| const PointerType * | getPointerType (uint64_t Size, Align Align, unsigned Addrspace=0) |
| const ArrayType * | getArrayType (const Type *ElementType, uint64_t NumElements, uint64_t SizeInBits, bool IsMatrixType=false) |
| const VectorType * | getVectorType (const Type *ElementType, ElementCount NumElements, Align Align, VectorKind VecKind=VectorKind::Generic) |
| const TupleType * | getTupleType (const VectorType *Vec, unsigned NumVectors) |
| | Creates a homogeneous tuple of NumVectors copies of Vec.
|
| const VectorType * | getSVECountType (Align ABIAlign) |
| | Creates the AArch64 __SVCount_t type.
|
| const RecordType * | getRecordType (ArrayRef< FieldInfo > Fields, TypeSize Size, Align Align, StructPacking Pack=StructPacking::Default, ArrayRef< FieldInfo > BaseClasses={}, ArrayRef< FieldInfo > VirtualBaseClasses={}, RecordFlags RecFlags=RecordFlags::None) |
| const RecordType * | getUnionType (ArrayRef< FieldInfo > Fields, TypeSize Size, Align Align, StructPacking Pack=StructPacking::Default, RecordFlags RecFlags=RecordFlags::None) |
| const ComplexType * | getComplexType (const Type *ElementType, Align Align) |
| const MemberPointerType * | getMemberPointerType (bool IsFunctionPointer, uint64_t SizeInBits, Align Align) |
TypeBuilder manages the lifecycle of ABI types using bump pointer allocation.
Types created by a TypeBuilder are valid for the lifetime of the allocator.
Example usage:
const auto *IntTy = Builder.getIntegerType(32,
Align(4),
true);
TypeBuilder(BumpPtrAllocator &Alloc)
BumpPtrAllocatorImpl<> BumpPtrAllocator
The standard BumpPtrAllocator which just uses the default template parameters.
This struct is a compact representation of a valid (non-zero power of two) alignment.
Definition at line 423 of file Types.h.