Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
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:
[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.
void initializeBaseYamlFields (const yaml::X86MachineFunctionInfo &YamlMFI)
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)
AMXProgModelEnum getAMXProgModel () const
void setAMXProgModel (AMXProgModelEnum Model)
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 padForPush2Pop2 () const
void setPadForPush2Pop2 (bool V)
bool isCandidateForPush2Pop2 (Register Reg) const
void addCandidateForPush2Pop2 (Register Reg)
size_t getNumCandidatesForPush2Pop2 () const
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)
bool getFPClobberedByCall () const
void setFPClobberedByCall (bool C)
bool getBPClobberedByCall () const
void setBPClobberedByCall (bool C)
bool getFPClobberedByInvoke () const
void setFPClobberedByInvoke (bool C)
bool getBPClobberedByInvoke () const
void setBPClobberedByInvoke (bool C)
Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()

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

Constructor & Destructor Documentation

◆ X86MachineFunctionInfo() [1/3]

llvm::X86MachineFunctionInfo::X86MachineFunctionInfo ( )
default

Referenced by clone(), and X86MachineFunctionInfo().

◆ X86MachineFunctionInfo() [2/3]

llvm::X86MachineFunctionInfo::X86MachineFunctionInfo ( const Function & F,
const TargetSubtargetInfo * STI )
inline

Definition at line 186 of file X86MachineFunctionInfo.h.

References F.

◆ X86MachineFunctionInfo() [3/3]

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

Member Function Documentation

◆ addCandidateForPush2Pop2()

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

Definition at line 293 of file X86MachineFunctionInfo.h.

References Reg.

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

◆ 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 24 of file X86MachineFunctionInfo.cpp.

References llvm::MachineFunction::cloneInfo(), and X86MachineFunctionInfo().

◆ getAMXProgModel()

AMXProgModelEnum llvm::X86MachineFunctionInfo::getAMXProgModel ( ) const
inline

Definition at line 261 of file X86MachineFunctionInfo.h.

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

◆ getArgumentStackSize()

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

◆ getBPClobberedByCall()

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

Definition at line 341 of file X86MachineFunctionInfo.h.

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

◆ getBPClobberedByInvoke()

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

Definition at line 347 of file X86MachineFunctionInfo.h.

Referenced by llvm::X86RegisterInfo::getReservedRegs().

◆ getBytesToPopOnReturn()

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

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

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

◆ getForwardedMustTailRegParms()

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

Definition at line 268 of file X86MachineFunctionInfo.h.

◆ getFPClobberedByCall()

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

Definition at line 338 of file X86MachineFunctionInfo.h.

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

◆ getFPClobberedByInvoke()

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

Definition at line 344 of file X86MachineFunctionInfo.h.

Referenced by llvm::X86RegisterInfo::getReservedRegs().

◆ getGlobalBaseReg()

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

Definition at line 234 of file X86MachineFunctionInfo.h.

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

◆ getHasPushSequences()

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

◆ getHasSEHFramePtrSave()

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

◆ getNumCandidatesForPush2Pop2()

size_t llvm::X86MachineFunctionInfo::getNumCandidatesForPush2Pop2 ( ) const
inline

◆ getNumLocalDynamicTLSAccesses()

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

Definition at line 252 of file X86MachineFunctionInfo.h.

◆ getPreallocatedArgOffsets()

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

Definition at line 333 of file X86MachineFunctionInfo.h.

References assert().

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

◆ getPreallocatedIdForCallSite()

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

Definition at line 311 of file X86MachineFunctionInfo.h.

◆ getPreallocatedStackSize()

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

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

◆ getRestoreBasePointer()

◆ getRestoreBasePointerOffset()

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

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

◆ getStackPtrSaveMI()

◆ getSwiftAsyncContextFrameIdx()

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

Definition at line 306 of file X86MachineFunctionInfo.h.

◆ getTCReturnAddrDelta()

◆ getUsesRedZone()

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

◆ getVarArgsFPOffset()

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

Definition at line 246 of file X86MachineFunctionInfo.h.

◆ getVarArgsFrameIndex()

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

Definition at line 237 of file X86MachineFunctionInfo.h.

◆ getVarArgsGPOffset()

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

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

◆ hasCFIAdjustCfa()

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

Definition at line 300 of file X86MachineFunctionInfo.h.

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

