LLVM 17.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]

Public Member Functions

 X86MachineFunctionInfo ()=default
 
 X86MachineFunctionInfo (const Function &F, const TargetSubtargetInfo *STI)
 
 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.
 
bool getForceFramePointer () const
 
void setForceFramePointer (bool forceFP)
 
bool getHasPushSequences () const
 
void setHasPushSequences (bool HasPush)
 
bool getRestoreBasePointer () const
 
void setRestoreBasePointer (const MachineFunction *MF)
 
void setRestoreBasePointer (unsigned CalleeSavedFrameSize)
 
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)
 
bool hasCFIAdjustCfa () const
 
void setHasCFIAdjustCfa (bool v)
 
void setStackPtrSaveMI (MachineInstr *MI)
 
MachineInstrgetStackPtrSaveMI () const
 
std::optional< int > getSwiftAsyncContextFrameIdx () 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_t > getPreallocatedArgOffsets (const size_t Id)
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 
virtual MachineFunctionInfoclone (BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const
 Make a functionally equivalent copy of this MachineFunctionInfo in MF.
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::MachineFunctionInfo
template<typename FuncInfoTy , typename SubtargetTy = TargetSubtargetInfo>
static FuncInfoTy * create (BumpPtrAllocator &Allocator, const Function &F, const SubtargetTy *STI)
 Factory function: default behavior is to call new using the supplied allocator.
 
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 ( const Function F,
const TargetSubtargetInfo STI 
)
inline

Definition at line 142 of file X86MachineFunctionInfo.h.

◆ X86MachineFunctionInfo() [3/3]

llvm::X86MachineFunctionInfo::X86MachineFunctionInfo ( const X86MachineFunctionInfo )
default

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 171 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 151 of file X86MachineFunctionInfo.h.

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

◆ getForwardedMustTailRegParms()

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

Definition at line 213 of file X86MachineFunctionInfo.h.

◆ getGlobalBaseReg()

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

Definition at line 186 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 204 of file X86MachineFunctionInfo.h.

◆ getPreallocatedArgOffsets()

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

Definition at line 268 of file X86MachineFunctionInfo.h.

References assert().

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

◆ getPreallocatedIdForCallSite()

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

◆ getPreallocatedStackSize()

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

Definition at line 259 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 192 of file X86MachineFunctionInfo.h.

◆ getRestoreBasePointer()

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

◆ getRestoreBasePointerOffset()

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

Definition at line 162 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 183 of file X86MachineFunctionInfo.h.

◆ getStackPtrSaveMI()

MachineInstr * llvm::X86MachineFunctionInfo::getStackPtrSaveMI ( ) const
inline

◆ getSwiftAsyncContextFrameIdx()

std::optional< int > llvm::X86MachineFunctionInfo::getSwiftAsyncContextFrameIdx ( ) const
inline

Definition at line 241 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 198 of file X86MachineFunctionInfo.h.

◆ getVarArgsFrameIndex()

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

Definition at line 189 of file X86MachineFunctionInfo.h.

◆ getVarArgsGPOffset()

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

Definition at line 195 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 165 of file X86MachineFunctionInfo.h.

◆ hasCFIAdjustCfa()

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

Definition at line 235 of file X86MachineFunctionInfo.h.

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

◆ hasDynAlloca()

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

Definition at line 223 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 232 of file X86MachineFunctionInfo.h.

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

◆ incNumLocalDynamicTLSAccesses()

void llvm::X86MachineFunctionInfo::incNumLocalDynamicTLSAccesses ( )
inline

Definition at line 205 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 202 of file X86MachineFunctionInfo.h.

References llvm::size().

◆ setBytesToPopOnReturn()

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

Definition at line 172 of file X86MachineFunctionInfo.h.

◆ setCalleeSavedFrameSize()

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

◆ setFAIndex()

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

Definition at line 178 of file X86MachineFunctionInfo.h.

◆ setForceFramePointer()

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

Definition at line 152 of file X86MachineFunctionInfo.h.

◆ setGlobalBaseReg()

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

Definition at line 187 of file X86MachineFunctionInfo.h.

References Reg.

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

◆ setHasCFIAdjustCfa()

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

Definition at line 236 of file X86MachineFunctionInfo.h.

◆ setHasDynAlloca()

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

Definition at line 224 of file X86MachineFunctionInfo.h.

◆ setHasPreallocatedCall()

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

◆ setHasPushSequences()

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

Definition at line 155 of file X86MachineFunctionInfo.h.

◆ setHasSEHFramePtrSave()

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

◆ setHasSwiftAsyncContext()

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

Definition at line 230 of file X86MachineFunctionInfo.h.

◆ setHasVirtualTileReg()

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

Definition at line 233 of file X86MachineFunctionInfo.h.

◆ setIsSplitCSR()

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

Definition at line 218 of file X86MachineFunctionInfo.h.

◆ 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 255 of file X86MachineFunctionInfo.h.

◆ setRAIndex()

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

Definition at line 175 of file X86MachineFunctionInfo.h.

◆ setRegSaveFrameIndex()

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

Definition at line 193 of file X86MachineFunctionInfo.h.

References Idx.

◆ setRestoreBasePointer() [1/2]

void X86MachineFunctionInfo::setRestoreBasePointer ( const MachineFunction MF)

◆ setRestoreBasePointer() [2/2]

void llvm::X86MachineFunctionInfo::setRestoreBasePointer ( unsigned  CalleeSavedFrameSize)
inline

Definition at line 159 of file X86MachineFunctionInfo.h.

◆ setSEHFramePtrSaveIndex()

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

◆ setSRetReturnReg()

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

Definition at line 184 of file X86MachineFunctionInfo.h.

References Reg.

◆ setStackPtrSaveMI()

void llvm::X86MachineFunctionInfo::setStackPtrSaveMI ( MachineInstr MI)
inline

◆ setSwiftAsyncContextFrameIdx()

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

Definition at line 244 of file X86MachineFunctionInfo.h.

◆ setTCReturnAddrDelta()

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

Definition at line 181 of file X86MachineFunctionInfo.h.

◆ setUsesRedZone()

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

Definition at line 221 of file X86MachineFunctionInfo.h.

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

◆ setVarArgsFPOffset()

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

Definition at line 199 of file X86MachineFunctionInfo.h.

References llvm::Offset.

◆ setVarArgsFrameIndex()

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

Definition at line 190 of file X86MachineFunctionInfo.h.

References Idx.

◆ setVarArgsGPOffset()

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

Definition at line 196 of file X86MachineFunctionInfo.h.

References llvm::Offset.


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