LLVM 20.0.0git
Public Member Functions | List of all members
llvm::AMDGPUTargetELFStreamer Class Referencefinal

#include "Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h"

Inheritance diagram for llvm::AMDGPUTargetELFStreamer:
Inheritance graph
[legend]

Public Member Functions

 AMDGPUTargetELFStreamer (MCStreamer &S, const MCSubtargetInfo &STI)
 
MCELFStreamergetStreamer ()
 
void finish () override
 
void EmitDirectiveAMDGCNTarget () override
 
void EmitAMDKernelCodeT (AMDGPU::AMDGPUMCKernelCodeT &Header) override
 
void EmitAMDGPUSymbolType (StringRef SymbolName, unsigned Type) override
 
void emitAMDGPULDS (MCSymbol *Sym, unsigned Size, Align Alignment) override
 
bool EmitISAVersion () override
 
bool EmitHSAMetadata (msgpack::Document &HSAMetadata, bool Strict) override
 
bool EmitCodeEnd (const MCSubtargetInfo &STI) override
 
bool EmitKernargPreloadHeader (const MCSubtargetInfo &STI, bool TrapEnabled) override
 
void EmitAmdhsaKernelDescriptor (const MCSubtargetInfo &STI, StringRef KernelName, const AMDGPU::MCKernelDescriptor &KernelDescriptor, const MCExpr *NextVGPR, const MCExpr *NextSGPR, const MCExpr *ReserveVCC, const MCExpr *ReserveFlatScr) override
 
- Public Member Functions inherited from llvm::AMDGPUTargetStreamer
 AMDGPUTargetStreamer (MCStreamer &S)
 
AMDGPUPALMetadatagetPALMetadata ()
 
virtual void EmitDirectiveAMDGCNTarget ()
 
virtual void EmitDirectiveAMDHSACodeObjectVersion (unsigned COV)
 
virtual void EmitAMDKernelCodeT (AMDGPU::AMDGPUMCKernelCodeT &Header)
 
virtual void EmitAMDGPUSymbolType (StringRef SymbolName, unsigned Type)
 
virtual void emitAMDGPULDS (MCSymbol *Symbol, unsigned Size, Align Alignment)
 
virtual void EmitMCResourceInfo (const MCSymbol *NumVGPR, const MCSymbol *NumAGPR, const MCSymbol *NumExplicitSGPR, const MCSymbol *PrivateSegmentSize, const MCSymbol *UsesVCC, const MCSymbol *UsesFlatScratch, const MCSymbol *HasDynamicallySizedStack, const MCSymbol *HasRecursion, const MCSymbol *HasIndirectCall)
 
virtual void EmitMCResourceMaximums (const MCSymbol *MaxVGPR, const MCSymbol *MaxAGPR, const MCSymbol *MaxSGPR)
 
virtual bool EmitISAVersion ()
 
virtual bool EmitHSAMetadataV3 (StringRef HSAMetadataString)
 
virtual bool EmitHSAMetadata (msgpack::Document &HSAMetadata, bool Strict)
 Emit HSA Metadata.
 
virtual bool EmitHSAMetadata (const AMDGPU::HSAMD::Metadata &HSAMetadata)
 
virtual bool EmitCodeEnd (const MCSubtargetInfo &STI)
 
virtual bool EmitKernargPreloadHeader (const MCSubtargetInfo &STI, bool TrapEnabled)
 
virtual void EmitAmdhsaKernelDescriptor (const MCSubtargetInfo &STI, StringRef KernelName, const AMDGPU::MCKernelDescriptor &KernelDescriptor, const MCExpr *NextVGPR, const MCExpr *NextSGPR, const MCExpr *ReserveVCC, const MCExpr *ReserveFlatScr)
 
const std::optional< AMDGPU::IsaInfo::AMDGPUTargetID > & getTargetID () const
 
std::optional< AMDGPU::IsaInfo::AMDGPUTargetID > & getTargetID ()
 
void initializeTargetID (const MCSubtargetInfo &STI)
 
