clang 20.0.0git
Public Member Functions | List of all members
PNaClABIInfo Class Reference
Inheritance diagram for PNaClABIInfo:
Inheritance graph
[legend]

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
 
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

Definition at line 22 of file PNaCl.cpp.

Constructor & Destructor Documentation

◆ PNaClABIInfo()

PNaClABIInfo::PNaClABIInfo ( CodeGen::CodeGenTypes CGT)
inline

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
overridevirtual

◆ EmitVAArg()

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

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


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