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 emitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override
Emit a local common (.lcomm) symbol.
void emitCommonSymbol(MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override
Emit a common symbol.
Context object for machine code objects.
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 EmitCOFFSymbolType(int Type) override
Emit the type of the symbol.
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 BeginCOFFSymbolDef(MCSymbol const *Symbol) override
Start emitting COFF symbol definition.
void emitLabel(MCSymbol *Symbol, SMLoc Loc=SMLoc()) override
Emit a label for Symbol into the current section.
Represents a location in source code.
void EmitCOFFSafeSEH(MCSymbol const *Symbol) override
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.
void EmitCOFFSymbolStorageClass(int StorageClass) override
Emit the storage class of the symbol.
void emitZerofill(MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment, SMLoc Loc=SMLoc()) override
Emit the zerofill section and an optional symbol.
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 EndCOFFSymbolDef() override
Marks the end of the symbol definition.
void reset() override
state management
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[]
void EmitCOFFSecRel32(MCSymbol const *Symbol, uint64_t Offset) override
Emits a COFF section relative relocation.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
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 EmitCOFFSectionIndex(MCSymbol const *Symbol) override
Emits a COFF section index.
void emitInstToData(const MCInst &Inst, const MCSubtargetInfo &STI) override
void EmitCOFFSymbolIndex(MCSymbol const *Symbol) override
Emits the symbol table index of a Symbol into the current section.
void emitTBSSSymbol(MCSection *Section, MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment) override
Emit a thread local bss (.tbss) symbol.
const MCSymbol * CurSymbol
MCWinCOFFStreamer(MCContext &Context, std::unique_ptr< MCAsmBackend > MAB, std::unique_ptr< MCCodeEmitter > CE, std::unique_ptr< MCObjectWriter > OW)
void EmitWinEHHandlerData(SMLoc Loc) override
BlockVerifier::State From
Generic base class for all target subtargets.
void finalizeCGProfileEntry(const MCSymbolRefExpr *&S)