LLVM 22.0.0git
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(), and SIProgramInfo().

◆ 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(), and SIProgramInfo().

◆ getFunctionCodeSize()

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

◆ getPGMRSrc1()

◆ getPGMRSrc2()

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

◆ reset()

Member Data Documentation

◆ AccumOffset

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

Definition at line 72 of file SIProgramInfo.h.

Referenced by reset().

◆ 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().

◆ 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 reset().

◆ FloatMode

uint32_t llvm::SIProgramInfo::FloatMode = 0

Definition at line 39 of file SIProgramInfo.h.

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

◆ 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

◆ LdsSize

uint32_t llvm::SIProgramInfo::LdsSize = 0

Definition at line 64 of file SIProgramInfo.h.

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

◆ 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().

◆ 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().

◆ NumSGPR

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

◆ NumSGPRsForWavesPerEU

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

Definition at line 81 of file SIProgramInfo.h.

Referenced by reset().

◆ NumVGPR

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

◆ NumVGPRsForWavesPerEU

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

Definition at line 84 of file SIProgramInfo.h.

Referenced by reset().

◆ Occupancy

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

Definition at line 90 of file SIProgramInfo.h.

Referenced by reset().

◆ 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

Definition at line 55 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc2(), and reset().

◆ ScratchSize

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

◆ SGPRBlocks

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

Definition at line 37 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc1(), getPGMRSrc1(), and reset().

◆ SGPRSpill

unsigned llvm::SIProgramInfo::SGPRSpill = 0

Definition at line 75 of file SIProgramInfo.h.

Referenced by reset().

◆ TGIdXEnable

uint32_t llvm::SIProgramInfo::TGIdXEnable = 0

Definition at line 58 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc2Reg(), and reset().

◆ TGIdYEnable

uint32_t llvm::SIProgramInfo::TGIdYEnable = 0

Definition at line 59 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc2Reg(), and reset().

◆ TGIdZEnable

uint32_t llvm::SIProgramInfo::TGIdZEnable = 0

Definition at line 60 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc2Reg(), and reset().

◆ 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

Definition at line 62 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc2Reg(), and reset().

◆ TrapHandlerEnable

uint32_t llvm::SIProgramInfo::TrapHandlerEnable = 0

Definition at line 57 of file SIProgramInfo.h.

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

◆ UserSGPR

uint32_t llvm::SIProgramInfo::UserSGPR = 0

Definition at line 56 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc2Reg(), and reset().

◆ VCCUsed

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

Definition at line 97 of file SIProgramInfo.h.

Referenced by reset().

◆ VGPRBlocks

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

Definition at line 36 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc1(), getPGMRSrc1(), and reset().

◆ VGPRSpill

unsigned llvm::SIProgramInfo::VGPRSpill = 0

Definition at line 76 of file SIProgramInfo.h.

Referenced by reset().

◆ WgpMode


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