LLVM  10.0.0svn
Classes | Public Member Functions | Public Attributes | Friends | List of all members
llvm::SIMachineFunctionInfo Class Referencefinal

This class keeps track of the SPI_SP_INPUT_ADDR config register, which tells the hardware which interpolation parameters to load. More...

#include "Target/AMDGPU/SIMachineFunctionInfo.h"

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

Classes

struct  SGPRSpillVGPRCSR
 
struct  SpilledReg
 
struct  VGPRSpillToAGPR
 

Public Member Functions

void ReserveWWMRegister (unsigned reg)
 
 SIMachineFunctionInfo (const MachineFunction &MF)
 
bool initializeBaseYamlFields (const yaml::SIMachineFunctionInfo &YamlMFI)
 
ArrayRef< SpilledReggetSGPRToVGPRSpills (int FrameIndex) const
 
ArrayRef< SGPRSpillVGPRCSRgetSGPRSpillVGPRs () const
 
ArrayRef< MCPhysReggetAGPRSpillVGPRs () const
 
ArrayRef< MCPhysReggetVGPRSpillAGPRs () const
 
MCPhysReg getVGPRToAGPRSpill (int FrameIndex, unsigned Lane) const
 
AMDGPU::SIModeRegisterDefaults getMode () const
 
bool haveFreeLanesForSGPRSpill (const MachineFunction &MF, unsigned NumLane) const
 returns true if NumLanes slots are available in VGPRs already used for SGPR spilling. More...
 
bool allocateSGPRSpillToVGPR (MachineFunction &MF, int FI)
 Reserve a slice of a VGPR to support spilling for FrameIndex FI. More...
 
bool allocateVGPRSpillToAGPR (MachineFunction &MF, int FI, bool isAGPRtoVGPR)
 Reserve AGPRs or VGPRs to support spilling for FrameIndex FI. More...
 
void removeDeadFrameIndices (MachineFrameInfo &MFI)
 
bool hasCalculatedTID () const
 
unsigned getTIDReg () const
 
void setTIDReg (unsigned Reg)
 
unsigned getBytesInStackArgArea () const
 
void setBytesInStackArgArea (unsigned Bytes)
 
unsigned addPrivateSegmentBuffer (const SIRegisterInfo &TRI)
 
unsigned addDispatchPtr (const SIRegisterInfo &TRI)
 
unsigned addQueuePtr (const SIRegisterInfo &TRI)
 
unsigned addKernargSegmentPtr (const SIRegisterInfo &TRI)
 
unsigned addDispatchID (const SIRegisterInfo &TRI)
 
unsigned addFlatScratchInit (const SIRegisterInfo &TRI)
 
unsigned addImplicitBufferPtr (const SIRegisterInfo &TRI)
 
unsigned addWorkGroupIDX ()
 
unsigned addWorkGroupIDY ()
 
unsigned addWorkGroupIDZ ()
 
unsigned addWorkGroupInfo ()
 
void setWorkItemIDX (ArgDescriptor Arg)
 
void setWorkItemIDY (ArgDescriptor Arg)
 
void setWorkItemIDZ (ArgDescriptor Arg)
 
unsigned addPrivateSegmentWaveByteOffset ()
 
void setPrivateSegmentWaveByteOffset (unsigned Reg)
 
bool hasPrivateSegmentBuffer () const
 
bool hasDispatchPtr () const
 
bool hasQueuePtr () const
 
bool hasKernargSegmentPtr () const
 
bool hasDispatchID () const
 
bool hasFlatScratchInit () const
 
bool hasWorkGroupIDX () const
 
bool hasWorkGroupIDY () const
 
bool hasWorkGroupIDZ () const
 
bool hasWorkGroupInfo () const
 
bool hasPrivateSegmentWaveByteOffset () const
 
bool hasWorkItemIDX () const
 
bool hasWorkItemIDY () const
 
bool hasWorkItemIDZ () const
 
bool hasImplicitArgPtr () const
 
bool hasImplicitBufferPtr () const
 
AMDGPUFunctionArgInfogetArgInfo ()
 
const AMDGPUFunctionArgInfogetArgInfo () const
 
std::pair< const ArgDescriptor *, const TargetRegisterClass * > getPreloadedValue (AMDGPUFunctionArgInfo::PreloadedValue Value) const
 
