clang 20.0.0git
Public Member Functions | List of all members
clang::CodeGen::DefaultABIInfo Class Reference

DefaultABIInfo - The default implementation for ABI specific details. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/ABIInfoImpl.h"

Inheritance diagram for clang::CodeGen::DefaultABIInfo:
Inheritance graph
[legend]

Public Member Functions

 DefaultABIInfo (CodeGen::CodeGenTypes &CGT)
 
virtual ~DefaultABIInfo ()
 
ABIArgInfo classifyReturnType (QualType RetTy) const
 
ABIArgInfo classifyArgumentType (QualType RetTy) const
 
void computeInfo (CGFunctionInfo &FI) const override
 
RValue EmitVAArg (CodeGenFunction &CGF, Address VAListAddr, QualType Ty, AggValueSlot Slot) const override
 EmitVAArg - Emit the target dependent code to load a value of.
 
- Public Member Functions inherited from clang::CodeGen::ABIInfo
 ABIInfo (CodeGen::CodeGenTypes &cgt)
 
virtual ~ABIInfo ()
 
virtual bool allowBFloatArgsAndRet () const
 
CodeGen::CGCXXABIgetCXXABI () const
 
ASTContextgetContext () const
 
llvm::LLVMContext & getVMContext () const
 
const llvm::DataLayout & getDataLayout () const
 
const TargetInfogetTarget () const
 
const CodeGenOptionsgetCodeGenOpts () const
 
llvm::CallingConv::ID getRuntimeCC () const
 Return the calling convention to use for system runtime functions.
 
virtual void computeInfo (CodeGen::CGFunctionInfo &FI) const =0
 
virtual RValue EmitVAArg (CodeGen::CodeGenFunction &CGF, CodeGen::Address VAListAddr, QualType Ty, AggValueSlot Slot) const =0
 EmitVAArg - Emit the target dependent code to load a value of.
 
bool isAndroid () const
 
bool isOHOSFamily () const
 
virtual RValue EmitMSVAArg (CodeGen::CodeGenFunction &CGF, CodeGen::Address VAListAddr, QualType Ty, AggValueSlot Slot) const
 Emit the target dependent code to load a value of.
 
virtual bool isHomogeneousAggregateBaseType (QualType Ty) const
 
virtual bool isHomogeneousAggregateSmallEnough (const Type *Base, uint64_t Members) const
 
virtual bool isZeroLengthBitfieldPermittedInHomogeneousAggregate () const
 
bool isHomogeneousAggregate (QualType Ty, const Type *&Base, uint64_t &Members) const
 isHomogeneousAggregate - Return true if a type is an ELFv2 homogeneous aggregate.
 
bool isPromotableIntegerTypeForABI (QualType Ty) const
 
CodeGen::ABIArgInfo getNaturalAlignIndirect (QualType Ty, bool ByVal=true, bool Realign=false, llvm::Type *Padding=nullptr) const
 A convenience method to return an indirect ABIArgInfo with an expected alignment equal to the ABI alignment of the given type.
 
CodeGen::ABIArgInfo getNaturalAlignIndirectInReg (QualType Ty, bool Realign=false) const
 
virtual void appendAttributeMangling (TargetAttr *Attr, raw_ostream &Out) const
 
virtual void appendAttributeMangling (TargetVersionAttr *Attr, raw_ostream &Out) const
 
virtual void appendAttributeMangling (TargetClonesAttr *Attr, unsigned Index, raw_ostream &Out) const
 
virtual void appendAttributeMangling (StringRef AttrStr, raw_ostream &Out) const
 

Additional Inherited Members

- Protected Attributes inherited from clang::CodeGen::ABIInfo
CodeGen::CodeGenTypesCGT
 
llvm::CallingConv::ID RuntimeCC
 

Detailed Description

DefaultABIInfo - The default implementation for ABI specific details.

This implementation provides information which results in self-consistent and sensible LLVM IR generation, but does not conform to any particular ABI.

Definition at line 21 of file ABIInfoImpl.h.

Constructor & Destructor Documentation

◆ DefaultABIInfo()

clang::CodeGen::DefaultABIInfo::DefaultABIInfo ( CodeGen::CodeGenTypes CGT)
inline

Definition at line 23 of file ABIInfoImpl.h.

◆ ~DefaultABIInfo()

DefaultABIInfo::~DefaultABIInfo ( )
virtualdefault

Member Function Documentation

◆ classifyArgumentType()

ABIArgInfo DefaultABIInfo::classifyArgumentType ( QualType  RetTy) const

◆ classifyReturnType()

ABIArgInfo DefaultABIInfo::classifyReturnType ( QualType  RetTy) const

◆ computeInfo()

void DefaultABIInfo::computeInfo ( CGFunctionInfo FI) const
overridevirtual

◆ EmitVAArg()

RValue DefaultABIInfo::EmitVAArg ( CodeGenFunction CGF,
Address  VAListAddr,
QualType  Ty,
AggValueSlot  Slot 
) const
overridevirtual

EmitVAArg - Emit the target dependent code to load a value of.

  • Ty from the va_list pointed to by
  • VAListAddr.

Implements clang::CodeGen::ABIInfo.

Definition at line 75 of file ABIInfoImpl.cpp.

References classifyArgumentType(), clang::CodeGen::CodeGenFunction::EmitLoadOfAnyValue(), clang::CodeGen::EmitVAArgInstr(), and clang::CodeGen::CodeGenFunction::MakeAddrLValue().


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