LLVM 23.0.0git
llvm::abi::Type Class Reference

Represents the ABI-specific view of a type in LLVM. More...

#include "llvm/ABI/Types.h"

Inheritance diagram for llvm::abi::Type:
[legend]

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
bool isZeroSize () const

Protected Member Functions

 Type (TypeKind K, TypeSize SizeInBits, Align ABIAlign)

Protected Attributes

TypeKind Kind
TypeSize SizeInBits
Align ABIAlignment

Detailed Description

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 44 of file Types.h.

Constructor & Destructor Documentation

◆ Type()

Member Function Documentation

◆ getAlignment()

Align llvm::abi::Type::getAlignment ( ) const
inline

◆ getKind()

TypeKind llvm::abi::Type::getKind ( ) const
inline

Definition at line 67 of file Types.h.

References Kind.

Referenced by llvm::abi::PointerLikeType::isMemberPointer().

◆ getSizeInBits()

◆ getTypeAllocSize()

TypeSize llvm::abi::Type::getTypeAllocSize ( ) const
inline

Definition at line 71 of file Types.h.

References llvm::alignTo(), and getAlignment().

◆ isArray()

bool llvm::abi::Type::isArray ( ) const
inline

Definition at line 79 of file Types.h.

References llvm::abi::Array, and Kind.

◆ isComplex()

bool llvm::abi::Type::isComplex ( ) const
inline

Definition at line 83 of file Types.h.

References llvm::abi::Complex, and Kind.

◆ isFloat()

bool llvm::abi::Type::isFloat ( ) const
inline

Definition at line 77 of file Types.h.

References llvm::abi::Float, and Kind.

◆ isInteger()

bool llvm::abi::Type::isInteger ( ) const
inline

Definition at line 76 of file Types.h.

References llvm::abi::Integer, and Kind.

◆ isMemberPointer()

bool llvm::abi::Type::isMemberPointer ( ) const
inline

Definition at line 82 of file Types.h.

References Kind, and llvm::abi::MemberPointer.

◆ isPointer()

bool llvm::abi::Type::isPointer ( ) const
inline

Definition at line 78 of file Types.h.

References Kind, and llvm::abi::Pointer.

◆ isRecord()

bool llvm::abi::Type::isRecord ( ) const
inline

Definition at line 81 of file Types.h.

References Kind, and llvm::abi::Record.

◆ isVector()

bool llvm::abi::Type::isVector ( ) const
inline

Definition at line 80 of file Types.h.

References Kind, and llvm::abi::Vector.

◆ isVoid()

bool llvm::abi::Type::isVoid ( ) const
inline

Definition at line 75 of file Types.h.

References Kind, and llvm::abi::Void.

◆ isZeroSize()

bool llvm::abi::Type::isZeroSize ( ) const
inline

Member Data Documentation

◆ ABIAlignment

Align llvm::abi::Type::ABIAlignment
protected

Definition at line 61 of file Types.h.

Referenced by getAlignment(), and Type().

◆ Kind

TypeKind llvm::abi::Type::Kind
protected

◆ SizeInBits


The documentation for this class was generated from the following file: