LLVM 22.0.0git
llvm::AMDGPU::AMDGPUMCKernelCodeT Struct Reference

#include "Target/AMDGPU/Utils/AMDKernelCodeTUtils.h"

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 MCExprcompute_pgm_resource1_registers = nullptr
const MCExprcompute_pgm_resource2_registers = nullptr
const MCExpris_dynamic_callstack = nullptr
const MCExprwavefront_sgpr_count = nullptr
const MCExprworkitem_vgpr_count = nullptr
const MCExprworkitem_private_segment_byte_size = nullptr

Detailed Description

Definition at line 33 of file AMDKernelCodeTUtils.h.

Member Typedef Documentation

◆ PrintHelper

Initial value:
function_ref<void(const MCExpr *, raw_ostream &, const MCAsmInfo *)>
This class is intended to be used as a base class for asm properties and features specific to the tar...
Definition MCAsmInfo.h:64
Base class for the full range of assembler expressions which are needed for parsing.
Definition MCExpr.h:34
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 raw_ostream.h:53

Definition at line 83 of file AMDKernelCodeTUtils.h.

Constructor & Destructor Documentation

◆ AMDGPUMCKernelCodeT()

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

Referenced by initDefault().

Member Function Documentation

◆ EmitKernelCodeT() [1/2]

◆ EmitKernelCodeT() [2/2]

void AMDGPUMCKernelCodeT::EmitKernelCodeT ( raw_ostream & OS,
MCContext & Ctx,
PrintHelper Helper )

Definition at line 447 of file AMDKernelCodeTUtils.cpp.

References getMCExprForIndex(), printAmdKernelCodeField(), and Size.

◆ getMCExprForIndex()

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

Definition at line 423 of file AMDKernelCodeTUtils.cpp.

Referenced by EmitKernelCodeT(), and ParseKernelCodeT().

◆ initDefault()

◆ ParseKernelCodeT()

bool AMDGPUMCKernelCodeT::ParseKernelCodeT ( StringRef ID,
MCAsmParser & MCParser,
raw_ostream & Err )

◆ validate()

Member Data Documentation

◆ 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

Definition at line 69 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT(), initDefault(), and validate().

◆ compute_pgm_resource2_registers

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

Definition at line 70 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT(), and initDefault().

◆ 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}

Definition at line 67 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ debug_private_segment_buffer_sgpr

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

Definition at line 59 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ debug_wavefront_private_segment_offset_sgpr

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

Definition at line 58 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ gds_segment_byte_size

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

Definition at line 51 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ group_segment_alignment

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

◆ is_dynamic_callstack

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

Definition at line 72 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT(), and initDefault().

◆ 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

Definition at line 52 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ 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

Definition at line 45 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ kernel_code_prefetch_byte_size

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

Definition at line 46 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ private_segment_alignment

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

◆ reserved0

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

Definition at line 47 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ reserved3

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

Definition at line 65 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ reserved_sgpr_count

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

Definition at line 57 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ reserved_sgpr_first

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

Definition at line 56 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ reserved_vgpr_count

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

Definition at line 55 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ reserved_vgpr_first

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

Definition at line 54 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ runtime_loader_kernel_symbol

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

Definition at line 66 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ wavefront_sgpr_count

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

Definition at line 73 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT(), and initDefault().

◆ wavefront_size

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

◆ workgroup_fbarrier_count

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

Definition at line 53 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ workgroup_group_segment_byte_size

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

Definition at line 50 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT().

◆ workitem_private_segment_byte_size

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

Definition at line 75 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT(), and initDefault().

◆ workitem_vgpr_count

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

Definition at line 74 of file AMDKernelCodeTUtils.h.

Referenced by EmitKernelCodeT(), and initDefault().


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