LLVM: llvm::AMDGPU::AMDGPUMCKernelCodeT Struct Reference (original) (raw)

#include "[Target/AMDGPU/Utils/AMDKernelCodeTUtils.h](AMDKernelCodeTUtils%5F8h%5Fsource.html)"

Public Types
using PrintHelper
Public Member Functions
AMDGPUMCKernelCodeT ()=default
void initDefault (const MCSubtargetInfo *STI, MCContext &Ctx, bool InitMCExpr=true)
void validate (const MCSubtargetInfo *STI, MCContext &Ctx)
const MCExpr *& getMCExprForIndex (int Index)
bool ParseKernelCodeT (StringRef ID, MCAsmParser &MCParser, raw_ostream &Err)
void EmitKernelCodeT (raw_ostream &OS, MCContext &Ctx, PrintHelper Helper)
void EmitKernelCodeT (MCStreamer &OS, MCContext &Ctx)
Public Attributes
uint32_t amd_kernel_code_version_major = 0
uint32_t amd_kernel_code_version_minor = 0
uint16_t amd_machine_kind = 0
uint16_t amd_machine_version_major = 0
uint16_t amd_machine_version_minor = 0
uint16_t amd_machine_version_stepping = 0
int64_t kernel_code_entry_byte_offset = 0
int64_t kernel_code_prefetch_byte_offset = 0
uint64_t kernel_code_prefetch_byte_size = 0
uint64_t reserved0 = 0
uint64_t compute_pgm_resource_registers = 0
uint32_t code_properties = 0
uint32_t workgroup_group_segment_byte_size = 0
uint32_t gds_segment_byte_size = 0
uint64_t kernarg_segment_byte_size = 0
uint32_t workgroup_fbarrier_count = 0
uint16_t reserved_vgpr_first = 0
uint16_t reserved_vgpr_count = 0
uint16_t reserved_sgpr_first = 0
uint16_t reserved_sgpr_count = 0
uint16_t debug_wavefront_private_segment_offset_sgpr = 0
uint16_t debug_private_segment_buffer_sgpr = 0
uint8_t kernarg_segment_alignment = 0
uint8_t group_segment_alignment = 0
uint8_t private_segment_alignment = 0
uint8_t wavefront_size = 0
int32_t call_convention = 0
uint8_t reserved3 [12] = {0}
uint64_t runtime_loader_kernel_symbol = 0
uint64_t control_directives [16] = {0}
const MCExpr * compute_pgm_resource1_registers = nullptr
const MCExpr * compute_pgm_resource2_registers = nullptr
const MCExpr * is_dynamic_callstack = nullptr
const MCExpr * wavefront_sgpr_count = nullptr
const MCExpr * workitem_vgpr_count = nullptr
const MCExpr * workitem_private_segment_byte_size = nullptr

Definition at line 33 of file AMDKernelCodeTUtils.h.

PrintHelper

Initial value:

This class is intended to be used as a base class for asm properties and features specific to the tar...

Base class for the full range of assembler expressions which are needed for parsing.

An efficient, type-erasing, non-owning reference to a callable.

This class implements an extremely fast bulk output stream that can only output to a stream.

Definition at line 83 of file AMDKernelCodeTUtils.h.

llvm::AMDGPU::AMDGPUMCKernelCodeT::AMDGPUMCKernelCodeT ( ) default

EmitKernelCodeT() [1/2]

Definition at line 452 of file AMDKernelCodeTUtils.cpp.

References AMD_CODE_PROPERTY_IS_DYNAMIC_CALLSTACK_SHIFT, AMD_CODE_PROPERTY_IS_DYNAMIC_CALLSTACK_WIDTH, amd_kernel_code_version_major, amd_kernel_code_version_minor, amd_machine_kind, amd_machine_version_major, amd_machine_version_minor, amd_machine_version_stepping, call_convention, code_properties, compute_pgm_resource1_registers, compute_pgm_resource2_registers, compute_pgm_resource_registers, control_directives, llvm::MCConstantExpr::create(), llvm::MCBinaryExpr::createOr(), debug_private_segment_buffer_sgpr, debug_wavefront_private_segment_offset_sgpr, llvm::MCStreamer::emitBytes(), llvm::MCStreamer::emitIntValue(), llvm::MCStreamer::emitValue(), gds_segment_byte_size, group_segment_alignment, llvm::Hi_32(), is_dynamic_callstack, kernarg_segment_alignment, kernarg_segment_byte_size, kernel_code_entry_byte_offset, kernel_code_prefetch_byte_offset, kernel_code_prefetch_byte_size, llvm::Lo_32(), llvm::AMDGPU::maskShiftSet(), private_segment_alignment, reserved0, reserved3, reserved_sgpr_count, reserved_sgpr_first, reserved_vgpr_count, reserved_vgpr_first, runtime_loader_kernel_symbol, wavefront_sgpr_count, wavefront_size, workgroup_fbarrier_count, workgroup_group_segment_byte_size, workitem_private_segment_byte_size, and workitem_vgpr_count.

EmitKernelCodeT() [2/2]

getMCExprForIndex()

const MCExpr *& AMDGPUMCKernelCodeT::getMCExprForIndex ( int Index )

initDefault()

Definition at line 362 of file AMDKernelCodeTUtils.cpp.

