LLVM API Documentation
#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 CCState & | getCCInfo () 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 |
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.
typedef SmallVectorImpl<ByValArgInfo>::const_iterator llvm::MipsTargetLowering::MipsCC::byval_iterator |
Definition at line 383 of file MipsISelLowering.h.
Enumerator | |
---|---|
Mips16RetHelperConv | |
NoSpecialCallingConv |
Definition at line 342 of file MipsISelLowering.h.
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().
void MipsTargetLowering::MipsCC::analyzeCallOperands | ( | const SmallVectorImpl< ISD::OutputArg > & | Outs, |
bool | IsVarArg, | ||
bool | IsSoftFloat, | ||
const SDNode * | CallNode, | ||
std::vector< ArgListEntry > & | FuncArgs | ||
) |
Definition at line 3238 of file MipsISelLowering.cpp.
References llvm::dbgs(), llvm::CallingConv::Fast, llvm::CCValAssign::Full, llvm::EVT::getEVTString(), I, llvm::ISD::ArgFlagsTy::isByVal(), llvm_unreachable, and llvm::SmallVectorTemplateCommon< T, typename >::size().
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 | ||
) |
Definition at line 3276 of file MipsISelLowering.cpp.
References llvm::object::advance(), llvm::dbgs(), llvm::CCValAssign::Full, llvm::EVT::getEVTString(), I, llvm::ISD::ArgFlagsTy::isByVal(), llvm_unreachable, and llvm::SmallVectorTemplateCommon< T, typename >::size().
void MipsTargetLowering::MipsCC::analyzeReturn | ( | const SmallVectorImpl< ISD::OutputArg > & | Outs, |
bool | IsSoftFloat, | ||
const Type * | RetTy | ||
) | const |
Definition at line 3339 of file MipsISelLowering.cpp.
|
inline |
Definition at line 384 of file MipsISelLowering.h.
|
inline |
Definition at line 385 of file MipsISelLowering.h.
|
inline |
Definition at line 365 of file MipsISelLowering.h.
|
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.
|
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().