|
LLVM 22.0.0git
|
Represents the ABI-specific view of a type in LLVM. More...
#include "llvm/ABI/Types.h"
Public Member Functions | |
| TypeKind | getKind () const |
| TypeSize | getSizeInBits () const |
| Align | getAlignment () const |
| TypeSize | getTypeAllocSize () const |
| bool | isVoid () const |
| bool | isInteger () const |
| bool | isFloat () const |
| bool | isPointer () const |
| bool | isArray () const |
| bool | isVector () const |
| bool | isRecord () const |
| bool | isMemberPointer () const |
| bool | isComplex () const |
Protected Member Functions | |
| Type (TypeKind K, TypeSize SizeInBits, Align ABIAlign) | |
Protected Attributes | |
| TypeKind | Kind |
| TypeSize | SizeInBits |
| Align | ABIAlignment |
Represents the ABI-specific view of a type in LLVM.
This abstracts platform and language-specific ABI details from the frontend, providing a consistent interface for the ABI Library.
Definition at line 64 of file Types.h.
References ABIAlignment, Kind, and SizeInBits.
Referenced by llvm::abi::ArrayType::ArrayType(), llvm::abi::ArrayType::classof(), llvm::abi::ComplexType::classof(), llvm::abi::FloatType::classof(), llvm::abi::IntegerType::classof(), llvm::abi::PointerLikeType::classof(), llvm::abi::VectorType::classof(), llvm::abi::VoidType::classof(), llvm::abi::ComplexType::ComplexType(), llvm::abi::FloatType::FloatType(), llvm::abi::ArrayType::getElementType(), llvm::abi::ComplexType::getElementType(), llvm::abi::VectorType::getElementType(), llvm::abi::IntegerType::IntegerType(), llvm::abi::PointerLikeType::PointerLikeType(), llvm::abi::RecordType::RecordType(), llvm::abi::VectorType::VectorType(), and llvm::abi::VoidType::VoidType().
|
inline |
Definition at line 70 of file Types.h.
References ABIAlignment.
Referenced by llvm::abi::ArrayType::ArrayType(), and getTypeAllocSize().
|
inline |
Definition at line 68 of file Types.h.
References Kind.
Referenced by llvm::abi::PointerLikeType::isMemberPointer().
|
inline |
Definition at line 69 of file Types.h.
References SizeInBits.
Referenced by llvm::abi::FloatType::FloatType(), llvm::abi::IntegerType::isBool(), and llvm::abi::VectorType::VectorType().
|
inline |
Definition at line 72 of file Types.h.
References llvm::alignTo(), and getAlignment().
|
inline |
Definition at line 80 of file Types.h.
References llvm::abi::Array, and Kind.
|
inline |
Definition at line 84 of file Types.h.
References llvm::abi::Complex, and Kind.
|
inline |
Definition at line 78 of file Types.h.
References llvm::abi::Float, and Kind.
|
inline |
Definition at line 77 of file Types.h.
References llvm::abi::Integer, and Kind.
|
inline |
Definition at line 83 of file Types.h.
References Kind, and llvm::abi::MemberPointer.
|
inline |
Definition at line 79 of file Types.h.
References Kind, and llvm::abi::Pointer.
|
inline |
Definition at line 82 of file Types.h.
References Kind, and llvm::abi::Record.
|
inline |
Definition at line 81 of file Types.h.
References Kind, and llvm::abi::Vector.
|
inline |
Definition at line 76 of file Types.h.
References Kind, and llvm::abi::Void.
|
protected |
Definition at line 62 of file Types.h.
Referenced by getAlignment(), and Type().
|
protected |
Definition at line 60 of file Types.h.
Referenced by getKind(), isArray(), isComplex(), isFloat(), isInteger(), isMemberPointer(), isPointer(), isRecord(), isVector(), isVoid(), and Type().
|
protected |
Definition at line 61 of file Types.h.
Referenced by llvm::abi::ArrayType::ArrayType(), llvm::abi::ComplexType::ComplexType(), getSizeInBits(), llvm::abi::MemberPointerType::MemberPointerType(), llvm::abi::PointerLikeType::PointerLikeType(), and Type().