LLVM 17.0.0git
|
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"
Classes | |
struct | VGPRSpillToAGPR |
Friends | |
class | GCNTargetMachine |
Additional Inherited Members | |
![]() | |
static std::optional< uint32_t > | getLDSKernelIdMetadata (const Function &F) |
static std::optional< uint32_t > | getLDSAbsoluteAddress (const GlobalValue &GV) |
![]() | |
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) |
![]() | |
uint64_t | ExplicitKernArgSize = 0 |
Align | MaxKernArgAlign |
uint32_t | LDSSize = 0 |
Number of bytes in the LDS that are being used. | |
uint32_t | GDSSize = 0 |
uint32_t | StaticLDSSize = 0 |
Number of bytes in the LDS allocated statically. | |
uint32_t | StaticGDSSize = 0 |
Align | DynLDSAlign |
Align for dynamic shared memory if any. | |
bool | IsEntryFunction = false |
bool | IsModuleEntryFunction = false |
bool | NoSignedZerosFPMath = false |
bool | MemoryBound = false |
bool | WaveLimiter = false |
This class keeps track of the SPI_SP_INPUT_ADDR config register, which tells the hardware which interpolation parameters to load.
Definition at line 359 of file SIMachineFunctionInfo.h.
|
default |
SIMachineFunctionInfo::SIMachineFunctionInfo | ( | const Function & | F, |
const GCNSubtarget * | STI | ||
) |
Definition at line 37 of file SIMachineFunctionInfo.cpp.
References A, llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_Gfx, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_KERNEL, llvm::CallingConv::AMDGPU_PS, CC, llvm::StringRef::consumeInteger(), llvm::ArgDescriptor::createRegister(), llvm::StringRef::empty(), F, llvm::AMDGPUArgumentUsageInfo::FixedABIFunctionInfo, llvm::AMDGPU::getInitialPSInputAddr(), llvm::AMDGPUMachineFunction::getLDSSize(), llvm::AMDGPUSubtarget::GFX9, HasCalls, llvm::AMDGPUMachineFunction::isEntryFunction(), llvm::AMDGPU::isGraphics(), llvm::AMDGPUMachineFunction::MaxKernArgAlign, mayUseAGPRs(), and llvm::CallingConv::SPIR_KERNEL.
Register SIMachineFunctionInfo::addDispatchID | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 254 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
Register SIMachineFunctionInfo::addDispatchPtr | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 232 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
Register SIMachineFunctionInfo::addFlatScratchInit | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 261 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
Register SIMachineFunctionInfo::addImplicitBufferPtr | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 268 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
Register SIMachineFunctionInfo::addKernargSegmentPtr | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 246 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
Register SIMachineFunctionInfo::addLDSKernelId | ( | ) |
Definition at line 275 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister().
Register SIMachineFunctionInfo::addPrivateSegmentBuffer | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 223 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
|
inline |
Definition at line 743 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister().
Register SIMachineFunctionInfo::addQueuePtr | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 239 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
|
inline |
Increment user SGPRs used for padding the argument list only.
Definition at line 688 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 573 of file SIMachineFunctionInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), Reg, and SI.
Referenced by getVGPRSpillLaneOrTempRegister().
|
inline |
Definition at line 941 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
|
inline |
Definition at line 945 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), and llvm::SIRegisterInfo::eliminateFrameIndex().
Definition at line 695 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister(), and Reg.
Definition at line 704 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister(), hasWorkGroupIDZ(), and Reg.
Definition at line 714 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister(), and Reg.
|
inline |
Definition at line 724 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister().
bool SIMachineFunctionInfo::allocateSGPRSpillToVGPRLane | ( | MachineFunction & | MF, |
int | FI, | ||
bool | IsPrologEpilog = false |
||
) |
Definition at line 370 of file SIMachineFunctionInfo.cpp.
References assert(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getSubtarget(), I, and Size.
Referenced by getVGPRSpillLaneOrTempRegister().
bool SIMachineFunctionInfo::allocateVGPRSpillToAGPR | ( | MachineFunction & | MF, |
int | FI, | ||
bool | isAGPRtoVGPR | ||
) |
Reserve AGPRs or VGPRs to support spilling for FrameIndex FI
.
Either AGPR is spilled to VGPR to vice versa. Returns true if a FI
can be eliminated completely.
Definition at line 417 of file SIMachineFunctionInfo.cpp.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::Function::getCallingConv(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineFunction::getRegInfo(), llvm::TargetRegisterClass::getRegisters(), llvm::MachineFunction::getSubtarget(), I, llvm::MachineFrameInfo::isSpillSlotObjectIndex(), MRI, llvm::BitVector::push_back(), llvm::BitVector::resize(), llvm::BitVector::set(), llvm::BitVector::setBitsInMask(), Size, and TRI.
void SIMachineFunctionInfo::allocateWWMSpill | ( | MachineFunction & | MF, |
Register | VGPR, | ||
uint64_t | Size = 4 , |
||
Align | Alignment = Align(4) |
||
) |
Definition at line 281 of file SIMachineFunctionInfo.cpp.
References llvm::MapVector< KeyT, ValueT, MapType, VectorType >::count(), llvm::MachineFrameInfo::CreateSpillStackObject(), llvm::MachineFunction::getFrameInfo(), llvm::MapVector< KeyT, ValueT, MapType, VectorType >::insert(), llvm::AMDGPUMachineFunction::isEntryFunction(), and Size.
Referenced by llvm::SIFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 603 of file SIMachineFunctionInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::find_if(), SI, and llvm::SPILL_TO_VGPR_LANE.
Referenced by removeDeadFrameIndices().
|
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 209 of file SIMachineFunctionInfo.cpp.
References llvm::MachineFunction::cloneInfo().
|
inline |
Definition at line 844 of file SIMachineFunctionInfo.h.
Definition at line 637 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs().
|
inline |
Definition at line 595 of file SIMachineFunctionInfo.h.
References llvm::COPY_TO_SCRATCH_SGPR, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and SI.
|
inline |
Definition at line 820 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUCallLowering::passSpecialInputs().
|
inline |
Definition at line 824 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 669 of file SIMachineFunctionInfo.h.
Definition at line 979 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 871 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::SIFrameLowering::determinePrologEpilogSGPRSaves(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::SIRegisterInfo::getReservedRegs(), and llvm::SIRegisterInfo::spillSGPR().
|
inline |
Definition at line 838 of file SIMachineFunctionInfo.h.
Referenced by buildGitPtr().
Register SIMachineFunctionInfo::getGITPtrLoReg | ( | const MachineFunction & | MF | ) | const |
Definition at line 544 of file SIMachineFunctionInfo.cpp.
References llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::Function::getCallingConv(), llvm::MachineFunction::getFunction(), and llvm::MachineFunction::getSubtarget().
Referenced by buildGitPtr(), and llvm::SIFrameLowering::emitEntryFunctionPrologue().
|
inline |
Definition at line 1026 of file SIMachineFunctionInfo.h.
Referenced by llvm::SITargetLowering::getTgtMemIntrinsic(), and llvm::AMDGPUMIRFormatter::parseCustomPseudoSourceValue().
|
inline |
Definition at line 897 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 989 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1005 of file SIMachineFunctionInfo.h.
Referenced by llvm::UnclusteredHighRPStage::initGCNSchedStage(), and limitOccupancy().
|
inline |
Definition at line 1034 of file SIMachineFunctionInfo.h.
References llvm::AMDGPUMachineFunction::isMemoryBound(), and llvm::AMDGPUMachineFunction::needsWaveLimiter().
Referenced by llvm::GCNSchedStage::checkScheduling().
|
inline |
Definition at line 984 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1000 of file SIMachineFunctionInfo.h.
Referenced by llvm::GCNSchedStage::mayCauseSpilling().
|
inline |
Definition at line 555 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPULegalizerInfo::legalizeFDIV32(), llvm::AMDGPULegalizerInfo::legalizeFFloor(), llvm::AMDGPULegalizerInfo::legalizeFMad(), llvm::AMDGPULegalizerInfo::legalizeMinNumMaxNum(), llvm::AMDGPULegalizerInfo::legalizeRsqClampIntrinsic(), llvm::AMDGPUTargetLowering::LowerDIVREM24(), and llvm::AMDGPUTargetLowering::LowerUDIVREM64().
|
inline |
Definition at line 852 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::emitEntryFunctionPrologue(), and llvm::GCNSubtarget::getMaxNumSGPRs().
|
inline |
Definition at line 933 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 937 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 848 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1030 of file SIMachineFunctionInfo.h.
Referenced by llvm::GCNSchedStrategy::initialize().
|
inline |
Definition at line 667 of file SIMachineFunctionInfo.h.
Referenced by llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo().
|
inline |
Definition at line 833 of file SIMachineFunctionInfo.h.
References Arg.
Referenced by llvm::SIFrameLowering::emitEntryFunctionPrologue().
|
inline |
Definition at line 829 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPULegalizerInfo::legalizeWorkitemIDIntrinsic(), and llvm::AMDGPULegalizerInfo::loadInputValue().
|
inline |
Definition at line 856 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 614 of file SIMachineFunctionInfo.h.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), I, and Reg.
|
inline |
Definition at line 569 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 622 of file SIMachineFunctionInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and I.
Referenced by getVGPRSpillLaneOrTempRegister().
|
inline |
Definition at line 949 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 953 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 893 of file SIMachineFunctionInfo.h.
int SIMachineFunctionInfo::getScavengeFI | ( | MachineFrameInfo & | MFI, |
const SIRegisterInfo & | TRI | ||
) |
Definition at line 519 of file SIMachineFunctionInfo.cpp.
References llvm::MachineFrameInfo::CreateFixedObject(), llvm::MachineFrameInfo::CreateStackObject(), llvm::AMDGPUMachineFunction::isEntryFunction(), and TRI.
Referenced by llvm::SGPRSpillBuilder::prepare().
|
inline |
Returns the physical register reserved for use as the resource descriptor for scratch accesses.
Definition at line 862 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs().
Definition at line 585 of file SIMachineFunctionInfo.h.
References llvm::COPY_TO_SCRATCH_SGPR, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), I, and Reg.
|
inline |
Definition at line 558 of file SIMachineFunctionInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and I.
Referenced by llvm::SIRegisterInfo::restoreSGPR(), and llvm::SIRegisterInfo::spillSGPR().
Definition at line 565 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs().
|
inline |
Definition at line 889 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::SIFrameLowering::eliminateCallFramePseudoInstr(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::SIRegisterInfo::getReservedRegs(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::SIRegisterInfo::spillSGPR(), and llvm::SIInstrInfo::storeRegToStackSlot().
|
inline |
Definition at line 529 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs(), and llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo().
Definition at line 641 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs().
|
inline |
Definition at line 645 of file SIMachineFunctionInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and I.
Referenced by spillVGPRtoAGPR().
Definition at line 995 of file SIMachineFunctionInfo.h.
Referenced by llvm::GCNSubtarget::getMaxNumSGPRs(), and llvm::GCNSubtarget::getMaxNumVGPRs().
Dim's
work group ID. Definition at line 1010 of file SIMachineFunctionInfo.h.
References assert(), hasWorkGroupIDX(), hasWorkGroupIDY(), hasWorkGroupIDZ(), and llvm_unreachable.
|
inline |
Definition at line 567 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs(), and llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo().
|
inline |
Definition at line 566 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 770 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 758 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 774 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::emitEntryFunctionPrologue(), and llvm::GCNSubtarget::getReservedNumSGPRs().
|
inline |
Definition at line 812 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 816 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 766 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 794 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 917 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 754 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 796 of file SIMachineFunctionInfo.h.
Definition at line 580 of file SIMachineFunctionInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::contains(), and Reg.
Referenced by llvm::SIFrameLowering::determinePrologEpilogSGPRSaves().
|
inline |
Definition at line 762 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitHiddenKernelArgs().
|
inline |
Definition at line 901 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::determineCalleeSavesSGPR().
|
inline |
Definition at line 909 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 778 of file SIMachineFunctionInfo.h.
Referenced by getWorkGroupIDSGPR().
|
inline |
Definition at line 782 of file SIMachineFunctionInfo.h.
Referenced by getWorkGroupIDSGPR().
|
inline |
Definition at line 786 of file SIMachineFunctionInfo.h.
Referenced by addWorkGroupIDY(), and getWorkGroupIDSGPR().
|
inline |
Definition at line 790 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 800 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 804 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 808 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1047 of file SIMachineFunctionInfo.h.
References limitOccupancy().
Referenced by llvm::UnclusteredHighRPStage::initGCNSchedStage().
bool SIMachineFunctionInfo::initializeBaseYamlFields | ( | const yaml::SIMachineFunctionInfo & | YamlMFI, |
const MachineFunction & | MF, | ||
PerFunctionMIParsingState & | PFS, | ||
SMDiagnostic & | Error, | ||
SMRange & | SourceRange | ||
) |
Definition at line 659 of file SIMachineFunctionInfo.cpp.
References llvm::yaml::SIMachineFunctionInfo::BytesInStackArgArea, llvm::SourceMgr::DK_Error, llvm::yaml::SIMachineFunctionInfo::DynLDSAlign, llvm::yaml::SIMachineFunctionInfo::ExplicitKernArgSize, llvm::yaml::SIMachineFunctionInfo::GDSSize, llvm::MemoryBuffer::getBufferIdentifier(), llvm::MachineFunction::getFrameInfo(), llvm::SourceMgr::getMainFileID(), llvm::SourceMgr::getMemoryBuffer(), llvm::yaml::SIMachineFunctionInfo::HasSpilledSGPRs, llvm::yaml::SIMachineFunctionInfo::HasSpilledVGPRs, llvm::yaml::SIMachineFunctionInfo::HighBitsOf32BitAddress, llvm::yaml::SIMachineFunctionInfo::IsEntryFunction, llvm::yaml::SIMachineFunctionInfo::LDSSize, llvm::yaml::SIMachineFunctionInfo::MaxKernArgAlign, llvm::yaml::SIMachineFunctionInfo::MemoryBound, llvm::yaml::SIMachineFunctionInfo::NoSignedZerosFPMath, llvm::yaml::SIMachineFunctionInfo::Occupancy, llvm::yaml::SIMachineFunctionInfo::ReturnsVoid, llvm::yaml::SIMachineFunctionInfo::ScavengeFI, llvm::PerFunctionMIParsingState::SM, llvm::dwarf::toString(), and llvm::yaml::SIMachineFunctionInfo::WaveLimiter.
Referenced by llvm::GCNTargetMachine::parseMachineFunctionInfo().
Definition at line 305 of file SIMachineFunctionInfo.cpp.
References I.
Referenced by splitWWMSpillRegisters().
Definition at line 957 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 925 of file SIMachineFunctionInfo.h.
void SIMachineFunctionInfo::limitOccupancy | ( | const MachineFunction & | MF | ) |
Definition at line 216 of file SIMachineFunctionInfo.cpp.
References llvm::MachineFunction::getFunction(), llvm::AMDGPUMachineFunction::getLDSSize(), getMaxWavesPerEU(), llvm::MachineFunction::getSubtarget(), and limitOccupancy().
Referenced by llvm::GCNSchedStage::checkScheduling(), increaseOccupancy(), and limitOccupancy().
|
inline |
Definition at line 1042 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 961 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 965 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1053 of file SIMachineFunctionInfo.h.
Definition at line 698 of file SIMachineFunctionInfo.cpp.
References Callee, F, I, and llvm::Intrinsic::not_intrinsic.
Referenced by SIMachineFunctionInfo().
bool SIMachineFunctionInfo::removeDeadFrameIndices | ( | MachineFrameInfo & | MFI, |
bool | ResetSGPRSpillStackIDs | ||
) |
If ResetSGPRSpillStackIDs
is true, reset the stack ID from sgpr-spill to the default stack.
Definition at line 483 of file SIMachineFunctionInfo.cpp.
References checkIndexInPrologEpilogSGPRSpills(), llvm::TargetStackID::Default, E, llvm::MachineFrameInfo::getObjectIndexBegin(), llvm::MachineFrameInfo::getObjectIndexEnd(), llvm::MachineFrameInfo::getStackID(), I, llvm::make_early_inc_range(), llvm::MachineFrameInfo::RemoveStackObject(), llvm::MachineFrameInfo::setStackID(), and llvm::TargetStackID::SGPRSpill.
|
inline |
Definition at line 553 of file SIMachineFunctionInfo.h.
References llvm::SetVector< T, Vector, Set >::insert(), and Reg.
Referenced by llvm::GCNTargetMachine::parseMachineFunctionInfo().
|
inline |
Definition at line 969 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUCallLowering::lowerReturn().
|
inline |
Definition at line 673 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 875 of file SIMachineFunctionInfo.h.
Definition at line 921 of file SIMachineFunctionInfo.h.
Definition at line 905 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIInstrInfo::loadRegFromStackSlot(), and llvm::SIInstrInfo::storeRegToStackSlot().
Definition at line 913 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIInstrInfo::storeRegToStackSlot().
|
inline |
Definition at line 973 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUCallLowering::lowerReturn().
Definition at line 929 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 750 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister(), and Reg.
|
inline |
Definition at line 866 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 880 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 533 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 651 of file SIMachineFunctionInfo.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and I.
|
inline |
Definition at line 731 of file SIMachineFunctionInfo.h.
References Arg.
|
inline |
Definition at line 735 of file SIMachineFunctionInfo.h.
References Arg.
|
inline |
Definition at line 739 of file SIMachineFunctionInfo.h.
References Arg.
void SIMachineFunctionInfo::splitWWMSpillRegisters | ( | MachineFunction & | MF, |
SmallVectorImpl< std::pair< Register, int > > & | CalleeSavedRegs, | ||
SmallVectorImpl< std::pair< Register, int > > & | ScratchRegs | ||
) | const |
Definition at line 292 of file SIMachineFunctionInfo.cpp.
References llvm::MachineRegisterInfo::getCalleeSavedRegs(), llvm::MachineFunction::getRegInfo(), and isCalleeSavedReg().
bool SIMachineFunctionInfo::usesAGPRs | ( | const MachineFunction & | MF | ) | const |
Definition at line 730 of file SIMachineFunctionInfo.cpp.
References E, llvm::Function::getCallingConv(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getRegInfo(), llvm::MachineFrameInfo::hasCalls(), I, llvm::Register::index2VirtReg(), llvm::SIRegisterInfo::isAGPRClass(), llvm::AMDGPU::isEntryFunctionCC(), and MRI.
Referenced by llvm::SIRegisterInfo::getReservedRegs().
|
friend |
Definition at line 360 of file SIMachineFunctionInfo.h.