LLVM  14.0.0git
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::AMDGPU::HSAMD::MetadataStreamerV3 Class Reference

#include "Target/AMDGPU/AMDGPUHSAMetadataStreamer.h"

Inheritance diagram for llvm::AMDGPU::HSAMD::MetadataStreamerV3:
Inheritance graph
[legend]
Collaboration diagram for llvm::AMDGPU::HSAMD::MetadataStreamerV3:
Collaboration graph
[legend]

Public Member Functions

 MetadataStreamerV3 ()=default
 
 ~MetadataStreamerV3 ()=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 ()
 

Protected Member Functions

void dump (StringRef HSAMetadataString) const
 
void verify (StringRef HSAMetadataString) const
 
Optional< StringRefgetAccessQualifier (StringRef AccQual) const
 
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) const
 
void emitVersion ()
 
void emitPrintf (const Module &Mod)
 
void emitKernelLanguage (const Function &Func, msgpack::MapDocNode Kern)
 
void emitKernelAttrs (const Function &Func, msgpack::MapDocNode Kern)
 
void emitKernelArgs (const Function &Func, const GCNSubtarget &ST, 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=None, StringRef Name="", StringRef TypeName="", StringRef BaseTypeName="", StringRef AccQual="", StringRef TypeQual="")
 
void emitHiddenKernelArgs (const Function &Func, const GCNSubtarget &ST, unsigned &Offset, msgpack::ArrayDocNode Args)
 
msgpack::DocNodegetRootMetadata (StringRef Key)
 
msgpack::DocNodegetHSAMetadataRoot ()
 

Protected Attributes

std::unique_ptr< msgpack::DocumentHSAMetadataDoc
 

Detailed Description

Definition at line 59 of file AMDGPUHSAMetadataStreamer.h.

Constructor & Destructor Documentation

◆ MetadataStreamerV3()

llvm::AMDGPU::HSAMD::MetadataStreamerV3::MetadataStreamerV3 ( )
default

◆ ~MetadataStreamerV3()

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

Member Function Documentation

◆ begin()

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

◆ dump()

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

Definition at line 482 of file AMDGPUHSAMetadataStreamer.cpp.

References llvm::errs().

Referenced by end().

◆ emitHiddenKernelArgs()

void llvm::AMDGPU::HSAMD::MetadataStreamerV3::emitHiddenKernelArgs ( const Function Func,
const GCNSubtarget ST,
unsigned &  Offset,
msgpack::ArrayDocNode  Args 
)
protected

◆ emitKernel()

void llvm::AMDGPU::HSAMD::MetadataStreamerV3::emitKernel ( const MachineFunction MF,
const SIProgramInfo ProgramInfo 
)
overridevirtual

◆ emitKernelArg() [1/2]

void llvm::AMDGPU::HSAMD::MetadataStreamerV3::emitKernelArg ( const Argument Arg,
unsigned &  Offset,
msgpack::ArrayDocNode  Args 
)
protected

Definition at line 689 of file AMDGPUHSAMetadataStreamer.cpp.

References Arg.

Referenced by emitHiddenKernelArgs(), and emitKernelArgs().

◆ emitKernelArg() [2/2]

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

◆ emitKernelArgs()

void llvm::AMDGPU::HSAMD::MetadataStreamerV3::emitKernelArgs ( const Function Func,
const GCNSubtarget ST,
msgpack::MapDocNode  Kern 
)
protected

◆ emitKernelAttrs()

void llvm::AMDGPU::HSAMD::MetadataStreamerV3::emitKernelAttrs ( const Function Func,
msgpack::MapDocNode  Kern 
)
protected

Definition at line 651 of file AMDGPUHSAMetadataStreamer.cpp.

Referenced by emitKernel().

◆ emitKernelLanguage()

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

Definition at line 632 of file AMDGPUHSAMetadataStreamer.cpp.

Referenced by emitKernel().

◆ emitPrintf()

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

◆ emitTo()

bool llvm::AMDGPU::HSAMD::MetadataStreamerV3::emitTo ( AMDGPUTargetStreamer TargetStreamer)
overridevirtual

◆ emitVersion()

void llvm::AMDGPU::HSAMD::MetadataStreamerV3::emitVersion ( )
protected

◆ end()

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

◆ getAccessQualifier()

Optional< StringRef > llvm::AMDGPU::HSAMD::MetadataStreamerV3::getAccessQualifier ( StringRef  AccQual) const
protected

◆ getAddressSpaceQualifier()

Optional< StringRef > llvm::AMDGPU::HSAMD::MetadataStreamerV3::getAddressSpaceQualifier ( unsigned  AddressSpace) const
protected

◆ getHSAKernelProps()

msgpack::MapDocNode llvm::AMDGPU::HSAMD::MetadataStreamerV3::getHSAKernelProps ( const MachineFunction MF,
const SIProgramInfo ProgramInfo 
) const
protected

◆ getHSAMetadataRoot()

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

Definition at line 110 of file AMDGPUHSAMetadataStreamer.h.

References HSAMetadataDoc.

◆ getRootMetadata()

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

◆ getTypeName()

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

◆ getValueKind()

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

◆ getWorkGroupDimensions()

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

Definition at line 601 of file AMDGPUHSAMetadataStreamer.cpp.

◆ verify()

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

Member Data Documentation

◆ HSAMetadataDoc

std::unique_ptr<msgpack::Document> llvm::AMDGPU::HSAMD::MetadataStreamerV3::HSAMetadataDoc
protected

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