class MCDXContainerStreamer

Declaration

class MCDXContainerStreamer : 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/MCDXContainerStreamer.h:28

Inherits from: MCObjectStreamer

Member Variables

Method Overview

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

Inherited from MCObjectStreamer:

Inherited from MCStreamer:

Methods

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

Declared at: llvm/include/llvm/MC/MCDXContainerStreamer.h:30

Parameters

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

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

Description

Emit a common symbol.

Declared at: llvm/include/llvm/MC/MCDXContainerStreamer.h:37

Parameters

llvm::MCSymbol*
uint64_t
unsigned int

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

Declared at: llvm/include/llvm/MC/MCDXContainerStreamer.h:42

Parameters

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

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

Description

Add the given \p Attribute to \p Symbol.

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

Parameters

llvm::MCSymbol*
llvm::MCSymbolAttr

void emitZerofill(
    llvm::MCSection*,
    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/MCDXContainerStreamer.h:38

Parameters

llvm::MCSection*
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()