LLVM  15.0.0git
Public Member Functions | List of all members
llvm::X86MachineFunctionInfo Class Reference

X86MachineFunctionInfo - This class is derived from MachineFunction and contains private X86 target-specific information for each MachineFunction. More...

#include "Target/X86/X86MachineFunctionInfo.h"

Inheritance diagram for llvm::X86MachineFunctionInfo:
Inheritance graph
[legend]
Collaboration diagram for llvm::X86MachineFunctionInfo:
Collaboration graph
[legend]

Public Member Functions

 X86MachineFunctionInfo ()=default
 
 X86MachineFunctionInfo (MachineFunction &MF)
 
 X86MachineFunctionInfo (const X86MachineFunctionInfo &)=default
 
MachineFunctionInfoclone (BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
 Make a functionally equivalent copy of this MachineFunctionInfo in MF. More...
 
bool getForceFramePointer () const
 
void setForceFramePointer (bool forceFP)
 
bool getHasPushSequences () const
 
void setHasPushSequences (bool HasPush)
 
bool getRestoreBasePointer () const
 
void setRestoreBasePointer (const MachineFunction *MF)
 
int getRestoreBasePointerOffset () const
 
DenseMap< int, unsigned > & getWinEHXMMSlotInfo ()
 
const DenseMap< int, unsigned > & getWinEHXMMSlotInfo () const
 
unsigned getCalleeSavedFrameSize () const
 
void setCalleeSavedFrameSize (unsigned bytes)
 
unsigned getBytesToPopOnReturn () const
 
void setBytesToPopOnReturn (unsigned bytes)
 
int getRAIndex () const
 
void setRAIndex (int Index)
 
int getFAIndex () const
 
void setFAIndex (int Index)
 
int getTCReturnAddrDelta () const
 
void setTCReturnAddrDelta (int delta)
 
Register getSRetReturnReg () const
 
void setSRetReturnReg (Register Reg)
 
Register getGlobalBaseReg () const
 
void setGlobalBaseReg (Register Reg)
 
int getVarArgsFrameIndex () const
 
void setVarArgsFrameIndex (int Idx)
 
int getRegSaveFrameIndex () const
 
void setRegSaveFrameIndex (int Idx)
 
unsigned getVarArgsGPOffset () const
 
void setVarArgsGPOffset (unsigned Offset)
 
unsigned getVarArgsFPOffset () const
 
void setVarArgsFPOffset (unsigned Offset)
 
unsigned getArgumentStackSize () const
 
void setArgumentStackSize (unsigned size)
 
unsigned getNumLocalDynamicTLSAccesses () const
 
void incNumLocalDynamicTLSAccesses ()
 
bool getHasSEHFramePtrSave () const
 
void setHasSEHFramePtrSave (bool V)
 
int getSEHFramePtrSaveIndex () const
 
void setSEHFramePtrSaveIndex (int Index)
 
SmallVectorImpl< ForwardedRegister > & getForwardedMustTailRegParms ()
 
bool isSplitCSR () const
 
void setIsSplitCSR (bool s)
 
bool getUsesRedZone () const
 
void setUsesRedZone (bool V)
 
bool hasDynAlloca () const
 
void setHasDynAlloca (bool v)
 
bool hasPreallocatedCall () const
 
void setHasPreallocatedCall (bool v)
 
bool hasSwiftAsyncContext () const
 
void setHasSwiftAsyncContext (bool v)
 
bool hasVirtualTileReg () const
 
void setHasVirtualTileReg (bool v)
 
Optional< intgetSwiftAsyncContextFrameIdx () const
 
void setSwiftAsyncContextFrameIdx (int v)
 
size_t getPreallocatedIdForCallSite (const Value *CS)
 
void setPreallocatedStackSize (size_t Id, size_t StackSize)
 
size_t getPreallocatedStackSize (const size_t Id)
 
void setPreallocatedArgOffsets (size_t Id, ArrayRef< size_t > AO)
 
ArrayRef< size_tgetPreallocatedArgOffsets (const size_t Id)
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::MachineFunctionInfo
template<typename Ty >
static Ty * create (BumpPtrAllocator &Allocator, MachineFunction &MF)
 Factory function: default behavior is to call new using the supplied allocator. More...
 
template<typename Ty >
static Ty * create (BumpPtrAllocator &Allocator, const Ty &MFI)
 

Detailed Description

X86MachineFunctionInfo - This class is derived from MachineFunction and contains private X86 target-specific information for each MachineFunction.

Definition at line 25 of file X86MachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ X86MachineFunctionInfo() [1/3]

llvm::X86MachineFunctionInfo::X86MachineFunctionInfo ( )
default

◆ X86MachineFunctionInfo() [2/3]

llvm::X86MachineFunctionInfo::X86MachineFunctionInfo ( MachineFunction MF)
inlineexplicit

Definition at line 136 of file X86MachineFunctionInfo.h.

◆ X86MachineFunctionInfo() [3/3]

llvm::X86MachineFunctionInfo::X86MachineFunctionInfo ( const X86MachineFunctionInfo )
explicitdefault

Member Function Documentation

◆ clone()

MachineFunctionInfo * X86MachineFunctionInfo::clone ( BumpPtrAllocator Allocator,
MachineFunction DestMF,
const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &  Src2DstMBB 
) const
overridevirtual

Make a functionally equivalent copy of this MachineFunctionInfo in MF.

This requires remapping MachineBasicBlock references from the original parent to values in the new function. Targets may assume that virtual register and frame index values are preserved in the new function.

Reimplemented from llvm::MachineFunctionInfo.

Definition at line 16 of file X86MachineFunctionInfo.cpp.

References llvm::MachineFunction::cloneInfo().

◆ getArgumentStackSize()

unsigned llvm::X86MachineFunctionInfo::getArgumentStackSize ( ) const
inline

◆ getBytesToPopOnReturn()

unsigned llvm::X86MachineFunctionInfo::getBytesToPopOnReturn ( ) const
inline

Definition at line 161 of file X86MachineFunctionInfo.h.

◆ getCalleeSavedFrameSize()

unsigned llvm::X86MachineFunctionInfo::getCalleeSavedFrameSize ( ) const
inline

◆ getFAIndex()

int llvm::X86MachineFunctionInfo::getFAIndex ( ) const
inline

◆ getForceFramePointer()

bool llvm::X86MachineFunctionInfo::getForceFramePointer ( ) const
inline

Definition at line 144 of file X86MachineFunctionInfo.h.

Referenced by llvm::X86FrameLowering::hasFP().

◆ getForwardedMustTailRegParms()

SmallVectorImpl<ForwardedRegister>& llvm::X86MachineFunctionInfo::getForwardedMustTailRegParms ( )
inline

Definition at line 203 of file X86MachineFunctionInfo.h.

◆ getGlobalBaseReg()

Register llvm::X86MachineFunctionInfo::getGlobalBaseReg ( ) const
inline

Definition at line 176 of file X86MachineFunctionInfo.h.

Referenced by llvm::X86InstrInfo::getGlobalBaseReg().

◆ getHasPushSequences()

bool llvm::X86MachineFunctionInfo::getHasPushSequences ( ) const
inline

◆ getHasSEHFramePtrSave()

bool llvm::X86MachineFunctionInfo::getHasSEHFramePtrSave ( ) const
inline

◆ getNumLocalDynamicTLSAccesses()

unsigned llvm::X86MachineFunctionInfo::getNumLocalDynamicTLSAccesses ( ) const
inline

Definition at line 194 of file X86MachineFunctionInfo.h.

◆ getPreallocatedArgOffsets()

ArrayRef<size_t> llvm::X86MachineFunctionInfo::getPreallocatedArgOffsets ( const size_t  Id)
inline

◆ getPreallocatedIdForCallSite()

size_t llvm::X86MachineFunctionInfo::getPreallocatedIdForCallSite ( const Value CS)
inline

◆ getPreallocatedStackSize()

size_t llvm::X86MachineFunctionInfo::getPreallocatedStackSize ( const size_t  Id)
inline

Definition at line 243 of file X86MachineFunctionInfo.h.

References assert().

Referenced by llvm::X86TargetLowering::EmitInstrWithCustomInserter().

◆ getRAIndex()

int llvm::X86MachineFunctionInfo::getRAIndex ( ) const
inline

◆ getRegSaveFrameIndex()

int llvm::X86MachineFunctionInfo::getRegSaveFrameIndex ( ) const
inline

Definition at line 182 of file X86MachineFunctionInfo.h.

◆ getRestoreBasePointer()

bool llvm::X86MachineFunctionInfo::getRestoreBasePointer ( ) const
inline

◆ getRestoreBasePointerOffset()

int llvm::X86MachineFunctionInfo::getRestoreBasePointerOffset ( ) const
inline

Definition at line 152 of file X86MachineFunctionInfo.h.

Referenced by llvm::X86FrameLowering::emitPrologue().

◆ getSEHFramePtrSaveIndex()

int llvm::X86MachineFunctionInfo::getSEHFramePtrSaveIndex ( ) const
inline

◆ getSRetReturnReg()

Register llvm::X86MachineFunctionInfo::getSRetReturnReg ( ) const
inline

Definition at line 173 of file X86MachineFunctionInfo.h.

◆ getSwiftAsyncContextFrameIdx()

Optional<int> llvm::X86MachineFunctionInfo::getSwiftAsyncContextFrameIdx ( ) const
inline

Definition at line 225 of file X86MachineFunctionInfo.h.

◆ getTCReturnAddrDelta()

int llvm::X86MachineFunctionInfo::getTCReturnAddrDelta ( ) const
inline

◆ getUsesRedZone()

bool llvm::X86MachineFunctionInfo::getUsesRedZone ( ) const
inline

◆ getVarArgsFPOffset()

unsigned llvm::X86MachineFunctionInfo::getVarArgsFPOffset ( ) const
inline

Definition at line 188 of file X86MachineFunctionInfo.h.

◆ getVarArgsFrameIndex()

int llvm::X86MachineFunctionInfo::getVarArgsFrameIndex ( ) const
inline

Definition at line 179 of file X86MachineFunctionInfo.h.

◆ getVarArgsGPOffset()

unsigned llvm::X86MachineFunctionInfo::getVarArgsGPOffset ( ) const
inline

Definition at line 185 of file X86MachineFunctionInfo.h.

◆ getWinEHXMMSlotInfo() [1/2]

DenseMap<int, unsigned>& llvm::X86MachineFunctionInfo::getWinEHXMMSlotInfo ( )
inline

◆ getWinEHXMMSlotInfo() [2/2]

const DenseMap<int, unsigned>& llvm::X86MachineFunctionInfo::getWinEHXMMSlotInfo ( ) const
inline

Definition at line 155 of file X86MachineFunctionInfo.h.

◆ hasDynAlloca()

bool llvm::X86MachineFunctionInfo::hasDynAlloca ( ) const
inline

Definition at line 213 of file X86MachineFunctionInfo.h.

◆ hasPreallocatedCall()

bool llvm::X86MachineFunctionInfo::hasPreallocatedCall ( ) const
inline

◆ hasSwiftAsyncContext()

bool llvm::X86MachineFunctionInfo::hasSwiftAsyncContext ( ) const
inline

◆ hasVirtualTileReg()

bool llvm::X86MachineFunctionInfo::hasVirtualTileReg ( ) const
inline

Definition at line 222 of file X86MachineFunctionInfo.h.

Referenced by llvm::X86FrameLowering::emitEpilogue().

◆ incNumLocalDynamicTLSAccesses()

void llvm::X86MachineFunctionInfo::incNumLocalDynamicTLSAccesses ( )
inline

Definition at line 195 of file X86MachineFunctionInfo.h.

Referenced by LowerToTLSLocalDynamicModel().

◆ isSplitCSR()

bool llvm::X86MachineFunctionInfo::isSplitCSR ( ) const
inline

◆ setArgumentStackSize()

void llvm::X86MachineFunctionInfo::setArgumentStackSize ( unsigned  size)
inline

Definition at line 192 of file X86MachineFunctionInfo.h.

References llvm::size().

◆ setBytesToPopOnReturn()

void llvm::X86MachineFunctionInfo::setBytesToPopOnReturn ( unsigned  bytes)
inline

Definition at line 162 of file X86MachineFunctionInfo.h.

◆ setCalleeSavedFrameSize()

void llvm::X86MachineFunctionInfo::setCalleeSavedFrameSize ( unsigned  bytes)
inline

◆ setFAIndex()

void llvm::X86MachineFunctionInfo::setFAIndex ( int  Index)
inline

Definition at line 168 of file X86MachineFunctionInfo.h.

◆ setForceFramePointer()

void llvm::X86MachineFunctionInfo::setForceFramePointer ( bool  forceFP)
inline

Definition at line 145 of file X86MachineFunctionInfo.h.

◆ setGlobalBaseReg()

void llvm::X86MachineFunctionInfo::setGlobalBaseReg ( Register  Reg)
inline

Definition at line 177 of file X86MachineFunctionInfo.h.

Referenced by llvm::X86InstrInfo::getGlobalBaseReg().

◆ setHasDynAlloca()

void llvm::X86MachineFunctionInfo::setHasDynAlloca ( bool  v)
inline

Definition at line 214 of file X86MachineFunctionInfo.h.

◆ setHasPreallocatedCall()

void llvm::X86MachineFunctionInfo::setHasPreallocatedCall ( bool  v)
inline

◆ setHasPushSequences()

void llvm::X86MachineFunctionInfo::setHasPushSequences ( bool  HasPush)
inline

Definition at line 148 of file X86MachineFunctionInfo.h.

◆ setHasSEHFramePtrSave()

void llvm::X86MachineFunctionInfo::setHasSEHFramePtrSave ( bool  V)
inline

◆ setHasSwiftAsyncContext()

void llvm::X86MachineFunctionInfo::setHasSwiftAsyncContext ( bool  v)
inline

Definition at line 220 of file X86MachineFunctionInfo.h.

◆ setHasVirtualTileReg()

void llvm::X86MachineFunctionInfo::setHasVirtualTileReg ( bool  v)
inline

Definition at line 223 of file X86MachineFunctionInfo.h.

◆ setIsSplitCSR()

void llvm::X86MachineFunctionInfo::setIsSplitCSR ( bool  s)
inline

Definition at line 208 of file X86MachineFunctionInfo.h.

References s.

◆ setPreallocatedArgOffsets()

void llvm::X86MachineFunctionInfo::setPreallocatedArgOffsets ( size_t  Id,
ArrayRef< size_t AO 
)
inline

◆ setPreallocatedStackSize()

void llvm::X86MachineFunctionInfo::setPreallocatedStackSize ( size_t  Id,
size_t  StackSize 
)
inline

Definition at line 239 of file X86MachineFunctionInfo.h.

◆ setRAIndex()

void llvm::X86MachineFunctionInfo::setRAIndex ( int  Index)
inline

◆ setRegSaveFrameIndex()

void llvm::X86MachineFunctionInfo::setRegSaveFrameIndex ( int  Idx)
inline

Definition at line 183 of file X86MachineFunctionInfo.h.

◆ setRestoreBasePointer()

void X86MachineFunctionInfo::setRestoreBasePointer ( const MachineFunction MF)

◆ setSEHFramePtrSaveIndex()

void llvm::X86MachineFunctionInfo::setSEHFramePtrSaveIndex ( int  Index)
inline

◆ setSRetReturnReg()

void llvm::X86MachineFunctionInfo::setSRetReturnReg ( Register  Reg)
inline

Definition at line 174 of file X86MachineFunctionInfo.h.

◆ setSwiftAsyncContextFrameIdx()

void llvm::X86MachineFunctionInfo::setSwiftAsyncContextFrameIdx ( int  v)
inline

Definition at line 228 of file X86MachineFunctionInfo.h.

◆ setTCReturnAddrDelta()

void llvm::X86MachineFunctionInfo::setTCReturnAddrDelta ( int  delta)
inline

Definition at line 171 of file X86MachineFunctionInfo.h.

◆ setUsesRedZone()

void llvm::X86MachineFunctionInfo::setUsesRedZone ( bool  V)
inline

Definition at line 211 of file X86MachineFunctionInfo.h.

Referenced by llvm::X86FrameLowering::emitPrologue().

◆ setVarArgsFPOffset()

void llvm::X86MachineFunctionInfo::setVarArgsFPOffset ( unsigned  Offset)
inline

Definition at line 189 of file X86MachineFunctionInfo.h.

◆ setVarArgsFrameIndex()

void llvm::X86MachineFunctionInfo::setVarArgsFrameIndex ( int  Idx)
inline

Definition at line 180 of file X86MachineFunctionInfo.h.

◆ setVarArgsGPOffset()

void llvm::X86MachineFunctionInfo::setVarArgsGPOffset ( unsigned  Offset)
inline

Definition at line 186 of file X86MachineFunctionInfo.h.


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