LLVM
15.0.0git
|
#include "Target/AMDGPU/AMDGPUHSAMetadataStreamer.h"
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 |
![]() | |
virtual | ~MetadataStreamer ()=default |
Protected Attributes | |
std::unique_ptr< msgpack::Document > | HSAMetadataDoc |
Definition at line 64 of file AMDGPUHSAMetadataStreamer.h.
|
default |
|
default |
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Reimplemented in llvm::AMDGPU::HSAMD::MetadataStreamerV4.
Definition at line 906 of file AMDGPUHSAMetadataStreamer.cpp.
References emitPrintf(), emitVersion(), getRootMetadata(), HSAMetadataDoc, and Mod.
|
protected |
Definition at line 483 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::errs().
Referenced by end().
|
overrideprotectedvirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Reimplemented in llvm::AMDGPU::HSAMD::MetadataStreamerV5.
Definition at line 794 of file AMDGPUHSAMetadataStreamer.cpp.
References Align, llvm::alignTo(), llvm::AMDGPU::HSAMD::Kernel::Key::Args, DL, emitKernelArg(), llvm::MachineFunction::getFunction(), llvm::Type::getInt64Ty(), llvm::Type::getInt8PtrTy(), llvm::MachineFunction::getSubtarget(), llvm::AMDGPUAS::GLOBAL_ADDRESS, M, and llvm::ARM_MB::ST.
Referenced by emitKernelArgs().
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Definition at line 924 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::CallingConv::AMDGPU_KERNEL, assert(), emitKernelArgs(), emitKernelAttrs(), emitKernelLanguage(), llvm::msgpack::DocNode::getArray(), llvm::msgpack::DocNode::getDocument(), llvm::MachineFunction::getFunction(), getHSAKernelProps(), llvm::msgpack::Document::getNode(), getRootMetadata(), llvm::AMDGPU::HSAMD::Key::Kernels, and llvm::CallingConv::SPIR_KERNEL.
|
protected |
Definition at line 690 of file AMDGPUHSAMetadataStreamer.cpp.
References Arg.
Referenced by emitHiddenKernelArgs(), llvm::AMDGPU::HSAMD::MetadataStreamerV5::emitHiddenKernelArgs(), and emitKernelArgs().
|
protected |
Definition at line 749 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Arg::Key::AccQual, llvm::alignTo(), Arg, llvm::AMDGPU::HSAMD::Kernel::Key::Args, DL, getAccessQualifier(), getAddressSpaceQualifier(), llvm::AMDGPU::HSAMD::Kernel::Arg::Key::PointeeAlign, llvm::StringRef::split(), and llvm::AMDGPU::HSAMD::Kernel::Arg::Key::TypeName.
|
protected |
Definition at line 677 of file AMDGPUHSAMetadataStreamer.cpp.
References Arg, llvm::AMDGPU::HSAMD::Kernel::Key::Args, emitHiddenKernelArgs(), emitKernelArg(), llvm::MachineFunction::getFunction(), and HSAMetadataDoc.
Referenced by emitKernel().
|
protected |
Definition at line 652 of file AMDGPUHSAMetadataStreamer.cpp.
Referenced by emitKernel().
|
protected |
Definition at line 633 of file AMDGPUHSAMetadataStreamer.cpp.
Referenced by emitKernel().
Definition at line 620 of file AMDGPUHSAMetadataStreamer.cpp.
Referenced by begin(), and llvm::AMDGPU::HSAMD::MetadataStreamerV4::begin().
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Definition at line 902 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::AMDGPUTargetStreamer::EmitHSAMetadata(), and HSAMetadataDoc.
|
overrideprotectedvirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Reimplemented in llvm::AMDGPU::HSAMD::MetadataStreamerV5, and llvm::AMDGPU::HSAMD::MetadataStreamerV4.
Definition at line 613 of file AMDGPUHSAMetadataStreamer.cpp.
References getRootMetadata(), HSAMetadataDoc, llvm::IndexedInstrProf::Version, llvm::AMDGPU::HSAMD::VersionMajorV3, and llvm::AMDGPU::HSAMD::VersionMinorV3.
Referenced by begin().
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Definition at line 913 of file AMDGPUHSAMetadataStreamer.cpp.
References dump(), llvm::DumpHSAMetadata, HSAMetadataDoc, llvm::raw_string_ostream::str(), verify(), and llvm::VerifyHSAMetadata.
|
protected |
Definition at line 509 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Arg::Key::AccQual, and llvm::None.
Referenced by emitKernelArg().
|
protected |
Definition at line 518 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::AMDGPUAS::CONSTANT_ADDRESS, llvm::AMDGPUAS::FLAT_ADDRESS, llvm::AMDGPUAS::GLOBAL_ADDRESS, llvm::AMDGPUAS::LOCAL_ADDRESS, llvm::None, llvm::AMDGPUAS::PRIVATE_ADDRESS, and llvm::AMDGPUAS::REGION_ADDRESS.
Referenced by emitKernelArg().
|
protected |
Definition at line 863 of file AMDGPUHSAMetadataStreamer.cpp.
References Align, F, llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::AMDGPUSubtarget::getKernArgSegmentSize(), llvm::MachineFunction::getSubtarget(), llvm::AMDGPUSubtarget::getWavefrontSize(), llvm::GCNSubtarget::hasMAIInsts(), HSAMetadataDoc, llvm::SIProgramInfo::LDSSize, llvm::max(), llvm::SIProgramInfo::NumAccVGPR, llvm::SIProgramInfo::NumSGPR, llvm::SIProgramInfo::NumVGPR, and llvm::SIProgramInfo::ScratchSize.
Referenced by emitKernel().
|
inlineprotected |
Definition at line 114 of file AMDGPUHSAMetadataStreamer.h.
References HSAMetadataDoc.
|
inlineprotected |
Definition at line 110 of file AMDGPUHSAMetadataStreamer.h.
References HSAMetadataDoc.
Referenced by begin(), llvm::AMDGPU::HSAMD::MetadataStreamerV4::begin(), emitKernel(), llvm::AMDGPU::HSAMD::MetadataStreamerV4::emitTargetID(), emitVersion(), llvm::AMDGPU::HSAMD::MetadataStreamerV4::emitVersion(), and llvm::AMDGPU::HSAMD::MetadataStreamerV5::emitVersion().
|
protected |
Definition at line 564 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::BitWidth, llvm::Type::DoubleTyID, llvm::Type::FixedVectorTyID, llvm::Type::FloatTyID, llvm::Type::getIntegerBitWidth(), llvm::Type::getTypeID(), llvm::Type::HalfTyID, llvm::Type::IntegerTyID, and Signed.
|
protected |
Definition at line 537 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.
|
protected |
Definition at line 602 of file AMDGPUHSAMetadataStreamer.cpp.
|
protected |
Definition at line 487 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::errs(), llvm::msgpack::Document::fromYAML(), llvm::raw_string_ostream::str(), and llvm::msgpack::Document::toYAML().
Referenced by end().
|
protected |
Definition at line 66 of file AMDGPUHSAMetadataStreamer.h.
Referenced by begin(), llvm::AMDGPU::HSAMD::MetadataStreamerV4::begin(), emitKernelArgs(), llvm::AMDGPU::HSAMD::MetadataStreamerV4::emitTargetID(), emitTo(), emitVersion(), llvm::AMDGPU::HSAMD::MetadataStreamerV4::emitVersion(), llvm::AMDGPU::HSAMD::MetadataStreamerV5::emitVersion(), end(), getHSAKernelProps(), getHSAMetadataRoot(), and getRootMetadata().