LLVM  3.7.0
Public Member Functions | List of all members
llvm::SystemZCCState Class Reference

#include <SystemZCallingConv.h>

Inheritance diagram for llvm::SystemZCCState:
[legend]
Collaboration diagram for llvm::SystemZCCState:
[legend]

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)
 
LLVMContextgetContext () const
 
MachineFunctiongetMachineFunction () const
 
CallingConv::ID getCallingConv () const
 
bool isVarArg () const
 
unsigned getNextStackOffset () const
 
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 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 > &ArgsFlags, 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 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...
 
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< uint16_t > 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...
 
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 ()
 
ParmContext getCallOrPrologue () const
 
SmallVectorImpl
< llvm::CCValAssign > & 
getPendingLocs ()
 
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...
 

Additional Inherited Members

- Protected Attributes inherited from llvm::CCState
ParmContext CallOrPrologue
 

Detailed Description

Definition at line 25 of file SystemZCallingConv.h.

Constructor & Destructor Documentation

llvm::SystemZCCState::SystemZCCState ( CallingConv::ID  CC,
bool  isVarArg,
MachineFunction MF,
SmallVectorImpl< CCValAssign > &  locs,
LLVMContext C 
)
inline

Definition at line 40 of file SystemZCallingConv.h.

Member Function Documentation

void llvm::SystemZCCState::AnalyzeCallOperands ( const SmallVectorImpl< ISD::OutputArg > &  Outs,
CCAssignFn  Fn 
)
inline
void llvm::SystemZCCState::AnalyzeCallOperands ( const SmallVectorImpl< MVT > &  Outs,
SmallVectorImpl< ISD::ArgFlagsTy > &  Flags,
CCAssignFn  Fn 
)
delete
void llvm::SystemZCCState::AnalyzeFormalArguments ( const SmallVectorImpl< ISD::InputArg > &  Ins,
CCAssignFn  Fn 
)
inline
bool llvm::SystemZCCState::IsFixed ( unsigned  ValNo)
inline

Definition at line 78 of file SystemZCallingConv.h.

bool llvm::SystemZCCState::IsShortVector ( unsigned  ValNo)
inline

Definition at line 79 of file SystemZCallingConv.h.


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