|
clang
3.8.0
|
ABIInfo - Target specific hooks for defining how a type should be passed or returned from functions. More...
#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 |
| Return the calling convention to use for system runtime functions. More... | |
| llvm::CallingConv::ID | getBuiltinCC () const |
| Return the calling convention to use for compiler builtins. More... | |
| 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. More... | |
| virtual CodeGen::Address | EmitMSVAArg (CodeGen::CodeGenFunction &CGF, CodeGen::Address VAListAddr, QualType Ty) const |
| Emit the target dependent code to load a value of. More... | |
| 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 |
| isHomogeneousAggregate - Return true if a type is an ELFv2 homogeneous aggregate. More... | |
| CodeGen::ABIArgInfo | getNaturalAlignIndirect (QualType Ty, bool ByRef=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. More... | |
| CodeGen::ABIArgInfo | getNaturalAlignIndirectInReg (QualType Ty, bool Realign=false) 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 69 of file CodeGen/TargetInfo.cpp.
|
pure virtual |
Referenced by clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo().
|
virtual |
Emit the target dependent code to load a value of.
__builtin_ms_va_list pointed to by Definition at line 64 of file CodeGen/TargetInfo.cpp.
References clang::CodeGen::Address::invalid().
Referenced by clang::CodeGen::CodeGenFunction::EmitVAArg().
|
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 71 of file ABIInfo.h.
References BuiltinCC.
Referenced by clang::CodeGen::CodeGenModule::CodeGenModule().
| ASTContext & ABIInfo::getContext | ( | ) | const |
Definition at line 104 of file CodeGen/TargetInfo.cpp.
| CGCXXABI & ABIInfo::getCXXABI | ( | ) | const |
Definition at line 100 of file CodeGen/TargetInfo.cpp.
| const llvm::DataLayout & ABIInfo::getDataLayout | ( | ) | const |
Definition at line 112 of file CodeGen/TargetInfo.cpp.
| ABIArgInfo ABIInfo::getNaturalAlignIndirect | ( | QualType | Ty, |
| bool | ByRef = 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.
Definition at line 52 of file CodeGen/TargetInfo.cpp.
References clang::CodeGen::ABIArgInfo::getIndirect().
| ABIArgInfo ABIInfo::getNaturalAlignIndirectInReg | ( | QualType | Ty, |
| bool | Realign = false |
||
| ) | const |
Definition at line 59 of file CodeGen/TargetInfo.cpp.
References clang::CodeGen::ABIArgInfo::getIndirectInReg().
|
inline |
Return the calling convention to use for system runtime functions.
Definition at line 66 of file ABIInfo.h.
References RuntimeCC.
Referenced by clang::CodeGen::CodeGenModule::CodeGenModule().
| const TargetInfo & ABIInfo::getTarget | ( | ) | const |
Definition at line 116 of file CodeGen/TargetInfo.cpp.
| llvm::LLVMContext & ABIInfo::getVMContext | ( | ) | const |
Definition at line 108 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 3870 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 120 of file CodeGen/TargetInfo.cpp.
|
virtual |
Definition at line 124 of file CodeGen/TargetInfo.cpp.
Definition at line 129 of file CodeGen/TargetInfo.cpp.
|
protected |
Definition at line 49 of file ABIInfo.h.
Referenced by getBuiltinCC().
| CodeGen::CodeGenTypes& clang::ABIInfo::CGT |
|
protected |
Definition at line 48 of file ABIInfo.h.
Referenced by getRuntimeCC().
1.8.6