Go to the documentation of this file.
9 #ifndef LLVM_MC_MCWINCOFFSTREAMER_H
10 #define LLVM_MC_MCWINCOFFSTREAMER_H
22 class MCSubtargetInfo;
25 class raw_pwrite_stream;
30 std::unique_ptr<MCCodeEmitter> CE,
31 std::unique_ptr<MCObjectWriter> OW);
88 #endif // LLVM_MC_MCWINCOFFSTREAMER_H
This is an optimization pass for GlobalISel generic memory operations.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
void emitWinEHHandlerData(SMLoc Loc) override
Context object for machine code objects.
void emitCOFFSymbolIndex(MCSymbol const *Symbol) override
Emits the symbol table index of a Symbol into the current section.
void emitIdent(StringRef IdentString) override
Emit the "identifiers" directive.
void emitCGProfileEntry(const MCSymbolRefExpr *From, const MCSymbolRefExpr *To, uint64_t Count) override
The instances of the Type class are immutable: once they are created, they are never changed.
void emitCOFFSecRel32(MCSymbol const *Symbol, uint64_t Offset) override
Emits a COFF section relative relocation.
void emitAssemblerFlag(MCAssemblerFlag Flag) override
Note in the output the specified Flag.
Instances of this class represent a single low-level machine instruction.
void reset() override
state management
void emitThumbFunc(MCSymbol *Func) override
Note in the output that the specified Func is a Thumb mode function (ARM target only).
void emitLabel(MCSymbol *Symbol, SMLoc Loc=SMLoc()) override
Emit a label for Symbol into the current section.
Represents a location in source code.
Streaming object file generation interface.
bool emitSymbolAttribute(MCSymbol *Symbol, MCSymbolAttr Attribute) override
Add the given Attribute to Symbol.
Flag
These should be considered private to the implementation of the MCInstrDesc class.
This struct is a compact representation of a valid (non-zero power of two) alignment.
void emitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) override
Set the DescValue for the Symbol.
void initSections(bool NoExecStack, const MCSubtargetInfo &STI) override
Create the default sections and set the initial one.
void emitCOFFImgRel32(MCSymbol const *Symbol, int64_t Offset) override
Emits a COFF image relative relocation.
void emitTBSSSymbol(MCSection *Section, MCSymbol *Symbol, uint64_t Size, Align ByteAlignment) override
Emit a thread local bss (.tbss) symbol.
void emitCOFFSymbolStorageClass(int StorageClass) override
Emit the storage class of the symbol.
void emitZerofill(MCSection *Section, MCSymbol *Symbol, uint64_t Size, Align ByteAlignment, SMLoc Loc=SMLoc()) override
Emit the zerofill section and an optional symbol.
void reset() override
state management
void emitCOFFSymbolType(int Type) override
Emit the type of the symbol.
void beginCOFFSymbolDef(MCSymbol const *Symbol) override
Start emitting COFF symbol definition.
Represent a reference to a symbol from inside an expression.
StringRef - Represent a constant reference to a string, i.e.
void finishImpl() override
Streamer specific finalization.
Instances of this class represent a uniqued identifier for a section in the current translation unit.
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
const CustomOperand< const MCSubtargetInfo & > Msg[]
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
void emitCOFFSectionIndex(MCSymbol const *Symbol) override
Emits a COFF section index.
void emitWeakReference(MCSymbol *Alias, const MCSymbol *Symbol) override
Emit an weak reference from Alias to Symbol.
Lightweight error class with error context and mandatory checking.
void emitInstToData(const MCInst &Inst, const MCSubtargetInfo &STI) override
void emitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, Align ByteAlignment) override
Emit a local common (.lcomm) symbol.
void emitCOFFSafeSEH(MCSymbol const *Symbol) override
const MCSymbol * CurSymbol
MCWinCOFFStreamer(MCContext &Context, std::unique_ptr< MCAsmBackend > MAB, std::unique_ptr< MCCodeEmitter > CE, std::unique_ptr< MCObjectWriter > OW)
BlockVerifier::State From
void endCOFFSymbolDef() override
Marks the end of the symbol definition.
void emitCommonSymbol(MCSymbol *Symbol, uint64_t Size, Align ByteAlignment) override
Emit a common symbol.
Generic base class for all target subtargets.
void finalizeCGProfileEntry(const MCSymbolRefExpr *&S)