clang 20.0.0git
|
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::CGCXXABI & | getCXXABI () const |
ASTContext & | getContext () const |
llvm::LLVMContext & | getVMContext () const |
const llvm::DataLayout & | getDataLayout () const |
const TargetInfo & | getTarget () const |
const CodeGenOptions & | getCodeGenOpts () 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::CodeGenTypes & | CGT |
llvm::CallingConv::ID | RuntimeCC |
|
inline |
ABIArgInfo PNaClABIInfo::classifyArgumentType | ( | QualType | RetTy | ) | const |
Classify argument of given type Ty
.
Definition at line 63 of file PNaCl.cpp.
References clang::Type::getAs(), clang::CodeGen::ABIInfo::getCXXABI(), clang::CodeGen::ABIArgInfo::getDirect(), clang::CodeGen::ABIArgInfo::getExtend(), clang::CodeGen::ABIInfo::getNaturalAlignIndirect(), clang::CodeGen::getRecordArgABI(), clang::CodeGen::isAggregateTypeForABI(), clang::Type::isFloatingType(), clang::CodeGen::ABIInfo::isPromotableIntegerTypeForABI(), and clang::CodeGen::CGCXXABI::RAA_DirectInMemory.
Referenced by computeInfo().
ABIArgInfo PNaClABIInfo::classifyReturnType | ( | QualType | RetTy | ) | const |
Definition at line 86 of file PNaCl.cpp.
References clang::Type::getAs(), clang::CodeGen::ABIArgInfo::getDirect(), clang::CodeGen::ABIArgInfo::getExtend(), clang::CodeGen::ABIArgInfo::getIgnore(), clang::CodeGen::ABIInfo::getNaturalAlignIndirect(), clang::CodeGen::isAggregateTypeForABI(), clang::CodeGen::ABIInfo::isPromotableIntegerTypeForABI(), and clang::Type::isVoidType().
Referenced by computeInfo().
|
overridevirtual |
Implements clang::CodeGen::ABIInfo.
Definition at line 40 of file PNaCl.cpp.
References clang::CodeGen::CGFunctionInfo::arguments(), classifyArgumentType(), classifyReturnType(), clang::CodeGen::ABIInfo::getCXXABI(), clang::CodeGen::CGFunctionInfo::getReturnInfo(), and clang::CodeGen::CGFunctionInfo::getReturnType().
|
overridevirtual |
EmitVAArg - Emit the target dependent code to load a value of.
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().