Register getPreloadedReg (AMDGPUFunctionArgInfo::PreloadedValue Value) const
 
unsigned getGITPtrHigh () const
 
uint32_t get32BitAddressHighBits () const
 
unsigned getGDSSize () const
 
unsigned getNumUserSGPRs () const
 
unsigned getNumPreloadedSGPRs () const
 
unsigned getPrivateSegmentWaveByteOffsetSystemSGPR () const
 
unsigned getScratchRSrcReg () const
 Returns the physical register reserved for use as the resource descriptor for scratch accesses. More...
 
void setScratchRSrcReg (unsigned Reg)
 
unsigned getScratchWaveOffsetReg () const
 
unsigned getFrameOffsetReg () const
 
void setFrameOffsetReg (unsigned Reg)
 
void setStackPtrOffsetReg (unsigned Reg)
 
unsigned getStackPtrOffsetReg () const
 
void setScratchWaveOffsetReg (unsigned Reg)
 
unsigned getQueuePtrUserSGPR () const
 
unsigned getImplicitBufferPtrUserSGPR () const
 
bool hasSpilledSGPRs () const
 
void setHasSpilledSGPRs (bool Spill=true)
 
bool hasSpilledVGPRs () const
 
void setHasSpilledVGPRs (bool Spill=true)
 
bool hasNonSpillStackObjects () const
 
void setHasNonSpillStackObjects (bool StackObject=true)
 
bool isStackRealigned () const
 
void setIsStackRealigned (bool Realigned=true)
 
unsigned getNumSpilledSGPRs () const
 
unsigned getNumSpilledVGPRs () const
 
void addToSpilledSGPRs (unsigned num)
 
void addToSpilledVGPRs (unsigned num)
 
unsigned getPSInputAddr () const
 
unsigned getPSInputEnable () const
 
bool isPSInputAllocated (unsigned Index) const
 
void markPSInputAllocated (unsigned Index)
 
void markPSInputEnabled (unsigned Index)
 
bool returnsVoid () const
 
void setIfReturnsVoid (bool Value)
 
std::pair< unsigned, unsignedgetFlatWorkGroupSizes () const
 
unsigned getMinFlatWorkGroupSize () const
 
unsigned getMaxFlatWorkGroupSize () const
 
std::pair< unsigned, unsignedgetWavesPerEU () const
 
unsigned getMinWavesPerEU () const
 
unsigned getMaxWavesPerEU () const
 
unsigned getWorkGroupIDSGPR (unsigned Dim) const
 
unsigned getLDSWaveSpillSize () const
 
const AMDGPUBufferPseudoSourceValuegetBufferPSV (const SIInstrInfo &TII, const Value *BufferRsrc)
 
const AMDGPUImagePseudoSourceValuegetImagePSV (const SIInstrInfo &TII, const Value *ImgRsrc)
 
const AMDGPUGWSResourcePseudoSourceValuegetGWSPSV (const SIInstrInfo &TII)
 
unsigned getOccupancy () const
 
unsigned getMinAllowedOccupancy () const
 
void limitOccupancy (const MachineFunction &MF)
 
void limitOccupancy (unsigned Limit)
 
void increaseOccupancy (const MachineFunction &MF, unsigned Limit)
 
- Public Member Functions inherited from llvm::AMDGPUMachineFunction
 AMDGPUMachineFunction (const MachineFunction &MF)
 
uint64_t getExplicitKernArgSize () const
 
unsigned getMaxKernArgAlign () const
 
unsigned getLDSSize () const
 
bool isEntryFunction () const
 
bool hasNoSignedZerosFPMath () const
 
bool isMemoryBound () const
 
bool needsWaveLimiter () const
 
unsigned allocateLDSGlobal (const DataLayout &DL, const GlobalValue &GV)
 
- Public Member Functions inherited from llvm::MachineFunctionInfo
virtual ~MachineFunctionInfo ()
 

Public Attributes

SparseBitVector WWMReservedRegs
 
unsigned SGPRForFPSaveRestoreCopy = 0
 If this is set, an SGPR used for save/restore of the register used for the frame pointer. More...
 
Optional< int > FramePointerSaveIndex
 

Friends

class GCNTargetMachine
 

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...
 
- Protected Attributes inherited from llvm::AMDGPUMachineFunction
uint64_t ExplicitKernArgSize
 
Align MaxKernArgAlign
 
