LLVM  8.0.1
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"

Collaboration diagram for llvm::AMDGPU::HSAMD::Kernel::CodeProps::Metadata:
Collaboration graph
[legend]

Public Member Functions

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

Public Attributes

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

Detailed Description

In-memory representation of kernel code properties metadata.

Definition at line 254 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 292 of file AMDGPUMetadata.h.

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 298 of file AMDGPUMetadata.h.

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 261 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 278 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 281 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 267 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 257 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 275 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 271 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 283 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 285 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 273 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 264 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 269 of file AMDGPUMetadata.h.

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


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