LLVM 22.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::SIProgramInfo Struct Reference

Track resource usage for kernels / entry functions. More...

#include "Target/AMDGPU/SIProgramInfo.h"

Public Member Functions

 SIProgramInfo ()=default
 
void reset (const MachineFunction &MF)
 
uint64_t getFunctionCodeSize (const MachineFunction &MF, bool IsLowerBound=false)
 
const MCExprgetComputePGMRSrc1 (const GCNSubtarget &ST, MCContext &Ctx) const
 Compute the value of the ComputePGMRsrc1 register.
 
const MCExprgetPGMRSrc1 (CallingConv::ID CC, const GCNSubtarget &ST, MCContext &Ctx) const
 
const MCExprgetComputePGMRSrc2 (MCContext &Ctx) const
 Compute the value of the ComputePGMRsrc2 register.
 
const MCExprgetPGMRSrc2 (CallingConv::ID CC, MCContext &Ctx) const
 

Public Attributes

std::optional< uint64_tCodeSizeInBytes
 
const MCExprVGPRBlocks = nullptr
 
const MCExprSGPRBlocks = nullptr
 
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
 
uint32_t FwdProgress = 0
 
uint32_t RrWgMode = 0
 
const MCExprScratchSize = nullptr
 
uint32_t LDSBlocks = 0
 
const MCExprScratchBlocks = nullptr
 
const MCExprScratchEnable = nullptr
 
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
 
const MCExprComputePGMRSrc3 = nullptr
 
const MCExprNumVGPR = nullptr
 
const MCExprNumArchVGPR = nullptr
 
const MCExprNumAccVGPR = nullptr
 
const MCExprAccumOffset = nullptr
 
uint32_t TgSplit = 0
 
const MCExprNumSGPR = nullptr
 
unsigned SGPRSpill = 0
 
unsigned VGPRSpill = 0
 
uint32_t LDSSize = 0
 
const MCExprFlatUsed = nullptr
 
const MCExprNumSGPRsForWavesPerEU = nullptr
 
const MCExprNumVGPRsForWavesPerEU = nullptr
 
const MCExprNamedBarCnt = nullptr
 
const MCExprOccupancy = nullptr
 
const MCExprDynamicCallStack = nullptr
 
const MCExprVCCUsed = nullptr
 

Detailed Description

Track resource usage for kernels / entry functions.

Definition at line 32 of file SIProgramInfo.h.

Constructor & Destructor Documentation

◆ SIProgramInfo()

llvm::SIProgramInfo::SIProgramInfo ( )
default

Member Function Documentation

◆ getComputePGMRSrc1()

const MCExpr * SIProgramInfo::getComputePGMRSrc1 ( const GCNSubtarget ST,
MCContext Ctx 
) const

Compute the value of the ComputePGMRsrc1 register.

Definition at line 169 of file SIProgramInfo.cpp.

References llvm::MCConstantExpr::create(), llvm::MCBinaryExpr::createOr(), getComputePGMRSrc1Reg(), MaskShift(), SGPRBlocks, and VGPRBlocks.

Referenced by getPGMRSrc1().

◆ getComputePGMRSrc2()

const MCExpr * SIProgramInfo::getComputePGMRSrc2 ( MCContext Ctx) const

Compute the value of the ComputePGMRsrc2 register.

Definition at line 194 of file SIProgramInfo.cpp.

References llvm::MCConstantExpr::create(), llvm::MCBinaryExpr::createOr(), getComputePGMRSrc2Reg(), and ScratchEnable.

Referenced by getPGMRSrc2().

◆ getFunctionCodeSize()

uint64_t SIProgramInfo::getFunctionCodeSize ( const MachineFunction MF,
bool  IsLowerBound = false 
)

◆ getPGMRSrc1()

const MCExpr * SIProgramInfo::getPGMRSrc1 ( CallingConv::ID  CC,
const GCNSubtarget ST,
MCContext Ctx 
) const

◆ getPGMRSrc2()

const MCExpr * SIProgramInfo::getPGMRSrc2 ( CallingConv::ID  CC,
MCContext Ctx 
) const

◆ reset()

void SIProgramInfo::reset ( const MachineFunction MF)

Member Data Documentation

◆ AccumOffset

const MCExpr* llvm::SIProgramInfo::AccumOffset = nullptr

Definition at line 72 of file SIProgramInfo.h.

