LLVM 23.0.0git
llvm::abi::TargetInfo Class Referenceabstract

#include "llvm/ABI/TargetInfo.h"

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

Public Member Functions

 TargetInfo ()
 TargetInfo (const ABICompatInfo &Info)
virtual ~TargetInfo ()=default
virtual void computeInfo (FunctionInfo &FI) const =0
 Populate FI with the target's ABI-lowering decisions for each argument and return value.
virtual bool isPassByRef (const Type *Ty) const
const ABICompatInfogetABICompatInfo () const

Protected Member Functions

RecordArgABI getRecordArgABI (const RecordType *RT) const
RecordArgABI getRecordArgABI (const Type *Ty) const
bool isPromotableInteger (const IntegerType *IT) const
ArgInfo getNaturalAlignIndirect (const Type *Ty, bool ByVal=true) const
bool isAggregateTypeForABI (const Type *Ty) const

Detailed Description

Definition at line 60 of file TargetInfo.h.

Constructor & Destructor Documentation

◆ TargetInfo() [1/2]

llvm::abi::TargetInfo::TargetInfo ( )
inline

Definition at line 65 of file TargetInfo.h.

◆ TargetInfo() [2/2]

llvm::abi::TargetInfo::TargetInfo ( const ABICompatInfo & Info)
inlineexplicit

Definition at line 66 of file TargetInfo.h.

◆ ~TargetInfo()

virtual llvm::abi::TargetInfo::~TargetInfo ( )
virtualdefault

Member Function Documentation

◆ computeInfo()

virtual void llvm::abi::TargetInfo::computeInfo ( FunctionInfo & FI) const
pure virtual

Populate FI with the target's ABI-lowering decisions for each argument and return value.

Implemented in llvm::abi::BPFTargetInfo.

◆ getABICompatInfo()

const ABICompatInfo & llvm::abi::TargetInfo::getABICompatInfo ( ) const
inline

Definition at line 74 of file TargetInfo.h.

◆ getNaturalAlignIndirect()

ArgInfo TargetInfo::getNaturalAlignIndirect ( const Type * Ty,
bool ByVal = true ) const
protected

Definition at line 29 of file TargetInfo.cpp.

References llvm::abi::ArgInfo::getIndirect().

◆ getRecordArgABI() [1/2]

RecordArgABI TargetInfo::getRecordArgABI ( const RecordType * RT) const
protected

◆ getRecordArgABI() [2/2]

RecordArgABI TargetInfo::getRecordArgABI ( const Type * Ty) const
protected

Definition at line 39 of file TargetInfo.cpp.

References llvm::dyn_cast(), getRecordArgABI(), and llvm::abi::RAA_Default.

◆ isAggregateTypeForABI()

bool TargetInfo::isAggregateTypeForABI ( const Type * Ty) const
protected

Definition at line 13 of file TargetInfo.cpp.

References isAggregateTypeForABI().

Referenced by isAggregateTypeForABI().

◆ isPassByRef()

virtual bool llvm::abi::TargetInfo::isPassByRef ( const Type * Ty) const
inlinevirtual

Definition at line 73 of file TargetInfo.h.

◆ isPromotableInteger()

bool TargetInfo::isPromotableInteger ( const IntegerType * IT) const
protected

Definition at line 22 of file TargetInfo.cpp.

References llvm::BitWidth, and IT.


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