unsigned LDSSize
 Number of bytes in the LDS that are being used. More...
 
bool IsEntryFunction
 
bool NoSignedZerosFPMath
 
bool MemoryBound
 
bool WaveLimiter
 

Detailed Description

This class keeps track of the SPI_SP_INPUT_ADDR config register, which tells the hardware which interpolation parameters to load.

Definition at line 315 of file SIMachineFunctionInfo.h.

Constructor & Destructor Documentation

◆ SIMachineFunctionInfo()

SIMachineFunctionInfo::SIMachineFunctionInfo ( const MachineFunction MF)

Member Function Documentation

◆ addDispatchID()

unsigned SIMachineFunctionInfo::addDispatchID ( const SIRegisterInfo TRI)

◆ addDispatchPtr()

unsigned SIMachineFunctionInfo::addDispatchPtr ( const SIRegisterInfo TRI)

◆ addFlatScratchInit()

unsigned SIMachineFunctionInfo::addFlatScratchInit ( const SIRegisterInfo TRI)

◆ addImplicitBufferPtr()

unsigned SIMachineFunctionInfo::addImplicitBufferPtr ( const SIRegisterInfo TRI)

◆ addKernargSegmentPtr()

unsigned SIMachineFunctionInfo::addKernargSegmentPtr ( const SIRegisterInfo TRI)

◆ addPrivateSegmentBuffer()

unsigned SIMachineFunctionInfo::addPrivateSegmentBuffer ( const SIRegisterInfo TRI)

◆ addPrivateSegmentWaveByteOffset()

unsigned llvm::SIMachineFunctionInfo::addPrivateSegmentWaveByteOffset ( )
inline

◆ addQueuePtr()

unsigned SIMachineFunctionInfo::addQueuePtr ( const SIRegisterInfo TRI)

◆ addToSpilledSGPRs()

void llvm::SIMachineFunctionInfo::addToSpilledSGPRs ( unsigned  num)
inline

Definition at line 786 of file SIMachineFunctionInfo.h.

Referenced by llvm::SIRegisterInfo::spillSGPR().

◆ addToSpilledVGPRs()

void llvm::SIMachineFunctionInfo::addToSpilledVGPRs ( unsigned  num)
inline

Definition at line 790 of file SIMachineFunctionInfo.h.

Referenced by llvm::SIRegisterInfo::eliminateFrameIndex().

◆ addWorkGroupIDX()

unsigned llvm::SIMachineFunctionInfo::addWorkGroupIDX ( )
inline

◆ addWorkGroupIDY()

unsigned llvm::SIMachineFunctionInfo::addWorkGroupIDY ( )
inline

◆ addWorkGroupIDZ()

unsigned llvm::SIMachineFunctionInfo::addWorkGroupIDZ ( )
inline

◆ addWorkGroupInfo()

unsigned llvm::SIMachineFunctionInfo::addWorkGroupInfo ( )
inline

◆ allocateSGPRSpillToVGPR()

bool SIMachineFunctionInfo::allocateSGPRSpillToVGPR ( MachineFunction MF,
int  FI 
)

◆ allocateVGPRSpillToAGPR()

bool SIMachineFunctionInfo::allocateVGPRSpillToAGPR ( MachineFunction MF,
int  FI,
bool  isAGPRtoVGPR 
)

◆ get32BitAddressHighBits()

uint32_t llvm::SIMachineFunctionInfo::get32BitAddressHighBits ( ) const
inline

◆ getAGPRSpillVGPRs()

ArrayRef<MCPhysReg> llvm::SIMachineFunctionInfo::getAGPRSpillVGPRs ( ) const
inline

◆ getArgInfo() [1/2]

AMDGPUFunctionArgInfo& llvm::SIMachineFunctionInfo::getArgInfo ( )
inline

◆ getArgInfo() [2/2]

const AMDGPUFunctionArgInfo& llvm::SIMachineFunctionInfo::getArgInfo ( ) const
inline

Definition at line 658 of file SIMachineFunctionInfo.h.

◆ getBufferPSV()

const AMDGPUBufferPseudoSourceValue* llvm::SIMachineFunctionInfo::getBufferPSV ( const SIInstrInfo TII,
const Value BufferRsrc 
)
inline

Definition at line 874 of file SIMachineFunctionInfo.h.

References assert().

Referenced by llvm::SITargetLowering::getTgtMemIntrinsic().

