LLVM 19.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata Struct Referencefinal

In-memory representation of kernel code properties metadata. More...

#include "llvm/Support/AMDGPUMetadata.h"

Public Member Functions

 Metadata ()=default
 Default constructor.
 
bool empty () const
 
bool notEmpty () const
 

Public Attributes

uint64_t mKernargSegmentSize = 0
 Size in bytes of the kernarg segment memory.
 
uint32_t mGroupSegmentFixedSize = 0
 Size in bytes of the group segment memory required by a workgroup.
 
uint32_t mPrivateSegmentFixedSize = 0
 Size in bytes of the private segment memory required by a workitem.
 
uint32_t mKernargSegmentAlign = 0
 Maximum byte alignment of variables used by the kernel in the kernarg memory segment.
 
uint32_t mWavefrontSize = 0
 Wavefront size. Required.
 
uint16_t mNumSGPRs = 0
 Total number of SGPRs used by a wavefront. Optional.
 
uint16_t mNumVGPRs = 0
 Total number of VGPRs used by a workitem. Optional.
 
uint32_t mMaxFlatWorkGroupSize = 0
 Maximum flat work-group size supported by the kernel. Optional.
 
bool mIsDynamicCallStack = false
 True if the generated machine code is using a dynamically sized call stack.
 
bool mIsXNACKEnabled = false
 True if the generated machine code is capable of supporting XNACK.
 
uint16_t mNumSpilledSGPRs = 0
 Number of SGPRs spilled by a wavefront. Optional.
 
uint16_t mNumSpilledVGPRs = 0
 Number of VGPRs spilled by a workitem. Optional.
 

Detailed Description

In-memory representation of kernel code properties metadata.

Definition at line 275 of file AMDGPUMetadata.h.

Constructor & Destructor Documentation

◆ Metadata()

llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::Metadata ( )
default

Default constructor.

Member Function Documentation

◆ empty()

bool llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::empty ( ) const
inline
Returns
True if kernel code properties metadata is empty, false otherwise.

Definition at line 313 of file AMDGPUMetadata.h.

References notEmpty().

Referenced by llvm::yaml::MappingTraits< Kernel::Metadata >::mapping().

◆ notEmpty()

bool llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::notEmpty ( ) const
inline
Returns
True if kernel code properties metadata is not empty, false otherwise.

Definition at line 319 of file AMDGPUMetadata.h.

Referenced by empty().

Member Data Documentation

◆ mGroupSegmentFixedSize

uint32_t llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mGroupSegmentFixedSize = 0

Size in bytes of the group segment memory required by a workgroup.

This value does not include any dynamically allocated group segment memory that may be added when the kernel is dispatched. Required.

Definition at line 282 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mIsDynamicCallStack

bool llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mIsDynamicCallStack = false

True if the generated machine code is using a dynamically sized call stack.

Optional.

Definition at line 299 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mIsXNACKEnabled

bool llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mIsXNACKEnabled = false

True if the generated machine code is capable of supporting XNACK.

Optional.

Definition at line 302 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mKernargSegmentAlign

uint32_t llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mKernargSegmentAlign = 0

Maximum byte alignment of variables used by the kernel in the kernarg memory segment.

Required.

Definition at line 288 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mKernargSegmentSize

uint64_t llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mKernargSegmentSize = 0

Size in bytes of the kernarg segment memory.

Kernarg segment memory holds the values of the arguments to the kernel. Required.

Definition at line 278 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mMaxFlatWorkGroupSize

uint32_t llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mMaxFlatWorkGroupSize = 0

Maximum flat work-group size supported by the kernel. Optional.

Definition at line 296 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mNumSGPRs

uint16_t llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mNumSGPRs = 0

Total number of SGPRs used by a wavefront. Optional.

Definition at line 292 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mNumSpilledSGPRs

uint16_t llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mNumSpilledSGPRs = 0

Number of SGPRs spilled by a wavefront. Optional.

Definition at line 304 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mNumSpilledVGPRs

uint16_t llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mNumSpilledVGPRs = 0

Number of VGPRs spilled by a workitem. Optional.

Definition at line 306 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mNumVGPRs

uint16_t llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mNumVGPRs = 0

Total number of VGPRs used by a workitem. Optional.

Definition at line 294 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mPrivateSegmentFixedSize

uint32_t llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mPrivateSegmentFixedSize = 0

Size in bytes of the private segment memory required by a workitem.

Private segment memory includes arg, spill and private segments. Required.

Definition at line 285 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().

◆ mWavefrontSize

uint32_t llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata::mWavefrontSize = 0

Wavefront size. Required.

Definition at line 290 of file AMDGPUMetadata.h.

Referenced by llvm::yaml::MappingTraits< Kernel::CodeProps::Metadata >::mapping().


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