LLVM
8.0.1
|
#include "Target/SystemZ/SystemZCallingConv.h"
Public Member Functions | |
SystemZCCState (CallingConv::ID CC, bool isVarArg, MachineFunction &MF, SmallVectorImpl< CCValAssign > &locs, LLVMContext &C) | |
void | AnalyzeFormalArguments (const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn) |
void | AnalyzeCallOperands (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn) |
void | AnalyzeCallOperands (const SmallVectorImpl< MVT > &Outs, SmallVectorImpl< ISD::ArgFlagsTy > &Flags, CCAssignFn Fn)=delete |
bool | IsFixed (unsigned ValNo) |
bool | IsShortVector (unsigned ValNo) |
Public Member Functions inherited from llvm::CCState | |
CCState (CallingConv::ID CC, bool isVarArg, MachineFunction &MF, SmallVectorImpl< CCValAssign > &locs, LLVMContext &C) | |
void | addLoc (const CCValAssign &V) |
LLVMContext & | getContext () const |
MachineFunction & | getMachineFunction () const |
CallingConv::ID | getCallingConv () const |
bool | isVarArg () const |
unsigned | getNextStackOffset () const |
getNextStackOffset - Return the next stack offset such that all stack slots satisfy their alignment requirements. More... | |
unsigned | 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. More... | |
bool | isAllocated (unsigned Reg) const |
isAllocated - Return true if the specified register (or an alias) is allocated. More... | |
void | AnalyzeFormalArguments (const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn) |
AnalyzeFormalArguments - Analyze an array of argument values, incorporating info about the formals into this state. More... | |
void | AnalyzeArguments (const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn Fn) |
The function will invoke AnalyzeFormalArguments. More... | |
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. More... | |
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. More... | |
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. More... | |
void | AnalyzeCallOperands (SmallVectorImpl< MVT > &ArgVTs, SmallVectorImpl< ISD::ArgFlagsTy > &Flags, CCAssignFn Fn) |
AnalyzeCallOperands - Same as above except it takes vectors of types and argument flags. More... | |
void | AnalyzeArguments (const SmallVectorImpl< ISD::OutputArg > &Outs, CCAssignFn Fn) |
The function will invoke AnalyzeCallOperands. More... | |
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. More... | |
bool | IsShadowAllocatedReg (unsigned Reg) const |
A shadow allocated register is a register that was allocated but wasn't added to the location list (Locs). More... | |
void | AnalyzeCallResult (MVT VT, CCAssignFn Fn) |
AnalyzeCallResult - Same as above except it's specialized for calls which produce a single value. More... | |
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. More... | |
unsigned | AllocateReg (unsigned Reg) |
AllocateReg - Attempt to allocate one register. More... | |
unsigned | AllocateReg (unsigned Reg, unsigned ShadowReg) |
Version of AllocateReg with extra register to be shadowed. More... | |
unsigned | AllocateReg (ArrayRef< MCPhysReg > Regs) |
AllocateReg - Attempt to allocate one of the specified registers. More... | |
unsigned | AllocateRegBlock (ArrayRef< MCPhysReg > Regs, unsigned RegsRequired) |
AllocateRegBlock - Attempt to allocate a block of RegsRequired consecutive registers. More... | |
unsigned | AllocateReg (ArrayRef< MCPhysReg > Regs, const MCPhysReg *ShadowRegs) |
Version of AllocateReg with list of registers to be shadowed. More... | |
unsigned | AllocateStack (unsigned Size, unsigned Align) |
AllocateStack - Allocate a chunk of stack space with the specified size and alignment. More... | |
void | ensureMaxAlignment (unsigned Align) |
unsigned | AllocateStack (unsigned Size, unsigned Align, unsigned ShadowReg) |
Version of AllocateStack with extra register to be shadowed. More... | |
unsigned | AllocateStack (unsigned Size, unsigned Align, ArrayRef< MCPhysReg > ShadowRegs) |
Version of AllocateStack with list of extra registers to be shadowed. More... | |
void | HandleByVal (unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, int MinSize, int MinAlign, ISD::ArgFlagsTy ArgFlags) |
Allocate space on the stack large enough to pass an argument by value. More... | |
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. More... | |
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. More... | |
template<class T > | |
void | AnalyzeArgumentsSecondPass (const SmallVectorImpl< T > &Args, CCAssignFn Fn) |
The function runs an additional analysis pass over function arguments. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::CCState | |
static bool | resultsCompatible (CallingConv::ID CalleeCC, CallingConv::ID CallerCC, MachineFunction &MF, LLVMContext &C, const SmallVectorImpl< ISD::InputArg > &Ins, CCAssignFn CalleeFn, CCAssignFn CallerFn) |
Returns true if the results of the two calling conventions are compatible. More... | |
Definition at line 26 of file SystemZCallingConv.h.
|
inline |
Definition at line 41 of file SystemZCallingConv.h.
|
inline |
Definition at line 59 of file SystemZCallingConv.h.
References llvm::CCState::AnalyzeCallOperands(), llvm::SmallVectorImpl< T >::clear(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorBase::size().
Referenced by llvm::SystemZTargetLowering::LowerCall().
|
delete |
|
inline |
Definition at line 45 of file SystemZCallingConv.h.
References llvm::CCState::AnalyzeFormalArguments(), llvm::SmallVectorImpl< T >::clear(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorBase::size().
Referenced by llvm::SystemZTargetLowering::LowerFormalArguments().
Definition at line 79 of file SystemZCallingConv.h.
Definition at line 80 of file SystemZCallingConv.h.