◆ getBytesInStackArgArea()

unsigned llvm::SIMachineFunctionInfo::getBytesInStackArgArea ( ) const
inline

◆ getFlatWorkGroupSizes()

std::pair<unsigned, unsigned> llvm::SIMachineFunctionInfo::getFlatWorkGroupSizes ( ) const
inline
Returns
A pair of default/requested minimum/maximum flat work group sizes for this function.

Definition at line 824 of file SIMachineFunctionInfo.h.

◆ getFrameOffsetReg()

unsigned llvm::SIMachineFunctionInfo::getFrameOffsetReg ( ) const
inline

◆ getGDSSize()

unsigned llvm::SIMachineFunctionInfo::getGDSSize ( ) const
inline

Definition at line 680 of file SIMachineFunctionInfo.h.

◆ getGITPtrHigh()

unsigned llvm::SIMachineFunctionInfo::getGITPtrHigh ( ) const
inline

◆ getGWSPSV()

const AMDGPUGWSResourcePseudoSourceValue* llvm::SIMachineFunctionInfo::getGWSPSV ( const SIInstrInfo TII)
inline

Definition at line 892 of file SIMachineFunctionInfo.h.

References TII.

Referenced by llvm::SITargetLowering::getTgtMemIntrinsic().

◆ getImagePSV()

const AMDGPUImagePseudoSourceValue* llvm::SIMachineFunctionInfo::getImagePSV ( const SIInstrInfo TII,
const Value ImgRsrc 
)
inline

Definition at line 883 of file SIMachineFunctionInfo.h.

References assert().

Referenced by llvm::SITargetLowering::getTgtMemIntrinsic().

◆ getImplicitBufferPtrUserSGPR()

unsigned llvm::SIMachineFunctionInfo::getImplicitBufferPtrUserSGPR ( ) const
inline

◆ getLDSWaveSpillSize()

unsigned llvm::SIMachineFunctionInfo::getLDSWaveSpillSize ( ) const
inline

Definition at line 870 of file SIMachineFunctionInfo.h.

Referenced by hasAnyNonFlatUseOfReg().

◆ getMaxFlatWorkGroupSize()

unsigned llvm::SIMachineFunctionInfo::getMaxFlatWorkGroupSize ( ) const
inline
Returns
Default/requested maximum flat work group size for this function.

Definition at line 834 of file SIMachineFunctionInfo.h.

Referenced by llvm::SIInstrInfo::calculateLDSSpillAddress(), and hasAnyNonFlatUseOfReg().

◆ getMaxWavesPerEU()

unsigned llvm::SIMachineFunctionInfo::getMaxWavesPerEU ( ) const
inline
Returns
Default/requested maximum number of waves per execution unit.

Definition at line 850 of file SIMachineFunctionInfo.h.

Referenced by hasAnyNonFlatUseOfReg(), and limitOccupancy().

◆ getMinAllowedOccupancy()

unsigned llvm::SIMachineFunctionInfo::getMinAllowedOccupancy ( ) const
inline

◆ getMinFlatWorkGroupSize()

unsigned llvm::SIMachineFunctionInfo::getMinFlatWorkGroupSize ( ) const
inline
Returns
Default/requested minimum flat work group size for this function.

Definition at line 829 of file SIMachineFunctionInfo.h.

◆ getMinWavesPerEU()

unsigned llvm::SIMachineFunctionInfo::getMinWavesPerEU ( ) const
inline
Returns
Default/requested minimum number of waves per execution unit.

Definition at line 845 of file SIMachineFunctionInfo.h.

◆ getMode()

AMDGPU::SIModeRegisterDefaults llvm::SIMachineFunctionInfo::getMode ( ) const
inline

◆ getNumPreloadedSGPRs()

unsigned llvm::SIMachineFunctionInfo::getNumPreloadedSGPRs ( ) const
inline

◆ getNumSpilledSGPRs()

unsigned llvm::SIMachineFunctionInfo::getNumSpilledSGPRs ( ) const
inline

◆ getNumSpilledVGPRs()

unsigned llvm::SIMachineFunctionInfo::getNumSpilledVGPRs ( ) const
inline

◆ getNumUserSGPRs()

unsigned llvm::SIMachineFunctionInfo::getNumUserSGPRs ( ) const
inline

Definition at line 684 of file SIMachineFunctionInfo.h.

Referenced by hasAnyNonFlatUseOfReg().

◆ getOccupancy()

unsigned llvm::SIMachineFunctionInfo::getOccupancy ( ) const
inline

◆ getPreloadedReg()

Register llvm::SIMachineFunctionInfo::getPreloadedReg ( AMDGPUFunctionArgInfo::PreloadedValue  Value) const
inline

◆ getPreloadedValue()

std::pair<const ArgDescriptor *, const TargetRegisterClass *> llvm::SIMachineFunctionInfo::getPreloadedValue ( AMDGPUFunctionArgInfo::PreloadedValue  Value) const
inline

◆ getPrivateSegmentWaveByteOffsetSystemSGPR()

unsigned llvm::SIMachineFunctionInfo::getPrivateSegmentWaveByteOffsetSystemSGPR ( ) const
inline

◆ getPSInputAddr()

unsigned llvm::SIMachineFunctionInfo::getPSInputAddr ( ) const
inline

◆ getPSInputEnable()

unsigned llvm::SIMachineFunctionInfo::getPSInputEnable ( ) const
inline

◆ getQueuePtrUserSGPR()

unsigned llvm::SIMachineFunctionInfo::getQueuePtrUserSGPR ( ) const
inline

◆ getScratchRSrcReg()

unsigned llvm::SIMachineFunctionInfo::getScratchRSrcReg ( ) const
inline

◆ getScratchWaveOffsetReg()

unsigned llvm::SIMachineFunctionInfo::getScratchWaveOffsetReg ( ) const
inline

◆ getSGPRSpillVGPRs()

ArrayRef<SGPRSpillVGPRCSR> llvm::SIMachineFunctionInfo::getSGPRSpillVGPRs ( ) const
inline

◆ getSGPRToVGPRSpills()

ArrayRef<SpilledReg> llvm::SIMachineFunctionInfo::getSGPRToVGPRSpills ( int  FrameIndex) const
inline

◆ getStackPtrOffsetReg()

unsigned llvm::SIMachineFunctionInfo::getStackPtrOffsetReg ( ) const
inline

◆ getTIDReg()

unsigned llvm::SIMachineFunctionInfo::getTIDReg ( ) const
inline

◆ getVGPRSpillAGPRs()

ArrayRef<MCPhysReg> llvm::SIMachineFunctionInfo::getVGPRSpillAGPRs ( ) const
inline

◆ getVGPRToAGPRSpill()

MCPhysReg llvm::SIMachineFunctionInfo::getVGPRToAGPRSpill ( int  FrameIndex,
unsigned  Lane 
) const
inline

◆ getWavesPerEU()

std::pair<unsigned, unsigned> llvm::SIMachineFunctionInfo::getWavesPerEU ( ) const
inline
Returns
A pair of default/requested minimum/maximum number of waves per execution unit.

Definition at line 840 of file SIMachineFunctionInfo.h.

Referenced by llvm::GCNSubtarget::getMaxNumSGPRs(), and llvm::GCNSubtarget::getMaxNumVGPRs().

◆ getWorkGroupIDSGPR()

unsigned llvm::SIMachineFunctionInfo::getWorkGroupIDSGPR ( unsigned  Dim) const
inline

◆ hasCalculatedTID()

bool llvm::SIMachineFunctionInfo::hasCalculatedTID ( ) const
inline

◆ hasDispatchID()

bool llvm::SIMachineFunctionInfo::hasDispatchID ( ) const
inline

◆ hasDispatchPtr()

bool llvm::SIMachineFunctionInfo::hasDispatchPtr ( ) const
inline

◆ hasFlatScratchInit()

bool llvm::SIMachineFunctionInfo::hasFlatScratchInit ( ) const
inline

◆ hasImplicitArgPtr()

bool llvm::SIMachineFunctionInfo::hasImplicitArgPtr ( ) const
inline

◆ hasImplicitBufferPtr()

bool llvm::SIMachineFunctionInfo::hasImplicitBufferPtr ( ) const
inline

◆ hasKernargSegmentPtr()

bool llvm::SIMachineFunctionInfo::hasKernargSegmentPtr ( ) const
inline

◆ hasNonSpillStackObjects()

bool llvm::SIMachineFunctionInfo::hasNonSpillStackObjects ( ) const
inline

Definition at line 762 of file SIMachineFunctionInfo.h.

Referenced by SIMachineFunctionInfo().