References AMDGPUMCKernelCodeT(), compute_pgm_resource1_registers, compute_pgm_resource2_registers, compute_pgm_resource_registers, llvm::MCConstantExpr::create(), llvm::Hi_32(), llvm::AMDGPU::initDefaultAMDKernelCodeT(), is_dynamic_callstack, llvm::Lo_32(), wavefront_sgpr_count, workitem_private_segment_byte_size, and workitem_vgpr_count.

ParseKernelCodeT()

validate()

amd_kernel_code_version_major

uint32_t llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_kernel_code_version_major = 0

amd_kernel_code_version_minor

uint32_t llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_kernel_code_version_minor = 0

amd_machine_kind

uint16_t llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_machine_kind = 0

amd_machine_version_major

uint16_t llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_machine_version_major = 0

amd_machine_version_minor

uint16_t llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_machine_version_minor = 0

amd_machine_version_stepping

uint16_t llvm::AMDGPU::AMDGPUMCKernelCodeT::amd_machine_version_stepping = 0

call_convention

int32_t llvm::AMDGPU::AMDGPUMCKernelCodeT::call_convention = 0

code_properties

uint32_t llvm::AMDGPU::AMDGPUMCKernelCodeT::code_properties = 0

compute_pgm_resource1_registers

const MCExpr* llvm::AMDGPU::AMDGPUMCKernelCodeT::compute_pgm_resource1_registers = nullptr

compute_pgm_resource2_registers

const MCExpr* llvm::AMDGPU::AMDGPUMCKernelCodeT::compute_pgm_resource2_registers = nullptr

compute_pgm_resource_registers

uint64_t llvm::AMDGPU::AMDGPUMCKernelCodeT::compute_pgm_resource_registers = 0

control_directives

uint64_t llvm::AMDGPU::AMDGPUMCKernelCodeT::control_directives[16] = {0}

debug_private_segment_buffer_sgpr

uint16_t llvm::AMDGPU::AMDGPUMCKernelCodeT::debug_private_segment_buffer_sgpr = 0

debug_wavefront_private_segment_offset_sgpr

uint16_t llvm::AMDGPU::AMDGPUMCKernelCodeT::debug_wavefront_private_segment_offset_sgpr = 0

gds_segment_byte_size

uint32_t llvm::AMDGPU::AMDGPUMCKernelCodeT::gds_segment_byte_size = 0

group_segment_alignment

uint8_t llvm::AMDGPU::AMDGPUMCKernelCodeT::group_segment_alignment = 0

is_dynamic_callstack

const MCExpr* llvm::AMDGPU::AMDGPUMCKernelCodeT::is_dynamic_callstack = nullptr

kernarg_segment_alignment

uint8_t llvm::AMDGPU::AMDGPUMCKernelCodeT::kernarg_segment_alignment = 0

kernarg_segment_byte_size

uint64_t llvm::AMDGPU::AMDGPUMCKernelCodeT::kernarg_segment_byte_size = 0

kernel_code_entry_byte_offset

int64_t llvm::AMDGPU::AMDGPUMCKernelCodeT::kernel_code_entry_byte_offset = 0

kernel_code_prefetch_byte_offset

int64_t llvm::AMDGPU::AMDGPUMCKernelCodeT::kernel_code_prefetch_byte_offset = 0

kernel_code_prefetch_byte_size

uint64_t llvm::AMDGPU::AMDGPUMCKernelCodeT::kernel_code_prefetch_byte_size = 0

private_segment_alignment

uint8_t llvm::AMDGPU::AMDGPUMCKernelCodeT::private_segment_alignment = 0

reserved0

uint64_t llvm::AMDGPU::AMDGPUMCKernelCodeT::reserved0 = 0

reserved3

uint8_t llvm::AMDGPU::AMDGPUMCKernelCodeT::reserved3[12] = {0}

reserved_sgpr_count

uint16_t llvm::AMDGPU::AMDGPUMCKernelCodeT::reserved_sgpr_count = 0

reserved_sgpr_first

uint16_t llvm::AMDGPU::AMDGPUMCKernelCodeT::reserved_sgpr_first = 0

reserved_vgpr_count

uint16_t llvm::AMDGPU::AMDGPUMCKernelCodeT::reserved_vgpr_count = 0

reserved_vgpr_first

uint16_t llvm::AMDGPU::AMDGPUMCKernelCodeT::reserved_vgpr_first = 0

runtime_loader_kernel_symbol

uint64_t llvm::AMDGPU::AMDGPUMCKernelCodeT::runtime_loader_kernel_symbol = 0

wavefront_sgpr_count

const MCExpr* llvm::AMDGPU::AMDGPUMCKernelCodeT::wavefront_sgpr_count = nullptr

wavefront_size

uint8_t llvm::AMDGPU::AMDGPUMCKernelCodeT::wavefront_size = 0

workgroup_fbarrier_count

uint32_t llvm::AMDGPU::AMDGPUMCKernelCodeT::workgroup_fbarrier_count = 0

workgroup_group_segment_byte_size

uint32_t llvm::AMDGPU::AMDGPUMCKernelCodeT::workgroup_group_segment_byte_size = 0

workitem_private_segment_byte_size

const MCExpr* llvm::AMDGPU::AMDGPUMCKernelCodeT::workitem_private_segment_byte_size = nullptr

workitem_vgpr_count

const MCExpr* llvm::AMDGPU::AMDGPUMCKernelCodeT::workitem_vgpr_count = nullptr


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