void initializeTargetID (const MCSubtargetInfo &STI, StringRef FeatureString)
 
- Public Member Functions inherited from llvm::MCTargetStreamer
 MCTargetStreamer (MCStreamer &S)
 
virtual ~MCTargetStreamer ()
 
MCStreamergetStreamer ()
 
virtual void emitLabel (MCSymbol *Symbol)
 
virtual void emitAssignment (MCSymbol *Symbol, const MCExpr *Value)
 
virtual void prettyPrintAsm (MCInstPrinter &InstPrinter, uint64_t Address, const MCInst &Inst, const MCSubtargetInfo &STI, raw_ostream &OS)
 
virtual void emitDwarfFileDirective (StringRef Directive)
 
virtual void changeSection (const MCSection *CurSection, MCSection *Section, uint32_t SubSection, raw_ostream &OS)
 Update streamer for a new active section.
 
virtual void emitValue (const MCExpr *Value)
 
virtual void emitRawBytes (StringRef Data)
 Emit the bytes in Data into the output.
 
virtual void emitConstantPools ()
 
virtual void finish ()
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::AMDGPUTargetStreamer
static StringRef getArchNameFromElfMach (unsigned ElfMach)
 
static unsigned getElfMach (StringRef GPU)
 
- Protected Member Functions inherited from llvm::AMDGPUTargetStreamer
MCContextgetContext () const
 
- Protected Attributes inherited from llvm::AMDGPUTargetStreamer
std::optional< AMDGPU::IsaInfo::AMDGPUTargetIDTargetID
 
unsigned CodeObjectVersion
 
- Protected Attributes inherited from llvm::MCTargetStreamer
MCStreamerStreamer
 

Detailed Description

Definition at line 183 of file AMDGPUTargetStreamer.h.

Constructor & Destructor Documentation

◆ AMDGPUTargetELFStreamer()

AMDGPUTargetELFStreamer::AMDGPUTargetELFStreamer ( MCStreamer S,
const MCSubtargetInfo STI 
)

Definition at line 642 of file AMDGPUTargetStreamer.cpp.

Member Function Documentation

◆ emitAMDGPULDS()

void AMDGPUTargetELFStreamer::emitAMDGPULDS ( MCSymbol Sym,
unsigned  Size,
Align  Alignment 
)
overridevirtual

◆ EmitAMDGPUSymbolType()

void AMDGPUTargetELFStreamer::EmitAMDGPUSymbolType ( StringRef  SymbolName,
unsigned  Type 
)
overridevirtual

Reimplemented from llvm::AMDGPUTargetStreamer.

Definition at line 868 of file AMDGPUTargetStreamer.cpp.

References llvm::AMDGPUTargetStreamer::getContext(), and getStreamer().

◆ EmitAmdhsaKernelDescriptor()

void AMDGPUTargetELFStreamer::EmitAmdhsaKernelDescriptor ( const MCSubtargetInfo STI,
StringRef  KernelName,
const AMDGPU::MCKernelDescriptor KernelDescriptor,
const MCExpr NextVGPR,
const MCExpr NextSGPR,
const MCExpr ReserveVCC,
const MCExpr ReserveFlatScr 
)
overridevirtual

Reimplemented from llvm::AMDGPUTargetStreamer.

Definition at line 978 of file AMDGPUTargetStreamer.cpp.

