class MCSPIRVStreamer

Declaration

class MCSPIRVStreamer : public MCObjectStreamer { /* full declaration omitted */ };

Description

Streaming object file generation interface. This class provides an implementation of the MCStreamer interface which is suitable for use with the assembler backend. Specific object file formats are expected to subclass this interface to implement directives specific to that file format or custom semantics expected by the object writer implementation.

Declared at: llvm/include/llvm/MC/MCSPIRVStreamer.h:25

Inherits from: MCObjectStreamer

Member Variables

Method Overview

  • public MCSPIRVStreamer(llvm::MCContext & Context, std::unique_ptr<MCAsmBackend> TAB, std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> Emitter)
  • public void emitCommonSymbol(llvm::MCSymbol * Symbol, uint64_t Size, unsigned int ByteAlignment)
  • private void emitInstToData(const llvm::MCInst & Inst, const llvm::MCSubtargetInfo &)
  • public bool emitSymbolAttribute(llvm::MCSymbol * Symbol, llvm::MCSymbolAttr Attribute)
  • public void emitZerofill(llvm::MCSection * Section, llvm::MCSymbol * Symbol = nullptr, uint64_t Size = 0, unsigned int ByteAlignment = 0, llvm::SMLoc Loc = llvm::SMLoc())

Inherited from MCObjectStreamer:

Inherited from MCStreamer:

Methods

MCSPIRVStreamer(
    llvm::MCContext& Context,
    std::unique_ptr<MCAsmBackend> TAB,
    std::unique_ptr<MCObjectWriter> OW,
    std::unique_ptr<MCCodeEmitter> Emitter)

Declared at: llvm/include/llvm/MC/MCSPIRVStreamer.h:27

Parameters

llvm::MCContext& Context
std::unique_ptr<MCAsmBackend> TAB
std::unique_ptr<MCObjectWriter> OW
std::unique_ptr<MCCodeEmitter> Emitter

void emitCommonSymbol(llvm::MCSymbol* Symbol,
                      uint64_t Size,
                      unsigned int ByteAlignment)

Description

Emit a common symbol.

Declared at: llvm/include/llvm/MC/MCSPIRVStreamer.h:36

Parameters

llvm::MCSymbol* Symbol
- The common symbol to emit.
uint64_t Size
- The size of the common symbol.
unsigned int ByteAlignment
- The alignment of the symbol if non-zero. This must be a power of 2.

void emitInstToData(const llvm::MCInst& Inst,
                    const llvm::MCSubtargetInfo&)

Declared at: llvm/include/llvm/MC/MCSPIRVStreamer.h:43

Parameters

const llvm::MCInst& Inst
const llvm::MCSubtargetInfo&

bool emitSymbolAttribute(
    llvm::MCSymbol* Symbol,
    llvm::MCSymbolAttr Attribute)

Description

Add the given \p Attribute to \p Symbol.

Declared at: llvm/include/llvm/MC/MCSPIRVStreamer.h:33

Parameters

llvm::MCSymbol* Symbol
llvm::MCSymbolAttr Attribute

void emitZerofill(
    llvm::MCSection* Section,
    llvm::MCSymbol* Symbol = nullptr,
    uint64_t Size = 0,
    unsigned int ByteAlignment = 0,
    llvm::SMLoc Loc = llvm::SMLoc())

Description

Emit the zerofill section and an optional symbol.

Declared at: llvm/include/llvm/MC/MCSPIRVStreamer.h:38

Parameters

llvm::MCSection* Section
- The zerofill section to create and or to put the symbol
llvm::MCSymbol* Symbol = nullptr
- The zerofill symbol to emit, if non-NULL.
uint64_t Size = 0
- The size of the zerofill symbol.
unsigned int ByteAlignment = 0
- The alignment of the zerofill symbol if non-zero. This must be a power of 2 on some targets.
llvm::SMLoc Loc = llvm::SMLoc()