14 #ifndef LLVM_LIB_TARGET_X86_X86MACHINEFUNCTIONINFO_H 15 #define LLVM_LIB_TARGET_X86_X86MACHINEFUNCTIONINFO_H 26 virtual void anchor();
32 bool ForceFramePointer =
false;
38 signed char RestoreBasePointerOffset = 0;
42 unsigned CalleeSavedFrameSize = 0;
47 unsigned BytesToPopOnReturn = 0;
50 int ReturnAddrIndex = 0;
53 int FrameAddrIndex = 0;
57 int TailCallReturnAddrDelta = 0;
62 unsigned SRetReturnReg = 0;
67 unsigned GlobalBaseReg = 0;
70 int VarArgsFrameIndex = 0;
72 int RegSaveFrameIndex = 0;
74 unsigned VarArgsGPOffset = 0;
76 unsigned VarArgsFPOffset = 0;
79 unsigned ArgumentStackSize = 0;
81 unsigned NumLocalDynamics = 0;
84 bool HasPushSequences =
false;
88 bool HasSEHFramePtrSave =
false;
92 int SEHFramePtrSaveIndex = 0;
96 bool IsSplitCSR =
false;
99 bool UsesRedZone =
false;
102 bool HasWinAlloca =
false;
170 return ForwardedMustTailRegParms;
void setVarArgsFPOffset(unsigned Offset)
bool getRestoreBasePointer() const
This class represents lattice values for constants.
bool hasWinAlloca() const
void setFAIndex(int Index)
int getRestoreBasePointerOffset() 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 getRegSaveFrameIndex() const
bool getHasSEHFramePtrSave() const
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
unsigned getVarArgsGPOffset() const
X86MachineFunctionInfo()=default
int getTCReturnAddrDelta() const
void setHasSEHFramePtrSave(bool V)
void setVarArgsFrameIndex(int Idx)
void setHasWinAlloca(bool v)
void incNumLocalDynamicTLSAccesses()
void setVarArgsGPOffset(unsigned Offset)
void setHasPushSequences(bool HasPush)
void setBytesToPopOnReturn(unsigned bytes)
unsigned getArgumentStackSize() const
unsigned getSRetReturnReg() const
void setGlobalBaseReg(unsigned Reg)
void setRAIndex(int Index)
unsigned getVarArgsFPOffset() const
int getVarArgsFrameIndex() const
auto size(R &&Range, typename std::enable_if< std::is_same< typename std::iterator_traits< decltype(Range.begin())>::iterator_category, std::random_access_iterator_tag >::value, void >::type *=nullptr) -> decltype(std::distance(Range.begin(), Range.end()))
Get the size of a range.
void setRestoreBasePointer(const MachineFunction *MF)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
unsigned getNumLocalDynamicTLSAccesses() const
void setForceFramePointer(bool forceFP)
bool getForceFramePointer() const
bool getUsesRedZone() const
void setTCReturnAddrDelta(int delta)
SmallVectorImpl< ForwardedRegister > & getForwardedMustTailRegParms()
void setArgumentStackSize(unsigned size)
X86MachineFunctionInfo(MachineFunction &MF)
int getSEHFramePtrSaveIndex() const
unsigned getGlobalBaseReg() const
void setIsSplitCSR(bool s)
unsigned getBytesToPopOnReturn() const
void setSRetReturnReg(unsigned Reg)
void setUsesRedZone(bool V)
bool getHasPushSequences() const