References llvm::amdhsa::kernel_descriptor_t::compute_pgm_rsrc1, llvm::AMDGPU::MCKernelDescriptor::compute_pgm_rsrc1, llvm::amdhsa::kernel_descriptor_t::compute_pgm_rsrc2, llvm::AMDGPU::MCKernelDescriptor::compute_pgm_rsrc2, llvm::amdhsa::kernel_descriptor_t::compute_pgm_rsrc3, llvm::AMDGPU::MCKernelDescriptor::compute_pgm_rsrc3, llvm::MCSymbolRefExpr::create(), llvm::MCConstantExpr::create(), llvm::MCBinaryExpr::createSub(), llvm::MCStreamer::emitInt8(), llvm::MCStreamer::emitLabel(), llvm::MCStreamer::emitValue(), llvm::MCSymbolELF::getBinding(), llvm::MCStreamer::getContext(), llvm::MCSymbolELF::getOther(), getStreamer(), llvm::MCSymbolELF::getVisibility(), llvm::amdhsa::kernel_descriptor_t::group_segment_fixed_size, llvm::AMDGPU::MCKernelDescriptor::group_segment_fixed_size, llvm::amdhsa::kernel_descriptor_t::kernarg_preload, llvm::AMDGPU::MCKernelDescriptor::kernarg_preload, llvm::amdhsa::kernel_descriptor_t::kernarg_size, llvm::AMDGPU::MCKernelDescriptor::kernarg_size, llvm::amdhsa::kernel_descriptor_t::kernel_code_entry_byte_offset, llvm::amdhsa::kernel_descriptor_t::kernel_code_properties, llvm::AMDGPU::MCKernelDescriptor::kernel_code_properties, llvm::amdhsa::kernel_descriptor_t::private_segment_fixed_size, llvm::AMDGPU::MCKernelDescriptor::private_segment_fixed_size, llvm::amdhsa::kernel_descriptor_t::reserved0, llvm::amdhsa::kernel_descriptor_t::reserved1, llvm::amdhsa::kernel_descriptor_t::reserved3, llvm::MCSymbolELF::setBinding(), llvm::MCSymbolELF::setOther(), llvm::MCSymbolELF::setSize(), llvm::MCSymbolELF::setType(), llvm::MCSymbolELF::setVisibility(), llvm::ELF::STT_OBJECT, llvm::ELF::STV_DEFAULT, llvm::ELF::STV_PROTECTED, llvm::MCSymbolRefExpr::VK_AMDGPU_REL64, and llvm::MCSymbolRefExpr::VK_None.

◆ EmitAMDKernelCodeT()

void AMDGPUTargetELFStreamer::EmitAMDKernelCodeT ( AMDGPU::AMDGPUMCKernelCodeT Header)
overridevirtual

Reimplemented from llvm::AMDGPUTargetStreamer.

Definition at line 861 of file AMDGPUTargetStreamer.cpp.

References llvm::AMDGPUTargetStreamer::getContext(), getStreamer(), and OS.

◆ EmitCodeEnd()

bool AMDGPUTargetELFStreamer::EmitCodeEnd ( const MCSubtargetInfo STI)
overridevirtual
Returns
True on success, false on failure.

Reimplemented from llvm::AMDGPUTargetStreamer.

Definition at line 952 of file AMDGPUTargetStreamer.cpp.

References CacheLineSize, getStreamer(), I, llvm::AMDGPU::isGFX11Plus(), llvm::AMDGPU::isGFX90A(), and OS.

◆ EmitDirectiveAMDGCNTarget()

void AMDGPUTargetELFStreamer::EmitDirectiveAMDGCNTarget ( )
overridevirtual

Reimplemented from llvm::AMDGPUTargetStreamer.

Definition at line 859 of file AMDGPUTargetStreamer.cpp.

◆ EmitHSAMetadata()

bool AMDGPUTargetELFStreamer::EmitHSAMetadata ( msgpack::Document HSAMetadata,
bool  Strict 
)
overridevirtual

◆ EmitISAVersion()

bool AMDGPUTargetELFStreamer::EmitISAVersion ( )
overridevirtual

◆ EmitKernargPreloadHeader()

bool AMDGPUTargetELFStreamer::EmitKernargPreloadHeader ( const MCSubtargetInfo STI,
bool  TrapEnabled 
)
overridevirtual
Returns
True on success, false on failure.

Reimplemented from llvm::AMDGPUTargetStreamer.

Definition at line 938 of file AMDGPUTargetStreamer.cpp.

References getStreamer(), and OS.

◆ finish()

void AMDGPUTargetELFStreamer::finish ( )
overridevirtual

◆ getStreamer()

MCELFStreamer & AMDGPUTargetELFStreamer::getStreamer ( )

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