◆ hasDynAlloca()

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

Definition at line 278 of file X86MachineFunctionInfo.h.

◆ hasPreallocatedCall()

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

◆ hasSwiftAsyncContext()

◆ incNumLocalDynamicTLSAccesses()

void llvm::X86MachineFunctionInfo::incNumLocalDynamicTLSAccesses ( )
inline

Definition at line 253 of file X86MachineFunctionInfo.h.

Referenced by LowerToTLSLocalDynamicModel().

◆ initializeBaseYamlFields()

void X86MachineFunctionInfo::initializeBaseYamlFields ( const yaml::X86MachineFunctionInfo & YamlMFI)

◆ isCandidateForPush2Pop2()

bool llvm::X86MachineFunctionInfo::isCandidateForPush2Pop2 ( Register Reg) const
inline

◆ isSplitCSR()

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

◆ padForPush2Pop2()

◆ setAMXProgModel()

void llvm::X86MachineFunctionInfo::setAMXProgModel ( AMXProgModelEnum Model)
inline

◆ setArgumentStackSize()

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

Definition at line 250 of file X86MachineFunctionInfo.h.

References llvm::size().

◆ setBPClobberedByCall()

void llvm::X86MachineFunctionInfo::setBPClobberedByCall ( bool C)
inline

Definition at line 342 of file X86MachineFunctionInfo.h.

References llvm::CallingConv::C.

◆ setBPClobberedByInvoke()

void llvm::X86MachineFunctionInfo::setBPClobberedByInvoke ( bool C)
inline

Definition at line 348 of file X86MachineFunctionInfo.h.

References llvm::CallingConv::C.

◆ setBytesToPopOnReturn()

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

Definition at line 220 of file X86MachineFunctionInfo.h.

◆ setCalleeSavedFrameSize()

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

◆ setFAIndex()

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

Definition at line 226 of file X86MachineFunctionInfo.h.

◆ setForceFramePointer()

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

Definition at line 198 of file X86MachineFunctionInfo.h.

◆ setFPClobberedByCall()

void llvm::X86MachineFunctionInfo::setFPClobberedByCall ( bool C)
inline

Definition at line 339 of file X86MachineFunctionInfo.h.

References llvm::CallingConv::C.

◆ setFPClobberedByInvoke()

void llvm::X86MachineFunctionInfo::setFPClobberedByInvoke ( bool C)
inline

Definition at line 345 of file X86MachineFunctionInfo.h.

References llvm::CallingConv::C.

◆ setGlobalBaseReg()

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

Definition at line 235 of file X86MachineFunctionInfo.h.

References Reg.

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

◆ setHasCFIAdjustCfa()

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

Definition at line 301 of file X86MachineFunctionInfo.h.

◆ setHasDynAlloca()

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

Definition at line 279 of file X86MachineFunctionInfo.h.

◆ setHasPreallocatedCall()

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

◆ setHasPushSequences()

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

Definition at line 201 of file X86MachineFunctionInfo.h.

◆ setHasSEHFramePtrSave()

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

◆ setHasSwiftAsyncContext()

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

Definition at line 285 of file X86MachineFunctionInfo.h.

◆ setIsSplitCSR()

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

Definition at line 273 of file X86MachineFunctionInfo.h.

◆ setPadForPush2Pop2()

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

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

◆ setRAIndex()

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

◆ setRegSaveFrameIndex()

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

Definition at line 241 of file X86MachineFunctionInfo.h.

◆ setRestoreBasePointer() [1/2]

◆ setRestoreBasePointer() [2/2]

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

Definition at line 205 of file X86MachineFunctionInfo.h.

◆ setSEHFramePtrSaveIndex()

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

◆ setSRetReturnReg()

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

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

◆ setTCReturnAddrDelta()

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

Definition at line 229 of file X86MachineFunctionInfo.h.

◆ setUsesRedZone()

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

Definition at line 276 of file X86MachineFunctionInfo.h.

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

◆ setVarArgsFPOffset()

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

Definition at line 247 of file X86MachineFunctionInfo.h.

References llvm::Offset.

◆ setVarArgsFrameIndex()

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

Definition at line 238 of file X86MachineFunctionInfo.h.

◆ setVarArgsGPOffset()

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

Definition at line 244 of file X86MachineFunctionInfo.h.

References llvm::Offset.


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