10 #ifndef LLVM_MC_MCWINCOFFSTREAMER_H
11 #define LLVM_MC_MCWINCOFFSTREAMER_H
23 class MCSubtargetInfo;
27 class raw_pwrite_stream;
Instances of this class represent a uniqued identifier for a section in the current translation unit...
void InitSections(bool NoExecStack) override
Create the default sections and set the initial one.
void EmitThumbFunc(MCSymbol *Func) override
Note in the output that the specified Func is a Thumb mode function (ARM target only).
void EmitCOFFSectionIndex(MCSymbol const *Symbol) override
Emits a COFF section index.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
void EmitWinEHHandlerData() override
const MCSymbol * CurSymbol
void EmitAssemblerFlag(MCAssemblerFlag Flag) override
Note in the output the specified Flag.
void EmitCOFFSymbolStorageClass(int StorageClass) override
Emit the storage class of the symbol.
COFF::SymbolStorageClass StorageClass
bool EmitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) override
Add the given Attribute to Symbol.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
void EmitFileDirective(StringRef Filename) override
Switch to a new logical file.
Context object for machine code objects.
Streaming object file generation interface.
void EmitCOFFSecRel32(MCSymbol const *Symbol, uint64_t Offset) override
Emits a COFF section relative relocation.
void EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) override
Set the DescValue for the Symbol.
void EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override
Emit a local common (.lcomm) symbol.
Instances of this class represent a single low-level machine instruction.
Flag
These should be considered private to the implementation of the MCInstrDesc class.
void EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override
Emit a common symbol.
The instances of the Type class are immutable: once they are created, they are never changed...
MCCodeEmitter - Generic instruction encoding interface.
void reset() override
state management
void EmitTBSSSymbol(MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override
Emit a thread local bss (.tbss) symbol.
void EmitCOFFSymbolType(int Type) override
Emit the type of the symbol.
void EndCOFFSymbolDef() override
Marks the end of the symbol definition.
void reset() override
state management
MCWinCOFFStreamer(MCContext &Context, MCAsmBackend &MAB, MCCodeEmitter &CE, raw_pwrite_stream &OS)
void EmitLabel(MCSymbol *Symbol) override
Emit a label for Symbol into the current section.
MCSubtargetInfo - Generic base class for all target subtargets.
void EmitInstToData(const MCInst &Inst, const MCSubtargetInfo &STI) override
void BeginCOFFSymbolDef(MCSymbol const *Symbol) override
Start emitting COFF symbol definition.
An abstract base class for streams implementations that also support a pwrite operation.
void EmitIdent(StringRef IdentString) override
Emit the "identifiers" directive.
void EmitZerofill(MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override
Emit the zerofill section and an optional symbol.
Generic interface to target specific assembler backends.
Lightweight error class with error context and mandatory checking.
StringRef - Represent a constant reference to a string, i.e.
void EmitCOFFSafeSEH(MCSymbol const *Symbol) override
void FinishImpl() override
Streamer specific finalization.