|
LLVM 24.0.0git
|
#include "Target/AMDGPU/AMDGPUHSAMetadataStreamer.h"
Public Member Functions | |
| MetadataStreamerMsgPackV4 (const AMDGPUOptions &CLOpts) | |
| ~MetadataStreamerMsgPackV4 () override=default | |
| bool | emitTo (AMDGPUTargetStreamer &TargetStreamer) override |
| void | begin (const Module &Mod, const TargetID &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 Attributes | |
| const AMDGPUOptions & | CLOpts |
| std::unique_ptr< DelayedMCExprs > | DelayedExprs |
| std::unique_ptr< msgpack::Document > | HSAMetadataDoc |
Definition at line 66 of file AMDGPUHSAMetadataStreamer.h.
|
inlineexplicit |
Definition at line 129 of file AMDGPUHSAMetadataStreamer.h.
References CLOpts.
|
overridedefault |
References begin(), emitKernel(), emitTo(), end(), and llvm::Mod.
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Definition at line 553 of file AMDGPUHSAMetadataStreamer.cpp.
References DelayedExprs, emitPrintf(), emitTargetID(), emitVersion(), getRootMetadata(), HSAMetadataDoc, and llvm::Mod.
Referenced by ~MetadataStreamerMsgPackV4().
|
protected |
Definition at line 72 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 407 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::alignTo(), DL, emitKernelArg(), llvm::PointerType::get(), llvm::MachineFunction::getFunction(), llvm::Type::getInt64Ty(), llvm::MachineFunction::getSubtarget(), llvm::AMDGPUAS::GLOBAL_ADDRESS, and llvm::Offset.
Referenced by emitKernelArgs().
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Definition at line 574 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().
|
protected |
Definition at line 293 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().
|
protected |
Definition at line 358 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::alignTo(), DL, llvm::dyn_cast(), getAccessQualifier(), getAddressSpaceQualifier(), llvm::Offset, llvm::Size, and llvm::StringRef::split().
|
protected |
Definition at line 276 of file AMDGPUHSAMetadataStreamer.cpp.
References emitHiddenKernelArgs(), emitKernelArg(), llvm::MachineFunction::getFunction(), HSAMetadataDoc, and llvm::Offset.
Referenced by emitKernel().
|
overrideprotectedvirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Reimplemented in llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5, and llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV6.
Definition at line 248 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::cast(), llvm::mdconst::extract(), llvm::msgpack::DocNode::getDocument(), getEnqueuedBlockSymbolName(), llvm::MachineFunction::getFunction(), llvm::msgpack::Document::getNode(), llvm::getTypeName(), and getWorkGroupDimensions().
Referenced by emitKernel(), and llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitKernelAttrs().
|
protected |
Definition at line 229 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::mdconst::extract(), llvm::msgpack::Document::getArrayNode(), llvm::msgpack::DocNode::getDocument(), and llvm::msgpack::Document::getNode().
Referenced by emitKernel().
Definition at line 216 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::cast(), getRootMetadata(), HSAMetadataDoc, and llvm::Mod.
Referenced by begin().
|
protected |
Definition at line 211 of file AMDGPUHSAMetadataStreamer.cpp.
References getRootMetadata(), HSAMetadataDoc, and llvm::AMDGPU::TargetID::toString().
Referenced by begin().
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Definition at line 548 of file AMDGPUHSAMetadataStreamer.cpp.
References DelayedExprs, llvm::AMDGPUTargetStreamer::EmitHSAMetadata(), and HSAMetadataDoc.
Referenced by ~MetadataStreamerMsgPackV4().
|
overrideprotectedvirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Reimplemented in llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5, and llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV6.
Definition at line 204 of file AMDGPUHSAMetadataStreamer.cpp.
References getRootMetadata(), HSAMetadataDoc, llvm::Version, llvm::AMDGPU::HSAMD::VersionMajorV4, and llvm::AMDGPU::HSAMD::VersionMinorV4.
Referenced by begin().
|
overridevirtual |
Implements llvm::AMDGPU::HSAMD::MetadataStreamer.
Definition at line 562 of file AMDGPUHSAMetadataStreamer.cpp.
References CLOpts, DelayedExprs, dump(), HSAMetadataDoc, llvm::raw_string_ostream::str(), and verify.
Referenced by ~MetadataStreamerMsgPackV4().
|
protected |
Definition at line 98 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::StringSwitch< T, R >::Case(), and llvm::StringSwitch< T, R >::Default().
Referenced by emitKernelArg().
|
protected |
Definition at line 106 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 481 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(), HSAMetadataDoc, llvm::SIProgramInfo::LDSSize, llvm::SIProgramInfo::NumAccVGPR, llvm::SIProgramInfo::NumSGPR, llvm::SIProgramInfo::NumVGPR, llvm::SIProgramInfo::ScratchSize, llvm::msgpack::UInt, and llvm::SIProgramInfo::WgpMode.
Referenced by emitKernel().
|
inlineprotected |
Definition at line 124 of file AMDGPUHSAMetadataStreamer.h.
References HSAMetadataDoc.
Referenced by begin(), emitKernel(), emitPrintf(), emitTargetID(), emitVersion(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV5::emitVersion(), and llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV6::emitVersion().
|
protected |
Definition at line 154 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::BitWidth, llvm::cast(), llvm::Type::DoubleTyID, llvm::Type::FixedVectorTyID, llvm::Type::FloatTyID, llvm::getTypeName(), llvm::Type::HalfTyID, llvm::Type::IntegerTyID, and llvm::Signed.
|
protected |
Definition at line 127 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringRef::contains(), llvm::StringSwitch< T, R >::Default(), llvm::isa(), and llvm::AMDGPUAS::LOCAL_ADDRESS.
Referenced by emitKernelArg().
|
protected |
Definition at line 193 of file AMDGPUHSAMetadataStreamer.cpp.
References llvm::mdconst::extract(), and HSAMetadataDoc.
Referenced by emitKernelAttrs().
|
protected |
Definition at line 76 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 69 of file AMDGPUHSAMetadataStreamer.h.
Referenced by end(), and MetadataStreamerMsgPackV4().
|
protected |
Definition at line 71 of file AMDGPUHSAMetadataStreamer.h.
Referenced by begin(), emitTo(), end(), and getHSAKernelProps().
|
protected |
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(), getRootMetadata(), and getWorkGroupDimensions().