clang API Documentation
#include <ABIInfo.h>
Public Member Functions | |
ABIInfo (CodeGen::CodeGenTypes &cgt) | |
virtual | ~ABIInfo () |
CodeGen::CGCXXABI & | getCXXABI () const |
ASTContext & | getContext () const |
llvm::LLVMContext & | getVMContext () const |
const llvm::DataLayout & | getDataLayout () const |
const TargetInfo & | getTarget () const |
llvm::CallingConv::ID | getRuntimeCC () const |
virtual void | computeInfo (CodeGen::CGFunctionInfo &FI) const =0 |
virtual llvm::Value * | EmitVAArg (llvm::Value *VAListAddr, QualType Ty, CodeGen::CodeGenFunction &CGF) const =0 |
virtual bool | isHomogeneousAggregateBaseType (QualType Ty) const |
virtual bool | isHomogeneousAggregateSmallEnough (const Type *Base, uint64_t Members) const |
bool | isHomogeneousAggregate (QualType Ty, const Type *&Base, uint64_t &Members) const |
Public Attributes | |
CodeGen::CodeGenTypes & | CGT |
Protected Attributes | |
llvm::CallingConv::ID | RuntimeCC |
ABIInfo - Target specific hooks for defining how a type should be passed or returned from functions.
clang::ABIInfo::ABIInfo | ( | CodeGen::CodeGenTypes & | cgt | ) | [inline] |
ABIInfo::~ABIInfo | ( | ) | [virtual] |
Definition at line 50 of file CodeGen/TargetInfo.cpp.
virtual void clang::ABIInfo::computeInfo | ( | CodeGen::CGFunctionInfo & | FI | ) | const [pure virtual] |
Referenced by clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo().
virtual llvm::Value* clang::ABIInfo::EmitVAArg | ( | llvm::Value * | VAListAddr, |
QualType | Ty, | ||
CodeGen::CodeGenFunction & | CGF | ||
) | const [pure virtual] |
EmitVAArg - Emit the target dependent code to load a value of
Referenced by clang::CodeGen::CodeGenFunction::EmitVAArg().
ASTContext & ABIInfo::getContext | ( | ) | const |
Definition at line 85 of file CodeGen/TargetInfo.cpp.
CGCXXABI & ABIInfo::getCXXABI | ( | ) | const |
Definition at line 81 of file CodeGen/TargetInfo.cpp.
const llvm::DataLayout & ABIInfo::getDataLayout | ( | ) | const |
Definition at line 93 of file CodeGen/TargetInfo.cpp.
llvm::CallingConv::ID clang::ABIInfo::getRuntimeCC | ( | ) | const [inline] |
Return the calling convention to use for system runtime functions.
Definition at line 61 of file ABIInfo.h.
References RuntimeCC.
Referenced by clang::CodeGen::CodeGenModule::CodeGenModule().
const TargetInfo & ABIInfo::getTarget | ( | ) | const |
Definition at line 97 of file CodeGen/TargetInfo.cpp.
llvm::LLVMContext & ABIInfo::getVMContext | ( | ) | const |
Definition at line 89 of file CodeGen/TargetInfo.cpp.
bool ABIInfo::isHomogeneousAggregate | ( | QualType | Ty, |
const Type *& | Base, | ||
uint64_t & | Members | ||
) | const |
isHomogeneousAggregate - Return true if a type is an ELFv2 homogeneous aggregate. Base is set to the base element type, and Members is set to the number of base elements.
Definition at line 3423 of file CodeGen/TargetInfo.cpp.
References clang::CodeGen::Base, clang::frontend::CPlusPlus, clang::Type::getAs(), clang::RecordType::getDecl(), clang::QualType::getTypePtr(), clang::RecordDecl::hasFlexibleArrayMember(), isEmptyRecord(), clang::TagDecl::isUnion(), and clang::Type::isVectorType().
bool ABIInfo::isHomogeneousAggregateBaseType | ( | QualType | Ty | ) | const [virtual] |
Definition at line 101 of file CodeGen/TargetInfo.cpp.
bool ABIInfo::isHomogeneousAggregateSmallEnough | ( | const Type * | Base, |
uint64_t | Members | ||
) | const [virtual] |
Definition at line 105 of file CodeGen/TargetInfo.cpp.
llvm::CallingConv::ID clang::ABIInfo::RuntimeCC [protected] |
Definition at line 46 of file ABIInfo.h.
Referenced by getRuntimeCC().