LLVM
15.0.0git
|
Classes | |
class | AMDGPUTargetID |
Enumerations | |
enum | { FIXED_NUM_SGPRS_FOR_INIT_BUG = 96, TRAP_NUM_SGPRS = 16 } |
enum | TargetIDSetting { TargetIDSetting::Unsupported, TargetIDSetting::Any, TargetIDSetting::Off, TargetIDSetting::On } |
anonymous enum |
Enumerator | |
---|---|
FIXED_NUM_SGPRS_FOR_INIT_BUG | |
TRAP_NUM_SGPRS |
Definition at line 91 of file AMDGPUBaseInfo.h.
|
strong |
Enumerator | |
---|---|
Unsupported | |
Any | |
Off | |
On |
Definition at line 98 of file AMDGPUBaseInfo.h.
unsigned llvm::AMDGPU::IsaInfo::getAddressableNumSGPRs | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 679 of file AMDGPUBaseInfo.cpp.
References FIXED_NUM_SGPRS_FOR_INIT_BUG, llvm::MCSubtargetInfo::getCPU(), llvm::MCSubtargetInfo::getFeatureBits(), llvm::AMDGPU::getIsaVersion(), llvm::FeatureBitset::test(), and Version.
Referenced by llvm::GCNSubtarget::getAddressableNumSGPRs(), getMaxNumSGPRs(), getMinNumSGPRs(), and getSGPRAllocGranule().
unsigned llvm::AMDGPU::IsaInfo::getAddressableNumVGPRs | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 797 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), and llvm::FeatureBitset::test().
Referenced by llvm::GCNSubtarget::getAddressableNumVGPRs(), getMaxNumVGPRs(), and getMinNumVGPRs().
unsigned llvm::AMDGPU::IsaInfo::getEUsPerCU | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 603 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), llvm::AMDGPU::isGFX10Plus(), and llvm::FeatureBitset::test().
Referenced by getWavesPerEUForWorkGroup().
unsigned llvm::AMDGPU::IsaInfo::getLocalMemorySize | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 594 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), and llvm::FeatureBitset::test().
Referenced by llvm::SITargetLowering::computeKnownBitsForTargetInstr().
unsigned llvm::AMDGPU::IsaInfo::getMaxFlatWorkGroupSize | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 649 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::R600Subtarget::getMaxFlatWorkGroupSize(), and llvm::GCNSubtarget::getMaxFlatWorkGroupSize().
unsigned llvm::AMDGPU::IsaInfo::getMaxNumSGPRs | ( | const MCSubtargetInfo * | STI, |
unsigned | WavesPerEU, | ||
bool | Addressable | ||
) |
STI
. Definition at line 708 of file AMDGPUBaseInfo.cpp.
References llvm::alignDown(), assert(), getAddressableNumSGPRs(), llvm::MCSubtargetInfo::getCPU(), llvm::MCSubtargetInfo::getFeatureBits(), llvm::AMDGPU::getIsaVersion(), getSGPRAllocGranule(), getTotalNumSGPRs(), llvm::min(), llvm::FeatureBitset::test(), TRAP_NUM_SGPRS, and Version.
Referenced by llvm::GCNSubtarget::getMaxNumSGPRs().
unsigned llvm::AMDGPU::IsaInfo::getMaxNumVGPRs | ( | const MCSubtargetInfo * | STI, |
unsigned | WavesPerEU | ||
) |
STI
. Definition at line 814 of file AMDGPUBaseInfo.cpp.
References llvm::alignDown(), assert(), getAddressableNumVGPRs(), getTotalNumVGPRs(), getVGPRAllocGranule(), and llvm::min().
Referenced by llvm::GCNSubtarget::getMaxNumVGPRs().
unsigned llvm::AMDGPU::IsaInfo::getMaxWavesPerEU | ( | const MCSubtargetInfo * | STI | ) |
STI
without any kind of limitation. Definition at line 630 of file AMDGPUBaseInfo.cpp.
References llvm::AMDGPU::hasGFX10_3Insts(), llvm::AMDGPU::isGFX10Plus(), and llvm::AMDGPU::isGFX90A().
Referenced by llvm::GCNSubtarget::GCNSubtarget(), getMinNumSGPRs(), and getMinNumVGPRs().
unsigned llvm::AMDGPU::IsaInfo::getMaxWorkGroupsPerCU | ( | const MCSubtargetInfo * | STI, |
unsigned | FlatWorkGroupSize | ||
) |
STI
and limited by given FlatWorkGroupSize
. Definition at line 614 of file AMDGPUBaseInfo.cpp.
References llvm::Triple::amdgcn, assert(), llvm::Triple::getArch(), llvm::MCSubtargetInfo::getTargetTriple(), getWavesPerWorkGroup(), llvm::min(), and N.
Referenced by llvm::R600Subtarget::getMaxWorkGroupsPerCU(), and llvm::GCNSubtarget::getMaxWorkGroupsPerCU().
unsigned llvm::AMDGPU::IsaInfo::getMinFlatWorkGroupSize | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 645 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::R600Subtarget::getMinFlatWorkGroupSize(), and llvm::GCNSubtarget::getMinFlatWorkGroupSize().
unsigned llvm::AMDGPU::IsaInfo::getMinNumSGPRs | ( | const MCSubtargetInfo * | STI, |
unsigned | WavesPerEU | ||
) |
STI
. Definition at line 691 of file AMDGPUBaseInfo.cpp.
References llvm::alignDown(), assert(), getAddressableNumSGPRs(), llvm::MCSubtargetInfo::getCPU(), llvm::MCSubtargetInfo::getFeatureBits(), llvm::AMDGPU::getIsaVersion(), getMaxWavesPerEU(), getSGPRAllocGranule(), getTotalNumSGPRs(), llvm::min(), llvm::FeatureBitset::test(), TRAP_NUM_SGPRS, and Version.
Referenced by llvm::GCNSubtarget::getMinNumSGPRs().
unsigned llvm::AMDGPU::IsaInfo::getMinNumVGPRs | ( | const MCSubtargetInfo * | STI, |
unsigned | WavesPerEU | ||
) |
STI
. Definition at line 803 of file AMDGPUBaseInfo.cpp.
References llvm::alignDown(), assert(), getAddressableNumVGPRs(), getMaxWavesPerEU(), getTotalNumVGPRs(), getVGPRAllocGranule(), and llvm::min().
Referenced by llvm::GCNSubtarget::getMinNumVGPRs().
unsigned llvm::AMDGPU::IsaInfo::getMinWavesPerEU | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 626 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::R600Subtarget::getMinWavesPerEU(), and llvm::GCNSubtarget::getMinWavesPerEU().
unsigned llvm::AMDGPU::IsaInfo::getNumExtraSGPRs | ( | const MCSubtargetInfo * | STI, |
bool | VCCUsed, | ||
bool | FlatScrUsed | ||
) |
STI
when the given special registers are used. XNACK is inferred from STI
. Definition at line 750 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), getNumExtraSGPRs(), and llvm::FeatureBitset::test().
unsigned llvm::AMDGPU::IsaInfo::getNumExtraSGPRs | ( | const MCSubtargetInfo * | STI, |
bool | VCCUsed, | ||
bool | FlatScrUsed, | ||
bool | XNACKUsed | ||
) |
STI
when the given special registers are used. Definition at line 725 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getCPU(), llvm::MCSubtargetInfo::getFeatureBits(), llvm::AMDGPU::getIsaVersion(), llvm::FeatureBitset::test(), and Version.
Referenced by llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd(), getNumExtraSGPRs(), and llvm::AMDGPUResourceUsageAnalysis::SIFunctionResourceInfo::getTotalNumSGPRs().
unsigned llvm::AMDGPU::IsaInfo::getNumSGPRBlocks | ( | const MCSubtargetInfo * | STI, |
unsigned | NumSGPRs | ||
) |
STI
when NumSGPRs
are used. NumSGPRs
should already include any special register counts. Definition at line 756 of file AMDGPUBaseInfo.cpp.
References llvm::alignTo(), getSGPREncodingGranule(), llvm::max(), and llvm::AMDGPU::HSAMD::Kernel::CodeProps::Key::NumSGPRs.
unsigned llvm::AMDGPU::IsaInfo::getNumVGPRBlocks | ( | const MCSubtargetInfo * | STI, |
unsigned | NumSGPRs, | ||
Optional< bool > | EnableWavefrontSize32 = None |
||
) |
STI
when NumVGPRs
are used.For subtargets which support it, EnableWavefrontSize32
should match the ENABLE_WAVEFRONT_SIZE32 kernel descriptor field.
Definition at line 823 of file AMDGPUBaseInfo.cpp.
References llvm::alignTo(), getVGPREncodingGranule(), llvm::max(), and llvm::AMDGPU::HSAMD::Kernel::CodeProps::Key::NumVGPRs.
unsigned llvm::AMDGPU::IsaInfo::getSGPRAllocGranule | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 659 of file AMDGPUBaseInfo.cpp.
References getAddressableNumSGPRs(), llvm::MCSubtargetInfo::getCPU(), llvm::AMDGPU::getIsaVersion(), and Version.
Referenced by getMaxNumSGPRs(), getMinNumSGPRs(), and llvm::GCNSubtarget::getSGPRAllocGranule().
unsigned llvm::AMDGPU::IsaInfo::getSGPREncodingGranule | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 668 of file AMDGPUBaseInfo.cpp.
Referenced by llvm::AMDGPUDisassembler::decodeCOMPUTE_PGM_RSRC1(), getNumSGPRBlocks(), and llvm::GCNSubtarget::getSGPREncodingGranule().
|
static |
Definition at line 457 of file AMDGPUBaseInfo.cpp.
References llvm::StringRef::endswith(), llvm_unreachable, Off, and On.
Referenced by llvm::AMDGPU::IsaInfo::AMDGPUTargetID::setTargetIDFromTargetIDStream().
unsigned llvm::AMDGPU::IsaInfo::getTotalNumSGPRs | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 672 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getCPU(), llvm::AMDGPU::getIsaVersion(), and Version.
Referenced by getMaxNumSGPRs(), getMinNumSGPRs(), and llvm::GCNSubtarget::getTotalNumSGPRs().
unsigned llvm::AMDGPU::IsaInfo::getTotalNumVGPRs | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 789 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), llvm::AMDGPU::isGFX10Plus(), and llvm::FeatureBitset::test().
Referenced by getMaxNumVGPRs(), getMinNumVGPRs(), and llvm::GCNSubtarget::getTotalNumVGPRs().
unsigned llvm::AMDGPU::IsaInfo::getVGPRAllocGranule | ( | const MCSubtargetInfo * | STI, |
Optional< bool > | EnableWavefrontSize32 = None |
||
) |
STI
.For subtargets which support it, EnableWavefrontSize32
should match the ENABLE_WAVEFRONT_SIZE32 kernel descriptor field.
Definition at line 762 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), llvm::AMDGPU::hasGFX10_3Insts(), and llvm::FeatureBitset::test().
Referenced by getMaxNumVGPRs(), getMinNumVGPRs(), and llvm::GCNSubtarget::getVGPRAllocGranule().
unsigned llvm::AMDGPU::IsaInfo::getVGPREncodingGranule | ( | const MCSubtargetInfo * | STI, |
Optional< bool > | EnableWavefrontSize32 = None |
||
) |
STI
.For subtargets which support it, EnableWavefrontSize32
should match the ENABLE_WAVEFRONT_SIZE32 kernel descriptor field.
Definition at line 777 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), and llvm::FeatureBitset::test().
Referenced by llvm::AMDGPUDisassembler::decodeCOMPUTE_PGM_RSRC1(), getNumVGPRBlocks(), and llvm::GCNSubtarget::getVGPREncodingGranule().
unsigned llvm::AMDGPU::IsaInfo::getWavefrontSize | ( | const MCSubtargetInfo * | STI | ) |
STI
. Definition at line 585 of file AMDGPUBaseInfo.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), and llvm::FeatureBitset::test().
Referenced by getWavesPerWorkGroup().
unsigned llvm::AMDGPU::IsaInfo::getWavesPerEUForWorkGroup | ( | const MCSubtargetInfo * | STI, |
unsigned | FlatWorkGroupSize | ||
) |
FlatWorkGroupSize
. Definition at line 639 of file AMDGPUBaseInfo.cpp.
References llvm::divideCeil(), getEUsPerCU(), and getWavesPerWorkGroup().
Referenced by llvm::R600Subtarget::getWavesPerEUForWorkGroup(), and llvm::GCNSubtarget::getWavesPerEUForWorkGroup().
unsigned llvm::AMDGPU::IsaInfo::getWavesPerWorkGroup | ( | const MCSubtargetInfo * | STI, |
unsigned | FlatWorkGroupSize | ||
) |
STI
and FlatWorkGroupSize
. Definition at line 654 of file AMDGPUBaseInfo.cpp.
References llvm::divideCeil(), and getWavefrontSize().
Referenced by getMaxWorkGroupsPerCU(), and getWavesPerEUForWorkGroup().