LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
llvm::MipsTargetLowering::MipsCC Class Reference

#include <MipsISelLowering.h>

Public Types

enum  SpecialCallingConvType { Mips16RetHelperConv, NoSpecialCallingConv }
 
typedef SmallVectorImpl
< ByValArgInfo >
::const_iterator 
byval_iterator
 

Public Member Functions

 MipsCC (CallingConv::ID CallConv, bool IsO32, bool IsFP64, CCState &Info, SpecialCallingConvType SpecialCallingConv=NoSpecialCallingConv)
 
void analyzeCallOperands (const SmallVectorImpl< ISD::OutputArg > &Outs, bool IsVarArg, bool IsSoftFloat, const SDNode *CallNode, std::vector< ArgListEntry > &FuncArgs)
 
void analyzeFormalArguments (const SmallVectorImpl< ISD::InputArg > &Ins, bool IsSoftFloat, Function::const_arg_iterator FuncArg)
 
void analyzeCallResult (const SmallVectorImpl< ISD::InputArg > &Ins, bool IsSoftFloat, const SDNode *CallNode, const Type *RetTy) const
 
void analyzeReturn (const SmallVectorImpl< ISD::OutputArg > &Outs, bool IsSoftFloat, const Type *RetTy) const
 
const CCStategetCCInfo () const
 
bool hasByValArg () const
 hasByValArg - Returns true if function has byval arguments. More...
 
unsigned regSize () const
 regSize - Size (in number of bits) of integer registers. More...
 
unsigned numIntArgRegs () const
 numIntArgRegs - Number of integer registers available for calls. More...
 
unsigned reservedArgArea () const
 
const uint16_t * intArgRegs () const
 Return pointer to array of integer argument registers. More...
 
byval_iterator byval_begin () const
 
byval_iterator byval_end () const
 

Detailed Description

MipsCC - This class provides methods used to analyze formal and call arguments and inquire about calling convention information.

Definition at line 340 of file MipsISelLowering.h.

Member Typedef Documentation

Definition at line 383 of file MipsISelLowering.h.

Member Enumeration Documentation

Enumerator
Mips16RetHelperConv 
NoSpecialCallingConv 

Definition at line 342 of file MipsISelLowering.h.

Constructor & Destructor Documentation

MipsTargetLowering::MipsCC::MipsCC ( CallingConv::ID  CallConv,
bool  IsO32,
bool  IsFP64,
CCState Info,
MipsCC::SpecialCallingConvType  SpecialCallingConv_ = NoSpecialCallingConv 
)

Definition at line 3227 of file MipsISelLowering.cpp.

References llvm::CCState::AllocateStack(), and reservedArgArea().

Member Function Documentation

void MipsTargetLowering::MipsCC::analyzeCallOperands ( const SmallVectorImpl< ISD::OutputArg > &  Outs,
bool  IsVarArg,
bool  IsSoftFloat,
const SDNode CallNode,
std::vector< ArgListEntry > &  FuncArgs 
)
void MipsTargetLowering::MipsCC::analyzeCallResult ( const SmallVectorImpl< ISD::InputArg > &  Ins,
bool  IsSoftFloat,
const SDNode CallNode,
const Type RetTy 
) const

Definition at line 3333 of file MipsISelLowering.cpp.

void MipsTargetLowering::MipsCC::analyzeFormalArguments ( const SmallVectorImpl< ISD::InputArg > &  Ins,
bool  IsSoftFloat,
Function::const_arg_iterator  FuncArg 
)
void MipsTargetLowering::MipsCC::analyzeReturn ( const SmallVectorImpl< ISD::OutputArg > &  Outs,
bool  IsSoftFloat,
const Type RetTy 
) const

Definition at line 3339 of file MipsISelLowering.cpp.

byval_iterator llvm::MipsTargetLowering::MipsCC::byval_begin ( ) const
inline

Definition at line 384 of file MipsISelLowering.h.

byval_iterator llvm::MipsTargetLowering::MipsCC::byval_end ( ) const
inline

Definition at line 385 of file MipsISelLowering.h.

const CCState& llvm::MipsTargetLowering::MipsCC::getCCInfo ( ) const
inline

Definition at line 365 of file MipsISelLowering.h.

bool llvm::MipsTargetLowering::MipsCC::hasByValArg ( ) const
inline

hasByValArg - Returns true if function has byval arguments.

Definition at line 368 of file MipsISelLowering.h.

const uint16_t * MipsTargetLowering::MipsCC::intArgRegs ( ) const

Return pointer to array of integer argument registers.

Definition at line 3375 of file MipsISelLowering.cpp.

References llvm::MipsTargetLowering::IsO32, Mips64IntRegs, and O32IntRegs.

unsigned MipsTargetLowering::MipsCC::numIntArgRegs ( ) const

numIntArgRegs - Number of integer registers available for calls.

Definition at line 3367 of file MipsISelLowering.cpp.

References llvm::array_lengthof(), llvm::MipsTargetLowering::IsO32, Mips64IntRegs, and O32IntRegs.

unsigned llvm::MipsTargetLowering::MipsCC::regSize ( ) const
inline

regSize - Size (in number of bits) of integer registers.

Definition at line 371 of file MipsISelLowering.h.

unsigned MipsTargetLowering::MipsCC::reservedArgArea ( ) const

reservedArgArea - The size of the area the caller reserves for register arguments. This is 16-byte if ABI is O32.

Definition at line 3371 of file MipsISelLowering.cpp.

References llvm::CallingConv::Fast, and llvm::MipsTargetLowering::IsO32.

Referenced by MipsCC().


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