LLVM 20.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)
 
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

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 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 MCExprComputePGMRSrc3GFX90A = 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 MCExprOccupancy = nullptr
 
const MCExprDynamicCallStack = nullptr
 
const MCExprVCCUsed = nullptr
 

Detailed Description

Track resource usage for kernels / entry functions.

Definition at line 31 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 164 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 189 of file SIProgramInfo.cpp.

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

Referenced by getPGMRSrc2().

◆ 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 68 of file SIProgramInfo.h.

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

◆ ComputePGMRSrc3GFX90A

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

Definition at line 63 of file SIProgramInfo.h.

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

◆ DebugMode

uint32_t llvm::SIProgramInfo::DebugMode = 0

Definition at line 39 of file SIProgramInfo.h.

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

◆ DX10Clamp

uint32_t llvm::SIProgramInfo::DX10Clamp = 0

Definition at line 38 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 61 of file SIProgramInfo.h.

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

◆ EXCPEnMSB

uint32_t llvm::SIProgramInfo::EXCPEnMSB = 0

Definition at line 59 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc2Reg(), and reset().

◆ FlatUsed

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

Definition at line 74 of file SIProgramInfo.h.

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

◆ FloatMode

uint32_t llvm::SIProgramInfo::FloatMode = 0

◆ IEEEMode

uint32_t llvm::SIProgramInfo::IEEEMode = 0

◆ LDSBlocks

uint32_t llvm::SIProgramInfo::LDSBlocks = 0

Definition at line 47 of file SIProgramInfo.h.

Referenced by reset().

◆ LdsSize

uint32_t llvm::SIProgramInfo::LdsSize = 0

Definition at line 60 of file SIProgramInfo.h.

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

◆ LDSSize

uint32_t llvm::SIProgramInfo::LDSSize = 0

◆ MemOrdered

uint32_t llvm::SIProgramInfo::MemOrdered = 0

◆ NumAccVGPR

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

◆ NumArchVGPR

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

Definition at line 66 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 83 of file SIProgramInfo.h.

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

◆ Priority

uint32_t llvm::SIProgramInfo::Priority = 0

Definition at line 35 of file SIProgramInfo.h.

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

◆ Priv

uint32_t llvm::SIProgramInfo::Priv = 0

Definition at line 37 of file SIProgramInfo.h.

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

◆ RrWgMode

uint32_t llvm::SIProgramInfo::RrWgMode = 0

Definition at line 43 of file SIProgramInfo.h.

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

◆ ScratchBlocks

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

Definition at line 48 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 71 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 57 of file SIProgramInfo.h.

Referenced by getComputePGMRSrc2Reg(), and reset().

◆ TgSplit

uint32_t llvm::SIProgramInfo::TgSplit = 0

Definition at line 69 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 90 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 72 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: