void |
PreAnalyzeCallOperand (const Type *ArgTy, bool IsFixed, const char *Func) |
|
|
void |
PreAnalyzeFormalArgument (const Type *ArgTy, ISD::ArgFlagsTy Flags) |
|
|
void |
PreAnalyzeReturnValue (EVT ArgVT) |
|
|
|
MipsCCState (CallingConv::ID CC, bool isVarArg, MachineFunction &MF, SmallVectorImpl< CCValAssign > &locs, LLVMContext &C, SpecialCallingConvType SpecialCC=NoSpecialCallingConv) |
|
|
void |
PreAnalyzeCallOperands (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn, std::vector< TargetLowering::ArgListEntry > &FuncArgs, const char *Func) |
|
|
void |
AnalyzeCallOperands (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn, std::vector< TargetLowering::ArgListEntry > &FuncArgs, const char *Func) |
|
|
void |
AnalyzeCallOperands (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn)=delete |
|
|
void |
AnalyzeCallOperands (const SmallVectorImpl< MVT > &Outs, SmallVectorImpl< ISD::ArgFlagsTy > &Flags, CCAssignFn Fn)=delete |
|
|
void |
PreAnalyzeFormalArguments (const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn) |
|
|
void |
AnalyzeFormalArguments (const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn) |
|
|
void |
PreAnalyzeCallResult (const Type *RetTy, const char *Func) |
|
|
void |
PreAnalyzeCallResult (const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn, const Type *RetTy, const char *Func) |
|
|
void |
AnalyzeCallResult (const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn, const Type *RetTy, const char *Func) |
|
|
void |
PreAnalyzeReturn (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn) |
|
|
void |
AnalyzeReturn (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn) |
|
|
bool |
CheckReturn (const SmallVectorImpl< ISD::OutputArg > &ArgsFlags, CCAssignFn Fn) |
|
|
bool |
CheckCallReturn (const SmallVectorImpl< ISD::OutputArg > &ArgsFlags, CCAssignFn Fn, const Type *RetTy) |
|
|
bool |
WasOriginalArgF128 (unsigned ValNo) |
|
|
bool |
WasOriginalArgFloat (unsigned ValNo) |
|
|
bool |
WasOriginalArgVectorFloat (unsigned ValNo) const |
|
|
bool |
WasOriginalRetVectorFloat (unsigned ValNo) const |
|
|
bool |
IsCallOperandFixed (unsigned ValNo) |
|
|
SpecialCallingConvType |
getSpecialCallingConv () |
|
|
Public Member Functions inherited from llvm::CCState |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
void |
AnalyzeCallOperands (SmallVectorImpl< MVT > &ArgVTs, SmallVectorImpl< ISD::ArgFlagsTy > &Flags, 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. |
|
|
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. |
|
|
bool |
IsShadowAllocatedReg (MCRegister Reg) const |
|
A shadow allocated register is a register that was allocated but wasn't added to the location list (Locs). |
|
|
void |
AnalyzeCallResult (MVT VT, 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. |
|
|
MCPhysReg |
AllocateRegBlock (ArrayRef< MCPhysReg > Regs, unsigned RegsRequired) |
|
AllocateRegBlock - 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. |
|
|
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. |
|
|
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 () |
|
|
void |
getRemainingRegParmsForType (SmallVectorImpl< MCPhysReg > &Regs, MVT VT, CCAssignFn Fn) |
|
Compute the remaining unused register parameters that would be used for the given value type. |
|
|
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. |
|
|