|
LLVM 23.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 |
Static Public Attributes | |
| static bool | MFMAVGPRForm = false |
Friends | |
| class | GCNTargetMachine |
Additional Inherited Members | |
| Static Public Member Functions inherited from llvm::AMDGPUMachineFunctionInfo | |
| static std::optional< uint32_t > | getLDSKernelIdMetadata (const Function &F) |
| static std::optional< uint32_t > | getLDSAbsoluteAddress (const GlobalValue &GV) |
| 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) |
| Protected Attributes inherited from llvm::AMDGPUMachineFunctionInfo | |
| 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 | UsesDynamicLDS = false |
| uint32_t | NumNamedBarriers = 0 |
| bool | IsEntryFunction = false |
| bool | IsModuleEntryFunction = false |
| bool | IsChainFunction = false |
| bool | MemoryBound = false |
| bool | WaveLimiter = false |
| bool | HasInitWholeWave = 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 417 of file SIMachineFunctionInfo.h.
|
default |
References Allocator, F, and SIMachineFunctionInfo().
Referenced by clone(), and SIMachineFunctionInfo().
| SIMachineFunctionInfo::SIMachineFunctionInfo | ( | const Function & | F, |
| const GCNSubtarget * | STI ) |
Definition at line 50 of file SIMachineFunctionInfo.cpp.
References A(), llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_Gfx, llvm::CallingConv::AMDGPU_Gfx_WholeWave, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_KERNEL, llvm::CallingConv::AMDGPU_PS, llvm::AMDGPUMachineFunctionInfo::AMDGPUMachineFunctionInfo(), assert(), llvm::StringRef::consumeInteger(), llvm::ArgDescriptor::createRegister(), llvm::DefaultMemoryClusterDWordsLimit, llvm::StringRef::empty(), F, llvm::AMDGPUFunctionArgInfo::FixedABIFunctionInfo, llvm::AMDGPU::ClusterDimsAttr::get(), llvm::AMDGPU::getDynamicVGPRBlockSize(), llvm::AMDGPU::getInitialPSInputAddr(), llvm::AMDGPU::getIntegerPairAttribute(), llvm::AMDGPUMachineFunctionInfo::getLDSSize(), getTM(), llvm::AMDGPUSubtarget::GFX9, llvm::AMDGPU::isChainCC(), llvm::AMDGPUMachineFunctionInfo::isEntryFunction(), llvm::AMDGPU::isGraphics(), llvm::AMDGPUMachineFunctionInfo::MaxKernArgAlign, and llvm::CallingConv::SPIR_KERNEL.
| Register SIMachineFunctionInfo::addDispatchID | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 241 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
| Register SIMachineFunctionInfo::addDispatchPtr | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 219 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
| Register SIMachineFunctionInfo::addFlatScratchInit | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 248 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
| Register SIMachineFunctionInfo::addImplicitBufferPtr | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 261 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
| Register SIMachineFunctionInfo::addKernargSegmentPtr | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 233 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
| Register SIMachineFunctionInfo::addLDSKernelId | ( | ) |
Definition at line 268 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister().
| SmallVectorImpl< MCRegister > * SIMachineFunctionInfo::addPreloadedKernArg | ( | const SIRegisterInfo & | TRI, |
| const TargetRegisterClass * | RC, | ||
| unsigned | AllocSizeDWord, | ||
| int | KernArgIdx, | ||
| int | PaddingSGPRs ) |
Definition at line 274 of file SIMachineFunctionInfo.cpp.
| Register SIMachineFunctionInfo::addPrivateSegmentBuffer | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 210 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
| Register SIMachineFunctionInfo::addPrivateSegmentSize | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 255 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
|
inline |
Definition at line 937 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister().
| Register SIMachineFunctionInfo::addQueuePtr | ( | const SIRegisterInfo & | TRI | ) |
Definition at line 226 of file SIMachineFunctionInfo.cpp.
References llvm::ArgDescriptor::createRegister(), and TRI.
|
inline |
Increment user SGPRs used for padding the argument list only.
Definition at line 891 of file SIMachineFunctionInfo.h.
References llvm::Next.
|
inline |
Definition at line 708 of file SIMachineFunctionInfo.h.
References assert(), hasPrologEpilogSGPRSpillEntry(), LHS, Reg, RHS, and llvm::upper_bound().
Referenced by getVGPRSpillLaneOrTempRegister().
|
inline |
Definition at line 1123 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
|
inline |
Definition at line 1127 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), and llvm::SIRegisterInfo::eliminateFrameIndex().
|
inline |
Definition at line 898 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister().
|
inline |
Definition at line 904 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister().
|
inline |
Definition at line 910 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister().
|
inline |
Definition at line 916 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister().
| bool SIMachineFunctionInfo::allocateSGPRSpillToVGPRLane | ( | MachineFunction & | MF, |
| int | FI, | ||
| bool | SpillToPhysVGPRLane = false, | ||
| bool | IsPrologEpilog = false ) |
Definition at line 448 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 495 of file SIMachineFunctionInfo.cpp.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::Function::getCallingConv(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getRegInfo(), llvm::TargetRegisterClass::getRegisters(), llvm::MachineFunction::getSubtarget(), I, llvm::BitVector::push_back(), llvm::MachineRegisterInfo::reserveReg(), llvm::BitVector::resize(), llvm::BitVector::set(), llvm::BitVector::setBitsInMask(), Size, and TRI.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
| void SIMachineFunctionInfo::allocateWWMSpill | ( | MachineFunction & | MF, |
| Register | VGPR, | ||
| uint64_t | Size = 4, | ||
| Align | Alignment = Align(4) ) |
Definition at line 305 of file SIMachineFunctionInfo.cpp.
References llvm::MachineFrameInfo::CreateSpillStackObject(), llvm::MachineFunction::getFrameInfo(), llvm::AMDGPUMachineFunctionInfo::hasInitWholeWave(), llvm::MachineFrameInfo::hasTailCall(), llvm::AMDGPUMachineFunctionInfo::isChainFunction(), llvm::SIRegisterInfo::isChainScratchRegister(), llvm::AMDGPUMachineFunctionInfo::isEntryFunction(), and Size.
Referenced by llvm::SIFrameLowering::determineCalleeSaves().
Definition at line 795 of file SIMachineFunctionInfo.h.
References Reg.
Referenced by llvm::SIInstrInfo::getLiveRangeSplitOpcode(), llvm::SIInstrInfo::getVectorRegSpillRestoreOpcode(), llvm::SIInstrInfo::getVectorRegSpillSaveOpcode(), llvm::SIRegisterInfo::getVRegFlagsOfReg(), and isWWMReg().
|
inline |
Definition at line 751 of file SIMachineFunctionInfo.h.
References llvm::find_if(), and llvm::SPILL_TO_VGPR_LANE.
Referenced by allSGPRSpillsAreDead(), and removeDeadFrameIndices().
|
inline |
Definition at line 675 of file SIMachineFunctionInfo.h.
|
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 197 of file SIMachineFunctionInfo.cpp.
References llvm::MachineFunction::cloneInfo(), and SIMachineFunctionInfo().
|
inline |
Definition at line 1008 of file SIMachineFunctionInfo.h.
Definition at line 812 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs(), and llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 743 of file SIMachineFunctionInfo.h.
References llvm::COPY_TO_SCRATCH_SGPR, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::SIFrameLowering::emitCSRSpillStores().
|
inline |
Definition at line 984 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUCallLowering::passSpecialInputs().
|
inline |
Definition at line 988 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 855 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUCallLowering::areCalleeOutgoingArgsTailCallable(), and llvm::SITargetLowering::isEligibleForTailCallOptimization().
|
inline |
Definition at line 1240 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV6::emitKernelAttrs(), llvm::AMDGPULegalizerInfo::legalizeWorkGroupId(), and llvm::AMDGPULegalizerInfo::loadInputValue().
|
inline |
Definition at line 864 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::GCNRPTarget::GCNRPTarget(), llvm::SIRegisterInfo::getRegPressureLimit(), and llvm::GCNSchedStrategy::initialize().
Definition at line 1161 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1049 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::assignCalleeSavedSpillSlotsImpl(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::SIFrameLowering::determinePrologEpilogSGPRSaves(), llvm::SIFrameLowering::emitCSRSpillRestores(), llvm::SIFrameLowering::emitCSRSpillStores(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::SIFrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitPrologue(), llvm::SIRegisterInfo::getFrameRegister(), llvm::SIRegisterInfo::getReservedRegs(), and llvm::SIRegisterInfo::spillSGPR().
|
inline |
Definition at line 1002 of file SIMachineFunctionInfo.h.
Referenced by buildGitPtr().
| Register SIMachineFunctionInfo::getGITPtrLoReg | ( | const MachineFunction & | MF | ) | const |
Definition at line 635 of file SIMachineFunctionInfo.cpp.
References llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::Function::getCallingConv(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getSubtarget(), and Register.
Referenced by buildGitPtr(), and llvm::SIFrameLowering::emitEntryFunctionPrologue().
|
inline |
Definition at line 1192 of file SIMachineFunctionInfo.h.
Referenced by llvm::SITargetLowering::getTgtMemIntrinsic(), and llvm::AMDGPUMIRFormatter::parseCustomPseudoSourceValue().
|
inline |
Definition at line 1079 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 645 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::addImplicitUsesForBlockCSRLoad(), llvm::SIRegisterInfo::buildCFIForBlockCSRStore(), emitVGPRBlockComment(), llvm::SIFrameLowering::restoreCalleeSavedRegisters(), and llvm::SIFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 1171 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1219 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIInstrInfo::shouldClusterMemOps().
|
inline |
Definition at line 1234 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1236 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1237 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1238 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1187 of file SIMachineFunctionInfo.h.
Referenced by limitOccupancy().
|
inline |
Definition at line 1200 of file SIMachineFunctionInfo.h.
References llvm::AMDGPUMachineFunctionInfo::isMemoryBound(), and llvm::AMDGPUMachineFunctionInfo::needsWaveLimiter().
Referenced by llvm::GCNSchedStrategy::initialize().
|
inline |
Definition at line 1166 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1221 of file SIMachineFunctionInfo.h.
Referenced by selectAGPRFormMFMA().
|
inline |
Definition at line 1182 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 677 of file SIMachineFunctionInfo.h.
Referenced by denormalModeIsFlushAllF32(), denormalModeIsFlushAllF64F16(), 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 674 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs().
|
inline |
Definition at line 1020 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1016 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::emitEntryFunctionPrologue(), and llvm::GCNSubtarget::getMaxNumSGPRs().
|
inline |
Definition at line 1115 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1119 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1012 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1024 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1028 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1196 of file SIMachineFunctionInfo.h.
Referenced by llvm::GCNSchedStrategy::initialize().
|
inline |
Definition at line 853 of file SIMachineFunctionInfo.h.
Referenced by llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo().
|
inline |
Definition at line 997 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUResourceUsageAnalysisImpl::analyzeResourceUsage(), and llvm::SIFrameLowering::emitEntryFunctionPrologue().
|
inline |
Definition at line 993 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPULegalizerInfo::legalizeWorkitemIDIntrinsic(), and llvm::AMDGPULegalizerInfo::loadInputValue().
|
inline |
Definition at line 1032 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 772 of file SIMachineFunctionInfo.h.
References assert(), llvm::find_if(), I, and Reg.
Referenced by llvm::SIFrameLowering::emitPrologue().
|
inline |
Definition at line 699 of file SIMachineFunctionInfo.h.
References assert(), and llvm::is_sorted().
Referenced by llvm::SIFrameLowering::emitCSRSpillRestores(), and llvm::SIFrameLowering::emitCSRSpillStores().
|
inline |
Definition at line 1131 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1135 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1075 of file SIMachineFunctionInfo.h.
| int SIMachineFunctionInfo::getScavengeFI | ( | MachineFrameInfo & | MFI, |
| const SIRegisterInfo & | TRI ) |
Definition at line 604 of file SIMachineFunctionInfo.cpp.
References llvm::MachineFrameInfo::CreateStackObject(), and TRI.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 867 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIInstrInfo::expandPostRAPseudo().
|
inline |
Returns the physical register reserved for use as the resource descriptor for scratch accesses.
Definition at line 1040 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::buildSpillLoadStore(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::getReservedRegs(), llvm::AMDGPUCallLowering::handleImplicitCallArguments(), and llvm::AMDGPUCallLowering::lowerCall().
Definition at line 731 of file SIMachineFunctionInfo.h.
References llvm::COPY_TO_SCRATCH_SGPR, llvm::find_if(), I, and Reg.
Referenced by llvm::SIFrameLowering::assignCalleeSavedSpillSlotsImpl(), llvm::SIFrameLowering::emitEpilogue(), and llvm::SIFrameLowering::emitPrologue().
|
inline |
Definition at line 688 of file SIMachineFunctionInfo.h.
Referenced by llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo().
|
inline |
Definition at line 782 of file SIMachineFunctionInfo.h.
References llvm::ArrayRef(), and I.
Referenced by getVGPRSpillLaneOrTempRegister(), llvm::SIRegisterInfo::restoreSGPR(), and llvm::SIRegisterInfo::spillSGPR().
|
inline |
Definition at line 680 of file SIMachineFunctionInfo.h.
References llvm::ArrayRef(), and I.
Referenced by llvm::SIRegisterInfo::restoreSGPR(), and llvm::SIRegisterInfo::spillSGPR().
Definition at line 687 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1069 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::buildSpillLoadStore(), llvm::SIFrameLowering::determineCalleeSavesSGPR(), llvm::SIFrameLowering::eliminateCallFramePseudoInstr(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::SIFrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitPrologue(), llvm::SIRegisterInfo::getFrameRegister(), llvm::SIRegisterInfo::getReservedRegs(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::SIFrameLowering::restoreCalleeSavedRegisters(), llvm::SIFrameLowering::spillCalleeSavedRegisters(), and llvm::SIRegisterInfo::spillSGPR().
|
inline |
Definition at line 704 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUResourceUsageAnalysisImpl::analyzeResourceUsage(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitHiddenKernelArgs(), and llvm::GCNSubtarget::getReservedNumSGPRs().
|
inline |
Definition at line 706 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 820 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs(), and llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 824 of file SIMachineFunctionInfo.h.
References I.
Referenced by spillVGPRtoAGPR().
Definition at line 1177 of file SIMachineFunctionInfo.h.
Referenced by llvm::GCNSubtarget::getMaxNumSGPRs().
|
inline |
Definition at line 691 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::determineCalleeSaves(), llvm::SIRegisterInfo::getReservedRegs(), and llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo().
|
inline |
Definition at line 690 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 980 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 922 of file SIMachineFunctionInfo.h.
Definition at line 649 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::restoreCalleeSavedRegisters(), and llvm::SIFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 1099 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 964 of file SIMachineFunctionInfo.h.
Definition at line 723 of file SIMachineFunctionInfo.h.
References llvm::find_if(), I, and Reg.
Referenced by addToPrologEpilogSGPRSpills(), llvm::SIFrameLowering::determinePrologEpilogSGPRSaves(), llvm::SIFrameLowering::emitEpilogue(), and llvm::SIFrameLowering::emitPrologue().
|
inline |
Definition at line 1083 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::determineCalleeSavesSGPR().
|
inline |
Definition at line 1091 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 802 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 948 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 952 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 956 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPULegalizerInfo::loadInputValue().
|
inline |
Definition at line 960 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 968 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 972 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 976 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1213 of file SIMachineFunctionInfo.h.
References limitOccupancy().
| bool SIMachineFunctionInfo::initializeBaseYamlFields | ( | const yaml::SIMachineFunctionInfo & | YamlMFI, |
| const MachineFunction & | MF, | ||
| PerFunctionMIParsingState & | PFS, | ||
| SMDiagnostic & | Error, | ||
| SMRange & | SourceRange ) |
Definition at line 783 of file SIMachineFunctionInfo.cpp.
References llvm::yaml::SIMachineFunctionInfo::BytesInStackArgArea, llvm::SourceMgr::DK_Error, llvm::AMDGPUMachineFunctionInfo::DynLDSAlign, llvm::yaml::SIMachineFunctionInfo::DynLDSAlign, llvm::AMDGPUMachineFunctionInfo::ExplicitKernArgSize, llvm::yaml::SIMachineFunctionInfo::ExplicitKernArgSize, llvm::AMDGPUMachineFunctionInfo::GDSSize, 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::AMDGPUMachineFunctionInfo::IsEntryFunction, llvm::yaml::SIMachineFunctionInfo::IsEntryFunction, llvm::yaml::SIMachineFunctionInfo::IsWholeWaveFunction, llvm::AMDGPUMachineFunctionInfo::LDSSize, llvm::yaml::SIMachineFunctionInfo::LDSSize, llvm::AMDGPUMachineFunctionInfo::MaxKernArgAlign, llvm::yaml::SIMachineFunctionInfo::MaxKernArgAlign, llvm::yaml::SIMachineFunctionInfo::MaxMemoryClusterDWords, llvm::AMDGPUMachineFunctionInfo::MemoryBound, llvm::yaml::SIMachineFunctionInfo::MemoryBound, llvm::yaml::SIMachineFunctionInfo::MinNumAGPRs, llvm::yaml::SIMachineFunctionInfo::NumKernargPreloadSGPRs, llvm::yaml::SIMachineFunctionInfo::NumWaveDispatchSGPRs, llvm::yaml::SIMachineFunctionInfo::NumWaveDispatchVGPRs, llvm::yaml::SIMachineFunctionInfo::Occupancy, llvm::yaml::SIMachineFunctionInfo::PSInputAddr, llvm::yaml::SIMachineFunctionInfo::PSInputEnable, llvm::yaml::SIMachineFunctionInfo::ReturnsVoid, llvm::yaml::SIMachineFunctionInfo::ScavengeFI, llvm::PerFunctionMIParsingState::SM, llvm::toString(), llvm::AMDGPUMachineFunctionInfo::WaveLimiter, and llvm::yaml::SIMachineFunctionInfo::WaveLimiter.
Referenced by llvm::GCNTargetMachine::parseMachineFunctionInfo().
Definition at line 343 of file SIMachineFunctionInfo.cpp.
References I.
Referenced by splitWWMSpillRegisters().
|
inline |
Definition at line 863 of file SIMachineFunctionInfo.h.
Definition at line 1139 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1107 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUResourceUsageAnalysisImpl::analyzeResourceUsage(), and llvm::SIFrameLowering::emitEpilogue().
|
inline |
Definition at line 697 of file SIMachineFunctionInfo.h.
Referenced by buildScratchExecCopy(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::emitCSRSpillRestores(), llvm::SIFrameLowering::emitCSRSpillStores(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::SIFrameLowering::emitPrologue(), llvm::SIInstrInfo::getWholeWaveFunctionSetup(), and llvm::AMDGPUCallLowering::lowerReturn().
Definition at line 668 of file SIMachineFunctionInfo.h.
References checkFlag(), Reg, and llvm::AMDGPU::VirtRegFlag::WWM_REG.
Referenced by llvm::SIInstrInfo::canAddToBBProlog().
Definition at line 693 of file SIMachineFunctionInfo.h.
References Reg.
Referenced by assignSlotsUsingVGPRBlocks().
| void SIMachineFunctionInfo::limitOccupancy | ( | const MachineFunction & | MF | ) |
Definition at line 204 of file SIMachineFunctionInfo.cpp.
References getMaxWavesPerEU(), llvm::MachineFunction::getSubtarget(), and limitOccupancy().
Referenced by increaseOccupancy(), and limitOccupancy().
|
inline |
Definition at line 1208 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1143 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1147 of file SIMachineFunctionInfo.h.
Definition at line 830 of file SIMachineFunctionInfo.cpp.
References F, and llvm::AMDGPU::getIntegerPairAttribute().
| 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 561 of file SIMachineFunctionInfo.cpp.
References checkIndexInPrologEpilogSGPRSpills(), llvm::TargetStackID::Default, llvm::MachineFrameInfo::getObjectIndexBegin(), llvm::MachineFrameInfo::getObjectIndexEnd(), llvm::MachineFrameInfo::getStackID(), I, llvm::MachineFrameInfo::RemoveStackObject(), llvm::MachineFrameInfo::setStackID(), and llvm::TargetStackID::SGPRSpill.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 762 of file SIMachineFunctionInfo.h.
References llvm::find_if(), I, and Reg.
Referenced by llvm::SIFrameLowering::emitCSRSpillStores().
|
inline |
Definition at line 667 of file SIMachineFunctionInfo.h.
References Reg.
Referenced by llvm::SIFrameLowering::determineCalleeSaves(), and llvm::GCNTargetMachine::parseMachineFunctionInfo().
|
inline |
Definition at line 1151 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUCallLowering::lowerReturn().
Return true if an MFMA that requires at least NumRegs should select to the AGPR form, instead of the VGPR form.
Definition at line 1225 of file SIMachineFunctionInfo.h.
References getMinNumAGPRs(), and MFMAVGPRForm.
Referenced by llvm::AMDGPURegisterBankInfo::getInstrMapping().
|
inline |
Definition at line 859 of file SIMachineFunctionInfo.h.
Definition at line 789 of file SIMachineFunctionInfo.h.
Referenced by llvm::GCNTargetMachine::parseMachineFunctionInfo().
|
inline |
Definition at line 1053 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1103 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1087 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIInstrInfo::loadRegFromStackSlot().
|
inline |
Definition at line 1095 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 1155 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUCallLowering::lowerReturn().
|
inline |
Definition at line 1111 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::emitPrologue().
|
inline |
Definition at line 1063 of file SIMachineFunctionInfo.h.
References Reg.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameIndicesReplaced().
|
inline |
Definition at line 640 of file SIMachineFunctionInfo.h.
Referenced by assignSlotsUsingVGPRBlocks().
|
inline |
Definition at line 1026 of file SIMachineFunctionInfo.h.
References llvm::Count.
|
inline |
Definition at line 1030 of file SIMachineFunctionInfo.h.
References llvm::Count.
|
inline |
Definition at line 944 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister(), and Reg.
|
inline |
Definition at line 871 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::emitEntryFunctionPrologue().
|
inline |
Definition at line 1044 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 818 of file SIMachineFunctionInfo.h.
References Reg.
Referenced by llvm::SIFrameLowering::determinePrologEpilogSGPRSaves().
|
inline |
Definition at line 1058 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 634 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameIndicesReplaced().
|
inline |
Definition at line 830 of file SIMachineFunctionInfo.h.
References I.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 925 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 929 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 933 of file SIMachineFunctionInfo.h.
| void SIMachineFunctionInfo::shiftWwmVGPRsToLowestRange | ( | MachineFunction & | MF, |
| SmallVectorImpl< Register > & | WWMVGPRs, | ||
| BitVector & | SavedVGPRs ) |
Definition at line 353 of file SIMachineFunctionInfo.cpp.
References llvm::find(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), I, MBB, llvm::MachineFunction::replaceFrameInstRegister(), llvm::MachineRegisterInfo::replaceRegWith(), llvm::MachineRegisterInfo::reserveReg(), llvm::BitVector::reset(), llvm::SmallVectorTemplateCommon< T, typename >::size(), and TRI.
Referenced by llvm::SIFrameLowering::determineCalleeSaves().
| void SIMachineFunctionInfo::splitWWMSpillRegisters | ( | MachineFunction & | MF, |
| SmallVectorImpl< std::pair< Register, int > > & | CalleeSavedRegs, | ||
| SmallVectorImpl< std::pair< Register, int > > & | ScratchRegs ) const |
Definition at line 330 of file SIMachineFunctionInfo.cpp.
References llvm::MachineRegisterInfo::getCalleeSavedRegs(), llvm::MachineFunction::getRegInfo(), and isCalleeSavedReg().
Referenced by llvm::SIFrameLowering::emitCSRSpillRestores(), and llvm::SIFrameLowering::emitCSRSpillStores().
|
inline |
Definition at line 673 of file SIMachineFunctionInfo.h.
|
friend |
Definition at line 419 of file SIMachineFunctionInfo.h.
References GCNTargetMachine.
Referenced by GCNTargetMachine.
|
static |
Definition at line 548 of file SIMachineFunctionInfo.h.
Referenced by selectAGPRFormMFMA().