Referenced by reset(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().

◆ CodeSizeInBytes

std::optional<uint64_t> llvm::SIProgramInfo::CodeSizeInBytes

Definition at line 33 of file SIProgramInfo.h.

Referenced by getFunctionCodeSize(), and reset().

◆ ComputePGMRSrc3

const MCExpr* llvm::SIProgramInfo::ComputePGMRSrc3 = nullptr

Definition at line 67 of file SIProgramInfo.h.

Referenced by reset(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().

◆ DebugMode

uint32_t llvm::SIProgramInfo::DebugMode = 0

Definition at line 42 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc1Reg(), getPGMRSrc1Reg(), and reset().

◆ DX10Clamp

uint32_t llvm::SIProgramInfo::DX10Clamp = 0

Definition at line 41 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc1Reg(), getPGMRSrc1Reg(), and reset().

◆ DynamicCallStack

const MCExpr* llvm::SIProgramInfo::DynamicCallStack = nullptr

◆ EXCPEnable

uint32_t llvm::SIProgramInfo::EXCPEnable = 0

Definition at line 65 of file SIProgramInfo.h.

Referenced by EmitPALMetadataCommon(), getComputePGMRSrc2Reg(), and reset().

◆ EXCPEnMSB

uint32_t llvm::SIProgramInfo::EXCPEnMSB = 0

Definition at line 63 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc2Reg(), and reset().

◆ FlatUsed

const MCExpr* llvm::SIProgramInfo::FlatUsed = nullptr

Definition at line 78 of file SIProgramInfo.h.

Referenced by llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd(), and reset().

◆ FloatMode

uint32_t llvm::SIProgramInfo::FloatMode = 0

◆ FwdProgress

uint32_t llvm::SIProgramInfo::FwdProgress = 0

Definition at line 46 of file SIProgramInfo.h.

Referenced by EmitPALMetadataCommon(), getComputePGMRSrc1Reg(), and reset().

◆ IEEEMode

uint32_t llvm::SIProgramInfo::IEEEMode = 0

◆ LDSBlocks

uint32_t llvm::SIProgramInfo::LDSBlocks = 0

Definition at line 51 of file SIProgramInfo.h.

Referenced by reset().

◆ LdsSize

uint32_t llvm::SIProgramInfo::LdsSize = 0

Definition at line 64 of file SIProgramInfo.h.

Referenced by EmitPALMetadataCommon(), getComputePGMRSrc2Reg(), and reset().

◆ LDSSize

uint32_t llvm::SIProgramInfo::LDSSize = 0

◆ MemOrdered

uint32_t llvm::SIProgramInfo::MemOrdered = 0

◆ NamedBarCnt

const MCExpr* llvm::SIProgramInfo::NamedBarCnt = nullptr

Definition at line 87 of file SIProgramInfo.h.

Referenced by reset(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().

◆ NumAccVGPR

const MCExpr* llvm::SIProgramInfo::NumAccVGPR = nullptr

◆ NumArchVGPR

const MCExpr* llvm::SIProgramInfo::NumArchVGPR = nullptr

Definition at line 70 of file SIProgramInfo.h.

Referenced by reset(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().

◆ NumSGPR

const MCExpr* llvm::SIProgramInfo::NumSGPR = nullptr

◆ NumSGPRsForWavesPerEU

const MCExpr* llvm::SIProgramInfo::NumSGPRsForWavesPerEU = nullptr

◆ NumVGPR

const MCExpr* llvm::SIProgramInfo::NumVGPR = nullptr

◆ NumVGPRsForWavesPerEU

const MCExpr* llvm::SIProgramInfo::NumVGPRsForWavesPerEU = nullptr

◆ Occupancy

const MCExpr* llvm::SIProgramInfo::Occupancy = nullptr

Definition at line 90 of file SIProgramInfo.h.

Referenced by reset(), and llvm::AMDGPUAsmPrinter::runOnMachineFunction().

◆ Priority

uint32_t llvm::SIProgramInfo::Priority = 0

Definition at line 38 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc1Reg(), getPGMRSrc1Reg(), and reset().

◆ Priv

uint32_t llvm::SIProgramInfo::Priv = 0

Definition at line 40 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc1Reg(), getPGMRSrc1Reg(), and reset().

◆ RrWgMode

uint32_t llvm::SIProgramInfo::RrWgMode = 0

Definition at line 47 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc1Reg(), getPGMRSrc1Reg(), and reset().

◆ ScratchBlocks

const MCExpr* llvm::SIProgramInfo::ScratchBlocks = nullptr

Definition at line 52 of file SIProgramInfo.h.

Referenced by reset().

◆ ScratchEnable

const MCExpr* llvm::SIProgramInfo::ScratchEnable = nullptr

◆ ScratchSize

const MCExpr* llvm::SIProgramInfo::ScratchSize = nullptr

◆ SGPRBlocks

const MCExpr* llvm::SIProgramInfo::SGPRBlocks = nullptr

◆ SGPRSpill

unsigned llvm::SIProgramInfo::SGPRSpill = 0

Definition at line 75 of file SIProgramInfo.h.

Referenced by reset().

◆ TGIdXEnable

uint32_t llvm::SIProgramInfo::TGIdXEnable = 0

◆ TGIdYEnable

uint32_t llvm::SIProgramInfo::TGIdYEnable = 0

◆ TGIdZEnable

uint32_t llvm::SIProgramInfo::TGIdZEnable = 0

◆ TGSizeEnable

uint32_t llvm::SIProgramInfo::TGSizeEnable = 0

Definition at line 61 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc2Reg(), and reset().

◆ TgSplit

uint32_t llvm::SIProgramInfo::TgSplit = 0

Definition at line 73 of file SIProgramInfo.h.

Referenced by reset().

◆ TIdIGCompCount

uint32_t llvm::SIProgramInfo::TIdIGCompCount = 0

◆ TrapHandlerEnable

uint32_t llvm::SIProgramInfo::TrapHandlerEnable = 0

◆ UserSGPR

uint32_t llvm::SIProgramInfo::UserSGPR = 0

◆ VCCUsed

const MCExpr* llvm::SIProgramInfo::VCCUsed = nullptr

Definition at line 97 of file SIProgramInfo.h.

Referenced by llvm::AMDGPUAsmPrinter::emitFunctionBodyEnd(), and reset().

◆ VGPRBlocks

const MCExpr* llvm::SIProgramInfo::VGPRBlocks = nullptr

◆ VGPRSpill

unsigned llvm::SIProgramInfo::VGPRSpill = 0

Definition at line 76 of file SIProgramInfo.h.

Referenced by reset().

◆ WgpMode

uint32_t llvm::SIProgramInfo::WgpMode = 0

The documentation for this struct was generated from the following files: