|
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 418 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(), llvm::AMDGPU::getMaxNumWorkGroups(), 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 938 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 892 of file SIMachineFunctionInfo.h.
References llvm::Next.
|
inline |
Definition at line 709 of file SIMachineFunctionInfo.h.
References assert(), hasPrologEpilogSGPRSpillEntry(), LHS, Reg, RHS, and llvm::upper_bound().
Referenced by getVGPRSpillLaneOrTempRegister().
|
inline |
Definition at line 1124 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::spillEmergencySGPR(), and llvm::SIRegisterInfo::spillSGPR().
|
inline |
Definition at line 1128 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::buildVGPRSpillLoadStore(), and llvm::SIRegisterInfo::eliminateFrameIndex().
|
inline |
Definition at line 899 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister().
|
inline |
Definition at line 905 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister().
|
inline |
Definition at line 911 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister().
|
inline |
Definition at line 917 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::MCRegisterClass::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 796 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 752 of file SIMachineFunctionInfo.h.
References llvm::find_if(), and llvm::SPILL_TO_VGPR_LANE.
Referenced by allSGPRSpillsAreDead(), and removeDeadFrameIndices().
|
inline |
Definition at line 676 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 1009 of file SIMachineFunctionInfo.h.
Definition at line 813 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs(), and llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 744 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 985 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUCallLowering::passSpecialInputs().
|
inline |
Definition at line 989 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 856 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUCallLowering::areCalleeOutgoingArgsTailCallable(), and llvm::SITargetLowering::isEligibleForTailCallOptimization().
|
inline |
Definition at line 1241 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV6::emitKernelAttrs(), llvm::AMDGPULegalizerInfo::legalizeWorkGroupId(), and llvm::AMDGPULegalizerInfo::loadInputValue().
|
inline |
Definition at line 865 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::GCNRPTarget::GCNRPTarget(), llvm::SIRegisterInfo::getRegPressureLimit(), and llvm::GCNSchedStrategy::initialize().
Definition at line 1162 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1050 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 1003 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 1193 of file SIMachineFunctionInfo.h.
Referenced by llvm::SITargetLowering::getTgtMemIntrinsic(), and llvm::AMDGPUMIRFormatter::parseCustomPseudoSourceValue().
|
inline |
Definition at line 1080 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 646 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::addImplicitUsesForBlockCSRLoad(), llvm::SIRegisterInfo::buildCFIForBlockCSRStore(), emitVGPRBlockComment(), llvm::SIFrameLowering::restoreCalleeSavedRegisters(), and llvm::SIFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 1172 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1220 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIInstrInfo::shouldClusterMemOps().
|
inline |
Definition at line 1235 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 1239 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1188 of file SIMachineFunctionInfo.h.
Referenced by limitOccupancy().
|
inline |
Definition at line 1201 of file SIMachineFunctionInfo.h.
References llvm::AMDGPUMachineFunctionInfo::isMemoryBound(), and llvm::AMDGPUMachineFunctionInfo::needsWaveLimiter().
Referenced by llvm::GCNSchedStrategy::initialize().
|
inline |
Definition at line 1167 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1222 of file SIMachineFunctionInfo.h.
Referenced by selectAGPRFormMFMA().
|
inline |
Definition at line 1183 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 678 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 675 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs().
|
inline |
Definition at line 1021 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1017 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::emitEntryFunctionPrologue(), and llvm::GCNSubtarget::getMaxNumSGPRs().
|
inline |
Definition at line 1116 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1120 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1013 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1025 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1029 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1197 of file SIMachineFunctionInfo.h.
Referenced by llvm::GCNSchedStrategy::initialize().
|
inline |
Definition at line 854 of file SIMachineFunctionInfo.h.
Referenced by llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo().
|
inline |
Definition at line 998 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUResourceUsageAnalysisImpl::analyzeResourceUsage(), and llvm::SIFrameLowering::emitEntryFunctionPrologue().
|
inline |
Definition at line 994 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPULegalizerInfo::legalizeWorkitemIDIntrinsic(), and llvm::AMDGPULegalizerInfo::loadInputValue().
|
inline |
Definition at line 1033 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 773 of file SIMachineFunctionInfo.h.
References assert(), llvm::find_if(), I, and Reg.
Referenced by llvm::SIFrameLowering::emitPrologue().
|
inline |
Definition at line 700 of file SIMachineFunctionInfo.h.
References assert(), and llvm::is_sorted().
Referenced by llvm::SIFrameLowering::emitCSRSpillRestores(), and llvm::SIFrameLowering::emitCSRSpillStores().
|
inline |
Definition at line 1132 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1136 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1076 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 868 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 1041 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 732 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 689 of file SIMachineFunctionInfo.h.
Referenced by llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo().
|
inline |
Definition at line 783 of file SIMachineFunctionInfo.h.
References llvm::ArrayRef(), and I.
Referenced by getVGPRSpillLaneOrTempRegister(), llvm::SIRegisterInfo::restoreSGPR(), and llvm::SIRegisterInfo::spillSGPR().
|
inline |
Definition at line 681 of file SIMachineFunctionInfo.h.
References llvm::ArrayRef(), and I.
Referenced by llvm::SIRegisterInfo::restoreSGPR(), and llvm::SIRegisterInfo::spillSGPR().
Definition at line 688 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1070 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 705 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 707 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 821 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIRegisterInfo::getReservedRegs(), and llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 825 of file SIMachineFunctionInfo.h.
References I.
Referenced by spillVGPRtoAGPR().
Definition at line 1178 of file SIMachineFunctionInfo.h.
Referenced by llvm::GCNSubtarget::getMaxNumSGPRs().
|
inline |
Definition at line 692 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::determineCalleeSaves(), llvm::SIRegisterInfo::getReservedRegs(), and llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo().
|
inline |
Definition at line 691 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::determineCalleeSaves().
|
inline |
Definition at line 981 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 923 of file SIMachineFunctionInfo.h.
Definition at line 650 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::restoreCalleeSavedRegisters(), and llvm::SIFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 1100 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 965 of file SIMachineFunctionInfo.h.
Definition at line 724 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 1084 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::determineCalleeSavesSGPR().
|
inline |
Definition at line 1092 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 803 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 949 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 953 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 957 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPULegalizerInfo::loadInputValue().
|
inline |
Definition at line 961 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 969 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 973 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 977 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1214 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::yaml::SIMachineFunctionInfo::DynamicVGPRBlockSize, 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 864 of file SIMachineFunctionInfo.h.
Definition at line 1140 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1108 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUResourceUsageAnalysisImpl::analyzeResourceUsage(), and llvm::SIFrameLowering::emitEpilogue().
|
inline |
Definition at line 698 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 669 of file SIMachineFunctionInfo.h.
References checkFlag(), Reg, and llvm::AMDGPU::VirtRegFlag::WWM_REG.
Referenced by llvm::SIInstrInfo::canAddToBBProlog().
Definition at line 694 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 1209 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1144 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1148 of file SIMachineFunctionInfo.h.
Definition at line 834 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 763 of file SIMachineFunctionInfo.h.
References llvm::find_if(), I, and Reg.
Referenced by llvm::SIFrameLowering::emitCSRSpillStores().
|
inline |
Definition at line 668 of file SIMachineFunctionInfo.h.
References Reg.
Referenced by llvm::SIFrameLowering::determineCalleeSaves(), and llvm::GCNTargetMachine::parseMachineFunctionInfo().
|
inline |
Definition at line 1152 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 1226 of file SIMachineFunctionInfo.h.
References getMinNumAGPRs(), and MFMAVGPRForm.
Referenced by llvm::AMDGPURegisterBankInfo::getInstrMapping().
|
inline |
Definition at line 860 of file SIMachineFunctionInfo.h.
Definition at line 790 of file SIMachineFunctionInfo.h.
Referenced by llvm::GCNTargetMachine::parseMachineFunctionInfo().
|
inline |
Definition at line 1054 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1104 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 1088 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIInstrInfo::loadRegFromStackSlot().
|
inline |
Definition at line 1096 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 1156 of file SIMachineFunctionInfo.h.
Referenced by llvm::AMDGPUCallLowering::lowerReturn().
|
inline |
Definition at line 1112 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::emitPrologue().
|
inline |
Definition at line 1064 of file SIMachineFunctionInfo.h.
References Reg.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameIndicesReplaced().
|
inline |
Definition at line 641 of file SIMachineFunctionInfo.h.
Referenced by assignSlotsUsingVGPRBlocks().
|
inline |
Definition at line 1027 of file SIMachineFunctionInfo.h.
References llvm::Count.
|
inline |
Definition at line 1031 of file SIMachineFunctionInfo.h.
References llvm::Count.
|
inline |
Definition at line 945 of file SIMachineFunctionInfo.h.
References llvm::ArgDescriptor::createRegister(), and Reg.
|
inline |
Definition at line 872 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::emitEntryFunctionPrologue().
|
inline |
Definition at line 1045 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 819 of file SIMachineFunctionInfo.h.
References Reg.
Referenced by llvm::SIFrameLowering::determinePrologEpilogSGPRSaves().
|
inline |
Definition at line 1059 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 635 of file SIMachineFunctionInfo.h.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameIndicesReplaced().
|
inline |
Definition at line 831 of file SIMachineFunctionInfo.h.
References I.
Referenced by llvm::SIFrameLowering::processFunctionBeforeFrameFinalized().
|
inline |
Definition at line 926 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 930 of file SIMachineFunctionInfo.h.
|
inline |
Definition at line 934 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 674 of file SIMachineFunctionInfo.h.
|
friend |
Definition at line 420 of file SIMachineFunctionInfo.h.
References GCNTargetMachine.
Referenced by GCNTargetMachine.
|
static |
Definition at line 549 of file SIMachineFunctionInfo.h.
Referenced by selectAGPRFormMFMA().