LLVM: llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4 Class Reference (original) (raw)

#include "[Target/AMDGPU/AMDGPUHSAMetadataStreamer.h](AMDGPUHSAMetadataStreamer%5F8h%5Fsource.html)"

Public Member Functions
MetadataStreamerMsgPackV4 ()=default
~MetadataStreamerMsgPackV4 () override=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< StringRef > getAccessQualifier (StringRef AccQual) const
std::optional< StringRef > getAddressSpaceQualifier (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::DocNode & getRootMetadata (StringRef Key)
msgpack::DocNode & getHSAMetadataRoot ()

Definition at line 68 of file AMDGPUHSAMetadataStreamer.h.

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

~MetadataStreamerMsgPackV4()

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

begin()

dump()

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

emitHiddenKernelArgs()

emitKernel()

Implements llvm::AMDGPU::HSAMD::MetadataStreamer.

Definition at line 582 of file AMDGPUHSAMetadataStreamer.cpp.

References llvm::CallingConv::AMDGPU_KERNEL, emitKernelArgs(), emitKernelAttrs(), emitKernelLanguage(), llvm::AMDGPU::getAMDHSACodeObjectVersion(), llvm::msgpack::DocNode::getArray(), llvm::MachineFunction::getFunction(), getHSAKernelProps(), getRootMetadata(), llvm::MachineFunction::getTarget(), and llvm::CallingConv::SPIR_KERNEL.

Referenced by ~MetadataStreamerMsgPackV4().

emitKernelArg() [1/2]

Definition at line 301 of file AMDGPUHSAMetadataStreamer.cpp.

References llvm::cast(), DL, llvm::dyn_cast(), emitKernelArg(), llvm::Argument::getArgNo(), getArgumentTypeAlign(), llvm::Value::getName(), llvm::Argument::getParamAlign(), llvm::Argument::getParamByRefType(), llvm::Argument::getParent(), llvm::Value::getType(), getValueKind(), llvm::Argument::hasAttribute(), llvm::Argument::hasByRefAttr(), llvm::Value::hasName(), llvm::Argument::hasNoAliasAttr(), llvm::Type::isPointerTy(), llvm::AMDGPUAS::LOCAL_ADDRESS, llvm::Offset, llvm::Argument::onlyReadsMemory(), and llvm::MaybeAlign::valueOrOne().

Referenced by emitHiddenKernelArgs(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitHiddenKernelArgs(), emitKernelArg(), and emitKernelArgs().

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()

emitKernelAttrs()

emitKernelLanguage()

emitPrintf()

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

emitTargetID()

emitTo()

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()

Definition at line 489 of file AMDGPUHSAMetadataStreamer.cpp.

References llvm::AMDGPU::AMDHSA_COV5, llvm::msgpack::Boolean, DelayedExprs, llvm::SIProgramInfo::DynamicCallStack, F, llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::AMDGPUSubtarget::getKernArgSegmentSize(), llvm::MachineFunction::getSubtarget(), llvm::AMDGPUSubtarget::getWavefrontSize(), llvm::GCNSubtarget::hasMAIInsts(), HSAMetadataDoc, llvm::SIProgramInfo::LDSSize, llvm::SIProgramInfo::NumAccVGPR, llvm::SIProgramInfo::NumSGPR, llvm::SIProgramInfo::NumVGPR, llvm::SIProgramInfo::ScratchSize, llvm::GCNSubtarget::supportsWGP(), llvm::msgpack::UInt, and llvm::SIProgramInfo::WgpMode.

Referenced by emitKernel().

getHSAMetadataRoot()

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

getRootMetadata()

getTypeName()

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

getValueKind()

getWorkGroupDimensions()

verify()

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

DelayedExprs

std::unique_ptr<DelayedMCExprs> llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::DelayedExprs protected

HSAMetadataDoc

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

Initial value:

=

std::make_uniquemsgpack::Document()

Definition at line 74 of file AMDGPUHSAMetadataStreamer.h.

Referenced by begin(), emitKernelArgs(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV6::emitKernelAttrs(), emitPrintf(), emitTargetID(), emitTo(), emitVersion(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitVersion(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV6::emitVersion(), end(), getHSAKernelProps(), getHSAMetadataRoot(), getRootMetadata(), and getWorkGroupDimensions().


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