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 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.
#define LLVM_ATTRIBUTE_NORETURN
void EndCOFFSymbolDef() override
Marks the end of the symbol definition.
void EmitCOFFSecRel32(MCSymbol const *Symbol) override
Emits a COFF section relative relocation.
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.
StringRef - Represent a constant reference to a string, i.e.
void EmitCOFFSafeSEH(MCSymbol const *Symbol) override
void FinishImpl() override
Streamer specific finalization.