10 #ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUTARGETSTREAMER_H 11 #define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUTARGETSTREAMER_H 68 virtual bool EmitHSAMetadata(std::shared_ptr<msgpack::Node> &HSAMetadata,
80 uint64_t NextSGPR,
bool ReserveVCC,
bool ReserveFlatScr,
81 bool ReserveXNACK) = 0;
121 uint64_t NextSGPR,
bool ReserveVCC,
bool ReserveFlatScr,
122 bool ReserveXNACK)
override;
165 uint64_t NextSGPR,
bool ReserveVCC,
bool ReserveFlatScr,
166 bool ReserveXNACK)
override;
Type
MessagePack types as defined in the standard, with the exception of Integer being divided into a sign...
This class represents lattice values for constants.
Target specific streamer interface.
An efficient, type-erasing, non-owning reference to a callable.
virtual void EmitAmdhsaKernelDescriptor(const MCSubtargetInfo &STI, StringRef KernelName, const amdhsa::kernel_descriptor_t &KernelDescriptor, uint64_t NextVGPR, uint64_t NextSGPR, bool ReserveVCC, bool ReserveFlatScr, bool ReserveXNACK)=0
virtual bool EmitHSAMetadataV2(StringRef HSAMetadataString)
virtual void EmitAMDGPUSymbolType(StringRef SymbolName, unsigned Type)=0
virtual bool EmitHSAMetadataV3(StringRef HSAMetadataString)
MCContext & getContext() const
amdgpu Simplify well known AMD library false Value Value const Twine & Name
constexpr char SymbolName[]
Key for Kernel::Metadata::mSymbolName.
AMD Kernel Code Object (amd_kernel_code_t).
Base class for the full range of assembler expressions which are needed for parsing.
static StringRef getArchNameFromElfMach(unsigned ElfMach)
virtual bool EmitPALMetadata(const AMDGPU::PALMD::Metadata &PALMetadata)=0
Context object for machine code objects.
This is a data structure for representing MessagePack "documents", with methods to go to and from Mes...
Streaming machine code generation interface.
The instances of the Type class are immutable: once they are created, they are never changed...
static unsigned getElfMach(StringRef GPU)
virtual void EmitDirectiveHSACodeObjectISA(uint32_t Major, uint32_t Minor, uint32_t Stepping, StringRef VendorName, StringRef ArchName)=0
AMDHSA kernel descriptor definitions.
Enums and constants for AMDGPU PT_NOTE sections.
MCStreamer & getStreamer()
MCContext & getContext() const
virtual void EmitAMDKernelCodeT(const amd_kernel_code_t &Header)=0
Target - Wrapper for Target specific information.
virtual void EmitDirectiveHSACodeObjectVersion(uint32_t Major, uint32_t Minor)=0
virtual bool EmitISAVersion(StringRef IsaVersionString)=0
virtual void EmitDirectiveAMDGCNTarget(StringRef Target)=0
AMDGPUTargetStreamer(MCStreamer &S)
Generic base class for all target subtargets.
virtual bool EmitHSAMetadata(std::shared_ptr< msgpack::Node > &HSAMetadata, bool Strict)=0
Emit HSA Metadata.
StringRef - Represent a constant reference to a string, i.e.
std::vector< uint32_t > Metadata
PAL metadata represented as a vector.