◆ hasPrivateSegmentBuffer()

bool llvm::SIMachineFunctionInfo::hasPrivateSegmentBuffer ( ) const
inline

◆ hasPrivateSegmentWaveByteOffset()

bool llvm::SIMachineFunctionInfo::hasPrivateSegmentWaveByteOffset ( ) const
inline

◆ hasQueuePtr()

bool llvm::SIMachineFunctionInfo::hasQueuePtr ( ) const
inline

◆ hasSpilledSGPRs()

bool llvm::SIMachineFunctionInfo::hasSpilledSGPRs ( ) const
inline

Definition at line 746 of file SIMachineFunctionInfo.h.

Referenced by insertCSRRestores().

◆ hasSpilledVGPRs()

bool llvm::SIMachineFunctionInfo::hasSpilledVGPRs ( ) const
inline

Definition at line 754 of file SIMachineFunctionInfo.h.

Referenced by insertCSRRestores().

◆ hasWorkGroupIDX()

bool llvm::SIMachineFunctionInfo::hasWorkGroupIDX ( ) const
inline

◆ hasWorkGroupIDY()

bool llvm::SIMachineFunctionInfo::hasWorkGroupIDY ( ) const
inline

◆ hasWorkGroupIDZ()

bool llvm::SIMachineFunctionInfo::hasWorkGroupIDZ ( ) const
inline

◆ hasWorkGroupInfo()

bool llvm::SIMachineFunctionInfo::hasWorkGroupInfo ( ) const
inline

◆ hasWorkItemIDX()

bool llvm::SIMachineFunctionInfo::hasWorkItemIDX ( ) const
inline

◆ hasWorkItemIDY()

bool llvm::SIMachineFunctionInfo::hasWorkItemIDY ( ) const
inline

◆ hasWorkItemIDZ()

bool llvm::SIMachineFunctionInfo::hasWorkItemIDZ ( ) const
inline

◆ haveFreeLanesForSGPRSpill()

bool SIMachineFunctionInfo::haveFreeLanesForSGPRSpill ( const MachineFunction MF,
unsigned  NumNeed 
) const

returns true if NumLanes slots are available in VGPRs already used for SGPR spilling.

Definition at line 253 of file SIMachineFunctionInfo.cpp.

References llvm::MachineFunction::getSubtarget(), llvm::AMDGPUSubtarget::getWavefrontSize(), and llvm::ARM_MB::ST.

Referenced by llvm::SIFrameLowering::determineCalleeSaves().

◆ increaseOccupancy()

void llvm::SIMachineFunctionInfo::increaseOccupancy ( const MachineFunction MF,
unsigned  Limit 
)
inline

◆ initializeBaseYamlFields()

bool SIMachineFunctionInfo::initializeBaseYamlFields ( const yaml::SIMachineFunctionInfo YamlMFI)

◆ isPSInputAllocated()

bool llvm::SIMachineFunctionInfo::isPSInputAllocated ( unsigned  Index) const
inline

◆ isStackRealigned()

bool llvm::SIMachineFunctionInfo::isStackRealigned ( ) const
inline

◆ limitOccupancy() [1/2]

void SIMachineFunctionInfo::limitOccupancy ( const MachineFunction MF)

◆ limitOccupancy() [2/2]

void llvm::SIMachineFunctionInfo::limitOccupancy ( unsigned  Limit)
inline

Definition at line 913 of file SIMachineFunctionInfo.h.

◆ markPSInputAllocated()

void llvm::SIMachineFunctionInfo::markPSInputAllocated ( unsigned  Index)
inline

◆ markPSInputEnabled()

void llvm::SIMachineFunctionInfo::markPSInputEnabled ( unsigned  Index)
inline

◆ removeDeadFrameIndices()

void SIMachineFunctionInfo::removeDeadFrameIndices ( MachineFrameInfo MFI)

◆ ReserveWWMRegister()

void llvm::SIMachineFunctionInfo::ReserveWWMRegister ( unsigned  reg)
inline

◆ returnsVoid()

bool llvm::SIMachineFunctionInfo::returnsVoid ( ) const
inline

◆ setBytesInStackArgArea()

void llvm::SIMachineFunctionInfo::setBytesInStackArgArea ( unsigned  Bytes)
inline

Definition at line 528 of file SIMachineFunctionInfo.h.

References TRI.

