LLVM  6.0.0svn
Public Member Functions | Public Attributes | List of all members
llvm::AMDGPU::CodeObject::Kernel::CodeProps::Metadata Struct Referencefinal

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

#include "llvm/Support/AMDGPUCodeObjectMetadata.h"

Collaboration diagram for llvm::AMDGPU::CodeObject::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 mWorkgroupGroupSegmentSize = 0
 Size in bytes of the group segment memory required by a workgroup. More...
 
uint32_t mWorkitemPrivateSegmentSize = 0
 Size in bytes of the private segment memory required by a workitem. More...
 
uint16_t mWavefrontNumSGPRs = 0
 Total number of SGPRs used by a wavefront. Optional. More...
 
uint16_t mWorkitemNumVGPRs = 0
 Total number of VGPRs used by a workitem. Optional. More...
 
uint8_t mKernargSegmentAlign = 0
 Maximum byte alignment of variables used by the kernel in the kernarg memory segment. More...
 
uint8_t mGroupSegmentAlign = 0
 Maximum byte alignment of variables used by the kernel in the group memory segment. More...
 
uint8_t mPrivateSegmentAlign = 0
 Maximum byte alignment of variables used by the kernel in the private memory segment. More...
 
uint8_t mWavefrontSize = 0
 Wavefront size. Expressed as a power of two. Optional. More...
 

Detailed Description

In-memory representation of kernel code properties metadata.

Definition at line 247 of file AMDGPUCodeObjectMetadata.h.

Constructor & Destructor Documentation

◆ Metadata()

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

Default constructor.

Member Function Documentation

◆ empty()

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

Definition at line 279 of file AMDGPUCodeObjectMetadata.h.

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

◆ notEmpty()

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

Definition at line 285 of file AMDGPUCodeObjectMetadata.h.

Member Data Documentation

◆ mGroupSegmentAlign

uint8_t llvm::AMDGPU::CodeObject::Kernel::CodeProps::Metadata::mGroupSegmentAlign = 0

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

Expressed as a power of two. Optional.

Definition at line 267 of file AMDGPUCodeObjectMetadata.h.

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

◆ mKernargSegmentAlign

uint8_t llvm::AMDGPU::CodeObject::Kernel::CodeProps::Metadata::mKernargSegmentAlign = 0

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

Expressed as a power of two. Optional.

Definition at line 264 of file AMDGPUCodeObjectMetadata.h.

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

◆ mKernargSegmentSize

uint64_t llvm::AMDGPU::CodeObject::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. Optional.

Definition at line 250 of file AMDGPUCodeObjectMetadata.h.

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

◆ mPrivateSegmentAlign

uint8_t llvm::AMDGPU::CodeObject::Kernel::CodeProps::Metadata::mPrivateSegmentAlign = 0

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

Expressed as a power of two. Optional.

Definition at line 270 of file AMDGPUCodeObjectMetadata.h.

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

◆ mWavefrontNumSGPRs

uint16_t llvm::AMDGPU::CodeObject::Kernel::CodeProps::Metadata::mWavefrontNumSGPRs = 0

Total number of SGPRs used by a wavefront. Optional.

Definition at line 259 of file AMDGPUCodeObjectMetadata.h.

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

◆ mWavefrontSize

uint8_t llvm::AMDGPU::CodeObject::Kernel::CodeProps::Metadata::mWavefrontSize = 0

Wavefront size. Expressed as a power of two. Optional.

Definition at line 272 of file AMDGPUCodeObjectMetadata.h.

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

◆ mWorkgroupGroupSegmentSize

uint32_t llvm::AMDGPU::CodeObject::Kernel::CodeProps::Metadata::mWorkgroupGroupSegmentSize = 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. Optional.

Definition at line 254 of file AMDGPUCodeObjectMetadata.h.

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

◆ mWorkitemNumVGPRs

uint16_t llvm::AMDGPU::CodeObject::Kernel::CodeProps::Metadata::mWorkitemNumVGPRs = 0

Total number of VGPRs used by a workitem. Optional.

Definition at line 261 of file AMDGPUCodeObjectMetadata.h.

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

◆ mWorkitemPrivateSegmentSize

uint32_t llvm::AMDGPU::CodeObject::Kernel::CodeProps::Metadata::mWorkitemPrivateSegmentSize = 0

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

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

Definition at line 257 of file AMDGPUCodeObjectMetadata.h.

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


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