clang
3.7.0
|
#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 |
llvm::CallingConv::ID | getBuiltinCC () const |
Return the calling convention to use for compiler builtins. More... | |
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 |
virtual bool | shouldSignExtUnsignedType (QualType Ty) const |
bool | isHomogeneousAggregate (QualType Ty, const Type *&Base, uint64_t &Members) const |
Public Attributes | |
CodeGen::CodeGenTypes & | CGT |
Protected Attributes | |
llvm::CallingConv::ID | RuntimeCC |
llvm::CallingConv::ID | BuiltinCC |
ABIInfo - Target specific hooks for defining how a type should be passed or returned from functions.
|
inline |
|
virtual |
Definition at line 51 of file CodeGen/TargetInfo.cpp.
|
pure virtual |
Referenced by clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo().
|
pure virtual |
EmitVAArg - Emit the target dependent code to load a value of
Referenced by clang::CodeGen::CodeGenFunction::EmitVAArg().
|
inline |
Return the calling convention to use for compiler builtins.
Definition at line 69 of file ABIInfo.h.
References BuiltinCC.
Referenced by clang::CodeGen::CodeGenModule::CodeGenModule().
ASTContext & ABIInfo::getContext | ( | ) | const |
Definition at line 86 of file CodeGen/TargetInfo.cpp.
CGCXXABI & ABIInfo::getCXXABI | ( | ) | const |
Definition at line 82 of file CodeGen/TargetInfo.cpp.
const llvm::DataLayout & ABIInfo::getDataLayout | ( | ) | const |
Definition at line 94 of file CodeGen/TargetInfo.cpp.
|
inline |
Return the calling convention to use for system runtime functions.
Definition at line 64 of file ABIInfo.h.
References RuntimeCC.
Referenced by clang::CodeGen::CodeGenModule::CodeGenModule().
const TargetInfo & ABIInfo::getTarget | ( | ) | const |
Definition at line 98 of file CodeGen/TargetInfo.cpp.
llvm::LLVMContext & ABIInfo::getVMContext | ( | ) | const |
Definition at line 90 of file CodeGen/TargetInfo.cpp.
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 3541 of file CodeGen/TargetInfo.cpp.
References clang::frontend::CPlusPlus, clang::RecordDecl::fields(), clang::Type::getAs(), clang::RecordType::getDecl(), clang::QualType::getTypePtr(), clang::RecordDecl::hasFlexibleArrayMember(), isEmptyRecord(), clang::TagDecl::isUnion(), and clang::Type::isVectorType().
Definition at line 102 of file CodeGen/TargetInfo.cpp.
|
virtual |
Definition at line 106 of file CodeGen/TargetInfo.cpp.
Definition at line 111 of file CodeGen/TargetInfo.cpp.
|
protected |
Definition at line 47 of file ABIInfo.h.
Referenced by getBuiltinCC().
CodeGen::CodeGenTypes& clang::ABIInfo::CGT |
|
protected |
Definition at line 46 of file ABIInfo.h.
Referenced by getRuntimeCC().