LLVM 17.0.0git
|
#include "Target/AMDGPU/AMDGPUHSAMetadataStreamer.h"
Public Member Functions | |
MetadataStreamerMsgPackV3 ()=default | |
~MetadataStreamerMsgPackV3 ()=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 |
![]() | |
virtual | ~MetadataStreamer ()=default |
virtual bool | emitTo (AMDGPUTargetStreamer &TargetStreamer)=0 |
virtual void | begin (const Module &Mod, const IsaInfo::AMDGPUTargetID &TargetID)=0 |
virtual void | end ()=0 |
virtual void | emitKernel (const MachineFunction &MF, const SIProgramInfo &ProgramInfo)=0 |
Protected Attributes | |
std::unique_ptr< msgpack::Document > | HSAMetadataDoc |
Definition at line 65 of file AMDGPUHSAMetadataStreamer.h.
|
default |
|
default |
References begin().
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Reimplemented in llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4.
Definition at line 929 of file AMDGPUHSAMetadataStreamer.cpp.
References emitPrintf(), emitVersion(), getRootMetadata(), HSAMetadataDoc, and llvm::Mod.
Referenced by ~MetadataStreamerMsgPackV3().
|
protected |
Definition at line 486 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::errs().
Referenced by end().
|
overrideprotectedvirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Reimplemented in llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5.
Definition at line 803 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::alignTo(), DL, emitKernelArg(), llvm::MachineFunction::getFunction(), llvm::Type::getInt64Ty(), llvm::Type::getInt8PtrTy(), llvm::MachineFunction::getSubtarget(), llvm::AMDGPUAS::GLOBAL_ADDRESS, and llvm::Offset.
Referenced by emitKernelArgs().
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Definition at line 947 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::CallingConv::AMDGPU_KERNEL, assert(), emitKernelArgs(), emitKernelAttrs(), emitKernelLanguage(), llvm::msgpack::DocNode::getArray(), llvm::AMDGPU::getCodeObjectVersion(), llvm::msgpack::DocNode::getDocument(), llvm::MachineFunction::getFunction(), getHSAKernelProps(), llvm::msgpack::Document::getNode(), getRootMetadata(), and llvm::CallingConv::SPIR_KERNEL.
|
protected |
Definition at line 695 of file AMDGPUHSAMetadataStreamer.cpp.
References Arg, DL, emitKernelArg(), getArgumentTypeAlign(), getValueKind(), llvm::AMDGPUAS::LOCAL_ADDRESS, Name, and llvm::Offset.
Referenced by emitHiddenKernelArgs(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitHiddenKernelArgs(), emitKernelArg(), and emitKernelArgs().
|
protected |
Definition at line 755 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::alignTo(), Arg, DL, getAccessQualifier(), getAddressSpaceQualifier(), Name, llvm::Offset, Size, and llvm::StringRef::split().
|
protected |
Definition at line 682 of file AMDGPUHSAMetadataStreamer.cpp.
References Arg, emitHiddenKernelArgs(), emitKernelArg(), llvm::MachineFunction::getFunction(), HSAMetadataDoc, and llvm::Offset.
Referenced by emitKernel().
|
overrideprotectedvirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Reimplemented in llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5.
Definition at line 657 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::msgpack::DocNode::getDocument(), llvm::msgpack::Document::getNode(), llvm::getTypeName(), and getWorkGroupDimensions().
Referenced by emitKernel(), and llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitKernelAttrs().
|
protected |
Definition at line 638 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::msgpack::Document::getArrayNode(), llvm::msgpack::DocNode::getDocument(), llvm::msgpack::Document::getNode(), and llvm::dwarf::LanguageVersion().
Referenced by emitKernel().
Definition at line 625 of file AMDGPUHSAMetadataStreamer.cpp.
References getRootMetadata(), HSAMetadataDoc, and llvm::Mod.
Referenced by begin(), and llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::begin().
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Definition at line 925 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::AMDGPUTargetStreamer::EmitHSAMetadata(), and HSAMetadataDoc.
|
overrideprotectedvirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Reimplemented in llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4, and llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5.
Definition at line 618 of file AMDGPUHSAMetadataStreamer.cpp.
References getRootMetadata(), HSAMetadataDoc, llvm::AMDGPU::HSAMD::VersionMajorV3, and llvm::AMDGPU::HSAMD::VersionMinorV3.
Referenced by begin().
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Definition at line 936 of file AMDGPUHSAMetadataStreamer.cpp.
References dump(), llvm::DumpHSAMetadata, HSAMetadataDoc, llvm::raw_string_ostream::str(), verify, and llvm::VerifyHSAMetadata.
|
protected |
Definition at line 512 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::AMDGPU::HSAMD::Default.
Referenced by emitKernelArg().
|
protected |
Definition at line 520 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::AMDGPUAS::CONSTANT_ADDRESS, llvm::AMDGPUAS::FLAT_ADDRESS, llvm::AMDGPUAS::GLOBAL_ADDRESS, llvm::AMDGPUAS::LOCAL_ADDRESS, llvm::AMDGPUAS::PRIVATE_ADDRESS, and llvm::AMDGPUAS::REGION_ADDRESS.
Referenced by emitKernelArg().
|
protected |
Definition at line 878 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::AMDGPU::AMDHSA_COV5, 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(), value, and llvm::SIProgramInfo::WgpMode.
Referenced by emitKernel().
|
inlineprotected |
Definition at line 118 of file AMDGPUHSAMetadataStreamer.h.
References HSAMetadataDoc.
|
inlineprotected |
Definition at line 114 of file AMDGPUHSAMetadataStreamer.h.
References HSAMetadataDoc.
Referenced by begin(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::begin(), emitKernel(), emitPrintf(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitTargetID(), emitVersion(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitVersion(), and llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitVersion().
|
protected |
Definition at line 568 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::BitWidth, llvm::Type::DoubleTyID, llvm::Type::FixedVectorTyID, llvm::Type::FloatTyID, llvm::Type::getIntegerBitWidth(), llvm::Type::getTypeID(), llvm::getTypeName(), llvm::Type::HalfTyID, llvm::Type::IntegerTyID, and Signed.
|
protected |
Definition at line 541 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringRef::contains(), llvm::StringSwitch< T, R >::Default(), llvm::Type::getPointerAddressSpace(), and llvm::AMDGPUAS::LOCAL_ADDRESS.
Referenced by emitKernelArg().
|
protected |
Definition at line 607 of file AMDGPUHSAMetadataStreamer.cpp.
References HSAMetadataDoc.
Referenced by emitKernelAttrs().
|
protected |
Definition at line 490 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::errs(), llvm::msgpack::Document::fromYAML(), llvm::raw_string_ostream::str(), and llvm::msgpack::Document::toYAML().
|
protected |
Definition at line 67 of file AMDGPUHSAMetadataStreamer.h.
Referenced by begin(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::begin(), emitKernelArgs(), emitPrintf(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitTargetID(), emitTo(), emitVersion(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitVersion(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitVersion(), end(), getHSAKernelProps(), getHSAMetadataRoot(), getRootMetadata(), and getWorkGroupDimensions().