|
| MipsCCState (CallingConv::ID CC, bool isVarArg, MachineFunction &MF, SmallVectorImpl< CCValAssign > &locs, LLVMContext &C, SpecialCallingConvType SpecialCC=NoSpecialCallingConv) |
|
SpecialCallingConvType | getSpecialCallingConv () |
|
LLVM_ABI | CCState (CallingConv::ID CC, bool IsVarArg, MachineFunction &MF, SmallVectorImpl< CCValAssign > &Locs, LLVMContext &Context, bool NegativeOffsets=false) |
|
void | addLoc (const CCValAssign &V) |
|
LLVMContext & | getContext () const |
|
MachineFunction & | getMachineFunction () const |
|
CallingConv::ID | getCallingConv () const |
|
bool | isVarArg () const |
|
uint64_t | getStackSize () const |
| Returns the size of the currently allocated portion of the stack.
|
|
uint64_t | getAlignedCallFrameSize () const |
| getAlignedCallFrameSize - Return the size of the call frame needed to be able to store all arguments and such that the alignment requirement of each of the arguments is satisfied.
|
|
bool | isAllocated (MCRegister Reg) const |
| isAllocated - Return true if the specified register (or an alias) is allocated.
|
|
LLVM_ABI void | AnalyzeFormalArguments (const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn) |
| AnalyzeFormalArguments - Analyze an array of argument values, incorporating info about the formals into this state.
|
|
void | AnalyzeArguments (const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn) |
| The function will invoke AnalyzeFormalArguments.
|
|
LLVM_ABI void | AnalyzeReturn (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn) |
| AnalyzeReturn - Analyze the returned values of a return, incorporating info about the result values into this state.
|
|
LLVM_ABI bool | CheckReturn (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn) |
| CheckReturn - Analyze the return values of a function, returning true if the return can be performed without sret-demotion, and false otherwise.
|
|
LLVM_ABI void | AnalyzeCallOperands (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn) |
| AnalyzeCallOperands - Analyze the outgoing arguments to a call, incorporating info about the passed values into this state.
|
|
LLVM_ABI void | AnalyzeCallOperands (SmallVectorImpl< MVT > &ArgVTs, SmallVectorImpl< ISD::ArgFlagsTy > &Flags, SmallVectorImpl< Type * > &OrigTys, CCAssignFn Fn) |
| AnalyzeCallOperands - Same as above except it takes vectors of types and argument flags.
|
|
void | AnalyzeArguments (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn) |
| The function will invoke AnalyzeCallOperands.
|
|
LLVM_ABI void | AnalyzeCallResult (const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn) |
| AnalyzeCallResult - Analyze the return values of a call, incorporating info about the passed values into this state.
|
|
LLVM_ABI bool | IsShadowAllocatedReg (MCRegister Reg) const |
| A shadow allocated register is a register that was allocated but wasn't added to the location list (Locs).
|
|
LLVM_ABI void | AnalyzeCallResult (MVT VT, Type *OrigTy, CCAssignFn Fn) |
| AnalyzeCallResult - Same as above except it's specialized for calls which produce a single value.
|
|
unsigned | getFirstUnallocated (ArrayRef< MCPhysReg > Regs) const |
| getFirstUnallocated - Return the index of the first unallocated register in the set, or Regs.size() if they are all allocated.
|
|
void | DeallocateReg (MCPhysReg Reg) |
|
MCRegister | AllocateReg (MCPhysReg Reg) |
| AllocateReg - Attempt to allocate one register.
|
|
MCRegister | AllocateReg (MCPhysReg Reg, MCPhysReg ShadowReg) |
| Version of AllocateReg with extra register to be shadowed.
|
|
MCRegister | AllocateReg (ArrayRef< MCPhysReg > Regs) |
| AllocateReg - Attempt to allocate one of the specified registers.
|
|
ArrayRef< MCPhysReg > | AllocateRegBlock (ArrayRef< MCPhysReg > Regs, unsigned RegsRequired) |
| Attempt to allocate a block of RegsRequired consecutive registers.
|
|
MCRegister | AllocateReg (ArrayRef< MCPhysReg > Regs, const MCPhysReg *ShadowRegs) |
| Version of AllocateReg with list of registers to be shadowed.
|
|
int64_t | AllocateStack (unsigned Size, Align Alignment) |
| AllocateStack - Allocate a chunk of stack space with the specified size and alignment.
|
|
LLVM_ABI void | ensureMaxAlignment (Align Alignment) |
|
int64_t | AllocateStack (unsigned Size, Align Alignment, ArrayRef< MCPhysReg > ShadowRegs) |
| Version of AllocateStack with list of extra registers to be shadowed.
|
|
LLVM_ABI void | HandleByVal (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, int MinSize, Align MinAlign, ISD::ArgFlagsTy ArgFlags) |
| Allocate space on the stack large enough to pass an argument by value.
|
|
unsigned | getInRegsParamsCount () const |
|
unsigned | getInRegsParamsProcessed () const |
|
void | getInRegsParamInfo (unsigned InRegsParamRecordIndex, unsigned &BeginReg, unsigned &EndReg) const |
|
void | addInRegsParamInfo (unsigned RegBegin, unsigned RegEnd) |
|
bool | nextInRegsParam () |
|
void | clearByValRegsInfo () |
|
void | rewindByValRegsInfo () |
|
SmallVectorImpl< CCValAssign > & | getPendingLocs () |
|
SmallVectorImpl< ISD::ArgFlagsTy > & | getPendingArgFlags () |
|
LLVM_ABI void | getRemainingRegParmsForType (SmallVectorImpl< MCRegister > &Regs, MVT VT, CCAssignFn Fn) |
| Compute the remaining unused register parameters that would be used for the given value type.
|
|
LLVM_ABI void | analyzeMustTailForwardedRegisters (SmallVectorImpl< ForwardedRegister > &Forwards, ArrayRef< MVT > RegParmTypes, CCAssignFn Fn) |
| Compute the set of registers that need to be preserved and forwarded to any musttail calls.
|
|
template<class T > |
void | AnalyzeArgumentsSecondPass (const SmallVectorImpl< T > &Args, CCAssignFn Fn) |
| The function runs an additional analysis pass over function arguments.
|
|
Definition at line 20 of file MipsCCState.h.