Referenced by llvm::SITargetLowering::LowerFormalArguments().

◆ setFrameOffsetReg()

void llvm::SIMachineFunctionInfo::setFrameOffsetReg ( unsigned  Reg)
inline

Definition at line 715 of file SIMachineFunctionInfo.h.

References assert(), and Reg.

Referenced by buildEpilogReload(), and reservePrivateMemoryRegs().

◆ setHasNonSpillStackObjects()

void llvm::SIMachineFunctionInfo::setHasNonSpillStackObjects ( bool  StackObject = true)
inline

Definition at line 766 of file SIMachineFunctionInfo.h.

Referenced by reservePrivateMemoryRegs().

◆ setHasSpilledSGPRs()

void llvm::SIMachineFunctionInfo::setHasSpilledSGPRs ( bool  Spill = true)
inline

◆ setHasSpilledVGPRs()

void llvm::SIMachineFunctionInfo::setHasSpilledVGPRs ( bool  Spill = true)
inline

Definition at line 758 of file SIMachineFunctionInfo.h.

Referenced by llvm::SIInstrInfo::storeRegToStackSlot().

◆ setIfReturnsVoid()

void llvm::SIMachineFunctionInfo::setIfReturnsVoid ( bool  Value)
inline

◆ setIsStackRealigned()

void llvm::SIMachineFunctionInfo::setIsStackRealigned ( bool  Realigned = true)
inline

Definition at line 774 of file SIMachineFunctionInfo.h.

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

◆ setPrivateSegmentWaveByteOffset()

void llvm::SIMachineFunctionInfo::setPrivateSegmentWaveByteOffset ( unsigned  Reg)
inline

◆ setScratchRSrcReg()

void llvm::SIMachineFunctionInfo::setScratchRSrcReg ( unsigned  Reg)
inline

Definition at line 702 of file SIMachineFunctionInfo.h.

References assert(), and Reg.

Referenced by buildEpilogReload(), and reservePrivateMemoryRegs().

◆ setScratchWaveOffsetReg()

void llvm::SIMachineFunctionInfo::setScratchWaveOffsetReg ( unsigned  Reg)
inline

Definition at line 733 of file SIMachineFunctionInfo.h.

References assert(), and Reg.

Referenced by buildEpilogReload(), and reservePrivateMemoryRegs().

◆ setStackPtrOffsetReg()

void llvm::SIMachineFunctionInfo::setStackPtrOffsetReg ( unsigned  Reg)
inline

Definition at line 720 of file SIMachineFunctionInfo.h.

References assert(), and Reg.

Referenced by buildEpilogReload(), and reservePrivateMemoryRegs().

◆ setTIDReg()

void llvm::SIMachineFunctionInfo::setTIDReg ( unsigned  Reg)
inline

Definition at line 522 of file SIMachineFunctionInfo.h.

References Reg.

Referenced by llvm::SIInstrInfo::calculateLDSSpillAddress().

◆ setWorkItemIDX()

void llvm::SIMachineFunctionInfo::setWorkItemIDX ( ArgDescriptor  Arg)
inline

◆ setWorkItemIDY()

void llvm::SIMachineFunctionInfo::setWorkItemIDY ( ArgDescriptor  Arg)
inline

◆ setWorkItemIDZ()

void llvm::SIMachineFunctionInfo::setWorkItemIDZ ( ArgDescriptor  Arg)
inline

Friends And Related Function Documentation

◆ GCNTargetMachine

friend class GCNTargetMachine
friend

Definition at line 316 of file SIMachineFunctionInfo.h.

Member Data Documentation

◆ FramePointerSaveIndex

Optional<int> llvm::SIMachineFunctionInfo::FramePointerSaveIndex

◆ SGPRForFPSaveRestoreCopy

unsigned llvm::SIMachineFunctionInfo::SGPRForFPSaveRestoreCopy = 0

If this is set, an SGPR used for save/restore of the register used for the frame pointer.

Definition at line 478 of file SIMachineFunctionInfo.h.

Referenced by llvm::SIFrameLowering::assignCalleeSavedSpillSlots(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::emitEpilogue(), and llvm::SIFrameLowering::emitPrologue().

◆ WWMReservedRegs

SparseBitVector llvm::SIMachineFunctionInfo::WWMReservedRegs

Definition at line 453 of file SIMachineFunctionInfo.h.

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


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