clang  3.7.0
Public Member Functions | Public Attributes | Protected Attributes | List of all members
clang::ABIInfo Class Referenceabstract

#include <ABIInfo.h>

Collaboration diagram for clang::ABIInfo:
[legend]

Public Member Functions

 ABIInfo (CodeGen::CodeGenTypes &cgt)
 
virtual ~ABIInfo ()
 
CodeGen::CGCXXABIgetCXXABI () const
 
ASTContextgetContext () const
 
llvm::LLVMContext & getVMContext () const
 
const llvm::DataLayout & getDataLayout () const
 
const TargetInfogetTarget () 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::ValueEmitVAArg (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::CodeGenTypesCGT
 

Protected Attributes

llvm::CallingConv::ID RuntimeCC
 
llvm::CallingConv::ID BuiltinCC
 

Detailed Description

ABIInfo - Target specific hooks for defining how a type should be passed or returned from functions.

Definition at line 42 of file ABIInfo.h.

Constructor & Destructor Documentation

clang::ABIInfo::ABIInfo ( CodeGen::CodeGenTypes cgt)
inline

Definition at line 49 of file ABIInfo.h.

ABIInfo::~ABIInfo ( )
virtual

Definition at line 51 of file CodeGen/TargetInfo.cpp.

Member Function Documentation

virtual void clang::ABIInfo::computeInfo ( CodeGen::CGFunctionInfo FI) const
pure virtual
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

  • Ty from the va_list pointed to by
  • VAListAddr.

Referenced by clang::CodeGen::CodeGenFunction::EmitVAArg().

llvm::CallingConv::ID clang::ABIInfo::getBuiltinCC ( ) const
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.

llvm::CallingConv::ID clang::ABIInfo::getRuntimeCC ( ) const
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.

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 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().

bool ABIInfo::isHomogeneousAggregateBaseType ( QualType  Ty) const
virtual

Definition at line 102 of file CodeGen/TargetInfo.cpp.

bool ABIInfo::isHomogeneousAggregateSmallEnough ( const Type Base,
uint64_t  Members 
) const
virtual

Definition at line 106 of file CodeGen/TargetInfo.cpp.

bool ABIInfo::shouldSignExtUnsignedType ( QualType  Ty) const
virtual

Definition at line 111 of file CodeGen/TargetInfo.cpp.

Member Data Documentation

llvm::CallingConv::ID clang::ABIInfo::BuiltinCC
protected

Definition at line 47 of file ABIInfo.h.

Referenced by getBuiltinCC().

CodeGen::CodeGenTypes& clang::ABIInfo::CGT

Definition at line 44 of file ABIInfo.h.

llvm::CallingConv::ID clang::ABIInfo::RuntimeCC
protected

Definition at line 46 of file ABIInfo.h.

Referenced by getRuntimeCC().


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