LLVM 20.0.0git
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::AMDGPU::AMDGPUMCKernelCodeT Struct Reference

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

Public Types

using PrintHelper = function_ref< void(const MCExpr *, raw_ostream &, const MCAsmInfo *)>
 

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

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]

void AMDGPUMCKernelCodeT::EmitKernelCodeT ( MCStreamer OS,
MCContext Ctx 
)

◆ EmitKernelCodeT() [2/2]

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

◆ getMCExprForIndex()

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

Definition at line 434 of file AMDKernelCodeTUtils.cpp.

References getMCExprIndexTable().

Referenced by EmitKernelCodeT(), and ParseKernelCodeT().

◆ initDefault()

void AMDGPUMCKernelCodeT::initDefault ( const MCSubtargetInfo STI,
MCContext Ctx,
bool  InitMCExpr = true 
)

◆ ParseKernelCodeT()

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

◆ validate()

void AMDGPUMCKernelCodeT::validate ( const MCSubtargetInfo STI,
MCContext Ctx 
)

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: