14 #ifndef LLVM_LIB_TARGET_X86_X86MACHINEFUNCTIONINFO_H
15 #define LLVM_LIB_TARGET_X86_X86MACHINEFUNCTIONINFO_H
27 virtual void anchor();
33 bool ForceFramePointer =
false;
39 signed char RestoreBasePointerOffset = 0;
43 unsigned CalleeSavedFrameSize = 0;
48 unsigned BytesToPopOnReturn = 0;
51 int ReturnAddrIndex = 0;
54 int FrameAddrIndex = 0;
58 int TailCallReturnAddrDelta = 0;
63 unsigned SRetReturnReg = 0;
68 unsigned GlobalBaseReg = 0;
71 int VarArgsFrameIndex = 0;
73 int RegSaveFrameIndex = 0;
75 unsigned VarArgsGPOffset = 0;
77 unsigned VarArgsFPOffset = 0;
80 unsigned ArgumentStackSize = 0;
82 unsigned NumLocalDynamics = 0;
85 bool HasPushSequences =
false;
89 bool HasSEHFramePtrSave =
false;
93 int SEHFramePtrSaveIndex = 0;
161 return ForwardedMustTailRegParms;
void setVarArgsFPOffset(unsigned Offset)
void setFAIndex(int Index)
unsigned getArgumentStackSize() const
unsigned getCalleeSavedFrameSize() const
void setCalleeSavedFrameSize(unsigned bytes)
void setSEHFramePtrSaveIndex(int Index)
void setRegSaveFrameIndex(int Idx)
X86MachineFunctionInfo - This class is derived from MachineFunction and contains private X86 target-s...
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
int getTCReturnAddrDelta() const
unsigned getVarArgsGPOffset() const
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Reg
All possible values of the reg field in the ModR/M byte.
unsigned getNumLocalDynamicTLSAccesses() const
bool getForceFramePointer() const
unsigned getVarArgsFPOffset() const
X86MachineFunctionInfo()=default
void setHasSEHFramePtrSave(bool V)
void setVarArgsFrameIndex(int Idx)
bool getHasSEHFramePtrSave() const
void incNumLocalDynamicTLSAccesses()
int getRegSaveFrameIndex() const
void setVarArgsGPOffset(unsigned Offset)
void setHasPushSequences(bool HasPush)
unsigned getGlobalBaseReg() const
void setBytesToPopOnReturn(unsigned bytes)
void setGlobalBaseReg(unsigned Reg)
void setRAIndex(int Index)
int getVarArgsFrameIndex() const
int getRestoreBasePointerOffset() const
void setRestoreBasePointer(const MachineFunction *MF)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
bool getHasPushSequences() const
void setForceFramePointer(bool forceFP)
void setTCReturnAddrDelta(int delta)
SmallVectorImpl< ForwardedRegister > & getForwardedMustTailRegParms()
void setArgumentStackSize(unsigned size)
int getSEHFramePtrSaveIndex() const
X86MachineFunctionInfo(MachineFunction &MF)
unsigned getSRetReturnReg() const
unsigned getBytesToPopOnReturn() const
void setSRetReturnReg(unsigned Reg)
bool getRestoreBasePointer() const