clang 19.0.0git
Public Member Functions | List of all members
PNaClABIInfo Class Reference
Inheritance diagram for PNaClABIInfo:
Inheritance graph

Public Member Functions

 PNaClABIInfo (CodeGen::CodeGenTypes &CGT)
ABIArgInfo classifyReturnType (QualType RetTy) const
ABIArgInfo classifyArgumentType (QualType RetTy) const
 Classify argument of given type Ty.
void computeInfo (CGFunctionInfo &FI) const override
Address EmitVAArg (CodeGenFunction &CGF, Address VAListAddr, QualType Ty) 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 CodeGen::Address EmitVAArg (CodeGen::CodeGenFunction &CGF, CodeGen::Address VAListAddr, QualType Ty) const =0
 EmitVAArg - Emit the target dependent code to load a value of.
bool isAndroid () const
bool isOHOSFamily () const
virtual CodeGen::Address EmitMSVAArg (CodeGen::CodeGenFunction &CGF, CodeGen::Address VAListAddr, QualType Ty) 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
llvm::CallingConv::ID RuntimeCC

Detailed Description

Definition at line 22 of file PNaCl.cpp.

Constructor & Destructor Documentation

◆ PNaClABIInfo()

PNaClABIInfo::PNaClABIInfo ( CodeGen::CodeGenTypes CGT)

Definition at line 24 of file PNaCl.cpp.

Member Function Documentation

◆ classifyArgumentType()

ABIArgInfo PNaClABIInfo::classifyArgumentType ( QualType  RetTy) const

◆ classifyReturnType()

ABIArgInfo PNaClABIInfo::classifyReturnType ( QualType  RetTy) const

◆ computeInfo()

void PNaClABIInfo::computeInfo ( CGFunctionInfo FI) const

◆ EmitVAArg()

Address PNaClABIInfo::EmitVAArg ( CodeGenFunction CGF,
Address  VAListAddr,
QualType  Ty 
) const

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 48 of file PNaCl.cpp.

References clang::CodeGen::EmitVAArgInstr(), and clang::CodeGen::ABIArgInfo::getDirect().

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