LLVM 24.0.0git
llvm::abi::BPFTargetInfo Class Reference
Inheritance diagram for llvm::abi::BPFTargetInfo:
[legend]

Public Member Functions

 BPFTargetInfo (TypeBuilder &Builder)
const ABICompatInfogetABICompatInfo () const override
 Return this target's ABI compatibility flags.
void computeInfo (FunctionInfo &FI) const override
 Populate FI with the target's ABI-lowering decisions for each argument and return value.
Public Member Functions inherited from llvm::abi::TargetInfo
 TargetInfo (TypeBuilder &Builder)
virtual ~TargetInfo ()=default
virtual bool isPassByRef (const Type *Ty) const

Additional Inherited Members

Protected Member Functions inherited from llvm::abi::TargetInfo
LLVM_ABI RecordArgABI getRecordArgABI (const RecordType *RT) const
LLVM_ABI RecordArgABI getRecordArgABI (const Type *Ty) const
LLVM_ABI bool isPromotableInteger (const IntegerType *IT) const
LLVM_ABI ArgInfo getNaturalAlignIndirect (const Type *Ty, bool ByVal=true) const
LLVM_ABI bool isAggregateTypeForABI (const Type *Ty) const
LLVM_ABI const TypeuseFirstFieldIfTransparentUnion (const Type *Ty) const
 If Ty is a transparent union, return its first field type; otherwise return Ty unchanged.
LLVM_ABI bool maybeCommonClassifyReturnType (FunctionInfo &FI) const
 Apply rules for classifying return types that are common to all targets.
virtual bool isHomogeneousAggregateBaseType (const Type *Ty) const
 Return true if Ty is a valid base type for a homogeneous aggregate.
virtual bool isHomogeneousAggregateSmallEnough (const Type *Base, uint64_t Members) const
 Return true if a homogeneous aggregate with Members copies of Base is small enough to be passed in registers for this ABI.
virtual bool isZeroLengthBitfieldPermittedInHomogeneousAggregate () const
 Return true if zero-length bitfields should be ignored when deciding whether an aggregate is homogeneous.
virtual bool isPermittedToBeHomogeneousAggregate (const RecordType *RT) const
 Return true if the C++ ABI permits RT to be a homogeneous aggregate.
LLVM_ABI bool isHomogeneousAggregate (const Type *Ty, const Type *&Base, uint64_t &Members) const
 Return true if Ty is an ELFv2-style homogeneous aggregate.
Protected Attributes inherited from llvm::abi::TargetInfo
TypeBuilderTB

Detailed Description

Definition at line 17 of file BPF.cpp.

Constructor & Destructor Documentation

◆ BPFTargetInfo()

llvm::abi::BPFTargetInfo::BPFTargetInfo ( TypeBuilder & Builder)
inline

Definition at line 75 of file BPF.cpp.

References llvm::abi::TargetInfo::TargetInfo().

Member Function Documentation

◆ computeInfo()

void llvm::abi::BPFTargetInfo::computeInfo ( FunctionInfo & FI) const
inlineoverridevirtual

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

Implements llvm::abi::TargetInfo.

Definition at line 79 of file BPF.cpp.

References llvm::abi::FunctionInfo::arguments(), llvm::abi::FunctionInfo::getReturnInfo(), llvm::abi::FunctionInfo::getReturnType(), and I.

◆ getABICompatInfo()

const ABICompatInfo & llvm::abi::BPFTargetInfo::getABICompatInfo ( ) const
inlineoverridevirtual

Return this target's ABI compatibility flags.

Targets with extra flags store a derived object and return that as an ABICompatInfo reference.

Implements llvm::abi::TargetInfo.

Definition at line 77 of file BPF.cpp.


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