LLVM 18.0.0git
|
Track resource usage for kernels / entry functions. More...
#include "Target/AMDGPU/SIProgramInfo.h"
Public Member Functions | |
SIProgramInfo ()=default | |
uint64_t | getComputePGMRSrc1 () const |
Compute the value of the ComputePGMRsrc1 register. | |
uint64_t | getPGMRSrc1 (CallingConv::ID CC) const |
uint64_t | getComputePGMRSrc2 () const |
Compute the value of the ComputePGMRsrc2 register. | |
uint64_t | getPGMRSrc2 (CallingConv::ID CC) const |
Public Attributes | |
uint32_t | VGPRBlocks = 0 |
uint32_t | SGPRBlocks = 0 |
uint32_t | Priority = 0 |
uint32_t | FloatMode = 0 |
uint32_t | Priv = 0 |
uint32_t | DX10Clamp = 0 |
uint32_t | DebugMode = 0 |
uint32_t | IEEEMode = 0 |
uint32_t | WgpMode = 0 |
uint32_t | MemOrdered = 0 |
uint64_t | ScratchSize = 0 |
uint32_t | LDSBlocks = 0 |
uint32_t | ScratchBlocks = 0 |
uint32_t | ScratchEnable = 0 |
uint32_t | UserSGPR = 0 |
uint32_t | TrapHandlerEnable = 0 |
uint32_t | TGIdXEnable = 0 |
uint32_t | TGIdYEnable = 0 |
uint32_t | TGIdZEnable = 0 |
uint32_t | TGSizeEnable = 0 |
uint32_t | TIdIGCompCount = 0 |
uint32_t | EXCPEnMSB = 0 |
uint32_t | LdsSize = 0 |
uint32_t | EXCPEnable = 0 |
uint64_t | ComputePGMRSrc3GFX90A = 0 |
uint32_t | NumVGPR = 0 |
uint32_t | NumArchVGPR = 0 |
uint32_t | NumAccVGPR = 0 |
uint32_t | AccumOffset = 0 |
uint32_t | TgSplit = 0 |
uint32_t | NumSGPR = 0 |
unsigned | SGPRSpill = 0 |
unsigned | VGPRSpill = 0 |
uint32_t | LDSSize = 0 |
bool | FlatUsed = false |
uint32_t | NumSGPRsForWavesPerEU = 0 |
uint32_t | NumVGPRsForWavesPerEU = 0 |
uint32_t | Occupancy = 0 |
bool | DynamicCallStack = false |
bool | VCCUsed = false |
Track resource usage for kernels / entry functions.
Definition at line 25 of file SIProgramInfo.h.
|
default |
uint64_t SIProgramInfo::getComputePGMRSrc1 | ( | ) | const |
Compute the value of the ComputePGMRsrc1 register.
Definition at line 23 of file SIProgramInfo.cpp.
References DebugMode, DX10Clamp, FloatMode, IEEEMode, MemOrdered, Priority, Priv, S_00B848_DEBUG_MODE, S_00B848_DX10_CLAMP, S_00B848_FLOAT_MODE, S_00B848_IEEE_MODE, S_00B848_MEM_ORDERED, S_00B848_PRIORITY, S_00B848_PRIV, S_00B848_SGPRS, S_00B848_VGPRS, S_00B848_WGP_MODE, SGPRBlocks, VGPRBlocks, and WgpMode.
Referenced by getPGMRSrc1().
uint64_t SIProgramInfo::getComputePGMRSrc2 | ( | ) | const |
Compute the value of the ComputePGMRsrc2 register.
Definition at line 58 of file SIProgramInfo.cpp.
References EXCPEnable, EXCPEnMSB, LdsSize, S_00B84C_EXCP_EN, S_00B84C_EXCP_EN_MSB, S_00B84C_LDS_SIZE, S_00B84C_SCRATCH_EN, S_00B84C_TG_SIZE_EN, S_00B84C_TGID_X_EN, S_00B84C_TGID_Y_EN, S_00B84C_TGID_Z_EN, S_00B84C_TIDIG_COMP_CNT, S_00B84C_TRAP_HANDLER, S_00B84C_USER_SGPR, ScratchEnable, TGIdXEnable, TGIdYEnable, TGIdZEnable, TGSizeEnable, TIdIGCompCount, TrapHandlerEnable, and UserSGPR.
Referenced by getPGMRSrc2().
uint64_t SIProgramInfo::getPGMRSrc1 | ( | CallingConv::ID | CC | ) | const |
Definition at line 31 of file SIProgramInfo.cpp.
References llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_PS, llvm::CallingConv::AMDGPU_VS, CC, DebugMode, DX10Clamp, FloatMode, getComputePGMRSrc1(), IEEEMode, llvm::AMDGPU::isCompute(), MemOrdered, Priority, Priv, S_00B028_MEM_ORDERED, S_00B128_MEM_ORDERED, S_00B228_MEM_ORDERED, S_00B228_WGP_MODE, S_00B428_MEM_ORDERED, S_00B428_WGP_MODE, S_00B848_DEBUG_MODE, S_00B848_DX10_CLAMP, S_00B848_FLOAT_MODE, S_00B848_IEEE_MODE, S_00B848_PRIORITY, S_00B848_PRIV, S_00B848_SGPRS, S_00B848_VGPRS, SGPRBlocks, VGPRBlocks, and WgpMode.
uint64_t SIProgramInfo::getPGMRSrc2 | ( | CallingConv::ID | CC | ) | const |
Definition at line 71 of file SIProgramInfo.cpp.
References CC, getComputePGMRSrc2(), and llvm::AMDGPU::isCompute().
uint32_t llvm::SIProgramInfo::AccumOffset = 0 |
Definition at line 61 of file SIProgramInfo.h.
Referenced by llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint64_t llvm::SIProgramInfo::ComputePGMRSrc3GFX90A = 0 |
Definition at line 56 of file SIProgramInfo.h.
Referenced by llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::DebugMode = 0 |
Definition at line 33 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc1(), and getPGMRSrc1().
uint32_t llvm::SIProgramInfo::DX10Clamp = 0 |
Definition at line 32 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc1(), and getPGMRSrc1().
bool llvm::SIProgramInfo::DynamicCallStack = false |
Definition at line 80 of file SIProgramInfo.h.
Referenced by llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV3::getHSAKernelProps().
uint32_t llvm::SIProgramInfo::EXCPEnable = 0 |
Definition at line 54 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2().
uint32_t llvm::SIProgramInfo::EXCPEnMSB = 0 |
Definition at line 52 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2().
bool llvm::SIProgramInfo::FlatUsed = false |
Definition at line 67 of file SIProgramInfo.h.
Referenced by llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd().
uint32_t llvm::SIProgramInfo::FloatMode = 0 |
Definition at line 30 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc1(), getPGMRSrc1(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::IEEEMode = 0 |
Definition at line 34 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc1(), getPGMRSrc1(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::LDSBlocks = 0 |
Definition at line 40 of file SIProgramInfo.h.
uint32_t llvm::SIProgramInfo::LdsSize = 0 |
Definition at line 53 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2().
uint32_t llvm::SIProgramInfo::LDSSize = 0 |
Definition at line 66 of file SIProgramInfo.h.
Referenced by llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV3::getHSAKernelProps(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::MemOrdered = 0 |
Definition at line 36 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc1(), and getPGMRSrc1().
uint32_t llvm::SIProgramInfo::NumAccVGPR = 0 |
Definition at line 60 of file SIProgramInfo.h.
Referenced by llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV3::getHSAKernelProps(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::NumArchVGPR = 0 |
Definition at line 59 of file SIProgramInfo.h.
Referenced by llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::NumSGPR = 0 |
Definition at line 63 of file SIProgramInfo.h.
Referenced by llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV3::getHSAKernelProps(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::NumSGPRsForWavesPerEU = 0 |
Definition at line 70 of file SIProgramInfo.h.
Referenced by llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::NumVGPR = 0 |
Definition at line 58 of file SIProgramInfo.h.
Referenced by llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV3::getHSAKernelProps(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::NumVGPRsForWavesPerEU = 0 |
Definition at line 73 of file SIProgramInfo.h.
Referenced by llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::Occupancy = 0 |
Definition at line 76 of file SIProgramInfo.h.
Referenced by llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::Priority = 0 |
Definition at line 29 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc1(), and getPGMRSrc1().
uint32_t llvm::SIProgramInfo::Priv = 0 |
Definition at line 31 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc1(), and getPGMRSrc1().
uint32_t llvm::SIProgramInfo::ScratchBlocks = 0 |
Definition at line 41 of file SIProgramInfo.h.
uint32_t llvm::SIProgramInfo::ScratchEnable = 0 |
Definition at line 44 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint64_t llvm::SIProgramInfo::ScratchSize = 0 |
Definition at line 37 of file SIProgramInfo.h.
Referenced by llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV3::getHSAKernelProps(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::SGPRBlocks = 0 |
Definition at line 28 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc1(), getPGMRSrc1(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
unsigned llvm::SIProgramInfo::SGPRSpill = 0 |
Definition at line 64 of file SIProgramInfo.h.
uint32_t llvm::SIProgramInfo::TGIdXEnable = 0 |
Definition at line 47 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::TGIdYEnable = 0 |
Definition at line 48 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::TGIdZEnable = 0 |
Definition at line 49 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::TGSizeEnable = 0 |
Definition at line 50 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2().
uint32_t llvm::SIProgramInfo::TgSplit = 0 |
Definition at line 62 of file SIProgramInfo.h.
uint32_t llvm::SIProgramInfo::TIdIGCompCount = 0 |
Definition at line 51 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::TrapHandlerEnable = 0 |
Definition at line 46 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
uint32_t llvm::SIProgramInfo::UserSGPR = 0 |
Definition at line 45 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc2(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
bool llvm::SIProgramInfo::VCCUsed = false |
Definition at line 83 of file SIProgramInfo.h.
Referenced by llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd().
uint32_t llvm::SIProgramInfo::VGPRBlocks = 0 |
Definition at line 27 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc1(), getPGMRSrc1(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().
unsigned llvm::SIProgramInfo::VGPRSpill = 0 |
Definition at line 65 of file SIProgramInfo.h.
uint32_t llvm::SIProgramInfo::WgpMode = 0 |
Definition at line 35 of file SIProgramInfo.h.
Referenced by getComputePGMRSrc1(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV3::getHSAKernelProps(), and getPGMRSrc1().