LLVM  6.0.0svn
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...
 

Detailed Description

In-memory representation of kernel code properties metadata.

Definition at line 250 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 284 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 290 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 257 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 274 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 277 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 263 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 253 of file AMDGPUMetadata.h.

Referenced by getElementByteSizeValue(), and 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 271 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 267 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 269 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 260 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 265 of file AMDGPUMetadata.h.

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


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