LLVM 22.0.0git
llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4 Class Reference

#include "Target/AMDGPU/AMDGPUHSAMetadataStreamer.h"

Inheritance diagram for llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4:
[legend]

Public Member Functions

 MetadataStreamerMsgPackV4 ()=default
 ~MetadataStreamerMsgPackV4 ()=default
bool emitTo (AMDGPUTargetStreamer &TargetStreamer) override
void begin (const Module &Mod, const IsaInfo::AMDGPUTargetID &TargetID) override
void end () override
void emitKernel (const MachineFunction &MF, const SIProgramInfo &ProgramInfo) override
Public Member Functions inherited from llvm::AMDGPU::HSAMD::MetadataStreamer
virtual ~MetadataStreamer ()=default

Protected Member Functions

void dump (StringRef HSAMetadataString) const
void verify (StringRef HSAMetadataString) const
std::optional< StringRefgetAccessQualifier (StringRef AccQual) const
std::optional< StringRefgetAddressSpaceQualifier (unsigned AddressSpace) const
StringRef getValueKind (Type *Ty, StringRef TypeQual, StringRef BaseTypeName) const
std::string getTypeName (Type *Ty, bool Signed) const
msgpack::ArrayDocNode getWorkGroupDimensions (MDNode *Node) const
msgpack::MapDocNode getHSAKernelProps (const MachineFunction &MF, const SIProgramInfo &ProgramInfo, unsigned CodeObjectVersion) const
void emitVersion () override
void emitTargetID (const IsaInfo::AMDGPUTargetID &TargetID)
void emitPrintf (const Module &Mod)
void emitKernelLanguage (const Function &Func, msgpack::MapDocNode Kern)
void emitKernelAttrs (const AMDGPUTargetMachine &TM, const MachineFunction &MF, msgpack::MapDocNode Kern) override
void emitKernelArgs (const MachineFunction &MF, msgpack::MapDocNode Kern)
void emitKernelArg (const Argument &Arg, unsigned &Offset, msgpack::ArrayDocNode Args)
void emitKernelArg (const DataLayout &DL, Type *Ty, Align Alignment, StringRef ValueKind, unsigned &Offset, msgpack::ArrayDocNode Args, MaybeAlign PointeeAlign=std::nullopt, StringRef Name="", StringRef TypeName="", StringRef BaseTypeName="", StringRef ActAccQual="", StringRef AccQual="", StringRef TypeQual="")
void emitHiddenKernelArgs (const MachineFunction &MF, unsigned &Offset, msgpack::ArrayDocNode Args) override
msgpack::DocNodegetRootMetadata (StringRef Key)
msgpack::DocNodegetHSAMetadataRoot ()

Protected Attributes

std::unique_ptr< DelayedMCExprsDelayedExprs
std::unique_ptr< msgpack::DocumentHSAMetadataDoc

Detailed Description

Definition at line 68 of file AMDGPUHSAMetadataStreamer.h.

Constructor & Destructor Documentation

◆ MetadataStreamerMsgPackV4()

llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::MetadataStreamerMsgPackV4 ( )
default

◆ ~MetadataStreamerMsgPackV4()

llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::~MetadataStreamerMsgPackV4 ( )
default

Member Function Documentation

◆ begin()

void llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::begin ( const Module & Mod,
const IsaInfo::AMDGPUTargetID & TargetID )
overridevirtual

◆ dump()

void llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::dump ( StringRef HSAMetadataString) const
protected

Definition at line 79 of file AMDGPUHSAMetadataStreamer.cpp.

References llvm::errs().

Referenced by end().

◆ emitHiddenKernelArgs()

◆ emitKernel()

◆ emitKernelArg() [1/2]

◆ emitKernelArg() [2/2]

void llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitKernelArg ( const DataLayout & DL,
Type * Ty,
Align Alignment,
StringRef ValueKind,
unsigned & Offset,
msgpack::ArrayDocNode Args,
MaybeAlign PointeeAlign = std::nullopt,
StringRef Name = "",
StringRef TypeName = "",
StringRef BaseTypeName = "",
StringRef ActAccQual = "",
StringRef AccQual = "",
StringRef TypeQual = "" )
protected

◆ emitKernelArgs()

void llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitKernelArgs ( const MachineFunction & MF,
msgpack::MapDocNode Kern )
protected

◆ emitKernelAttrs()

◆ emitKernelLanguage()

void llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitKernelLanguage ( const Function & Func,
msgpack::MapDocNode Kern )
protected

◆ emitPrintf()

void llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitPrintf ( const Module & Mod)
protected

Definition at line 224 of file AMDGPUHSAMetadataStreamer.cpp.

References llvm::cast(), getRootMetadata(), HSAMetadataDoc, and llvm::Mod.

Referenced by begin().

◆ emitTargetID()

void llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitTargetID ( const IsaInfo::AMDGPUTargetID & TargetID)
protected

◆ emitTo()

bool llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitTo ( AMDGPUTargetStreamer & TargetStreamer)
overridevirtual

◆ emitVersion()

void llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitVersion ( )
overrideprotectedvirtual

◆ end()

void llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::end ( )
overridevirtual

◆ getAccessQualifier()

std::optional< StringRef > llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getAccessQualifier ( StringRef AccQual) const
protected

◆ getAddressSpaceQualifier()

std::optional< StringRef > llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getAddressSpaceQualifier ( unsigned AddressSpace) const
protected

◆ getHSAKernelProps()

◆ getHSAMetadataRoot()

msgpack::DocNode & llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getHSAMetadataRoot ( )
inlineprotected

Definition at line 128 of file AMDGPUHSAMetadataStreamer.h.

References HSAMetadataDoc.

◆ getRootMetadata()

msgpack::DocNode & llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getRootMetadata ( StringRef Key)
inlineprotected

◆ getTypeName()

std::string llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getTypeName ( Type * Ty,
bool Signed ) const
protected

◆ getValueKind()

StringRef llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getValueKind ( Type * Ty,
StringRef TypeQual,
StringRef BaseTypeName ) const
protected

◆ getWorkGroupDimensions()

msgpack::ArrayDocNode llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::getWorkGroupDimensions ( MDNode * Node) const
protected

Definition at line 200 of file AMDGPUHSAMetadataStreamer.cpp.

References llvm::mdconst::extract(), and HSAMetadataDoc.

Referenced by emitKernelAttrs().

◆ verify()

void llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::verify ( StringRef HSAMetadataString) const
protected

Member Data Documentation

◆ DelayedExprs

std::unique_ptr<DelayedMCExprs> llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::DelayedExprs
protected
Initial value:
=
std::make_unique<DelayedMCExprs>()

Definition at line 71 of file AMDGPUHSAMetadataStreamer.h.

Referenced by begin(), emitTo(), end(), and getHSAKernelProps().

◆ HSAMetadataDoc


The documentation for this class was generated from the following files: