15 #ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSELFSTREAMER_H 16 #define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSELFSTREAMER_H 28 class MCSubtargetInfo;
29 struct MCDwarfFrameInfo;
38 std::unique_ptr<MCObjectWriter> OW,
39 std::unique_ptr<MCCodeEmitter> Emitter);
46 bool =
false)
override;
56 const MCExpr *Subsection =
nullptr)
override;
62 void EmitIntValue(uint64_t Value,
unsigned Size)
override;
78 std::unique_ptr<MCAsmBackend> MAB,
79 std::unique_ptr<MCObjectWriter> OW,
80 std::unique_ptr<MCCodeEmitter> Emitter,
84 #endif // LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSELFSTREAMER_H Instances of this class represent a uniqued identifier for a section in the current translation unit...
This class represents lattice values for constants.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
MipsELFStreamer(MCContext &Context, std::unique_ptr< MCAsmBackend > MAB, std::unique_ptr< MCObjectWriter > OW, std::unique_ptr< MCCodeEmitter > Emitter)
Base class for the full range of assembler expressions which are needed for parsing.
void EmitCFIEndProcImpl(MCDwarfFrameInfo &Frame) override
void createPendingLabelRelocs()
Mark labels as microMIPS, if necessary for the subtarget.
Context object for machine code objects.
Instances of this class represent a single low-level machine instruction.
void EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame) override
void SwitchSection(MCSection *Section, const MCExpr *Subsection=nullptr) override
Overriding this function allows us to dismiss all labels that are candidates for marking as microMIPS...
void EmitIntValue(uint64_t Value, unsigned Size) override
Special case of EmitValue that avoids the client having to pass in a MCExpr for constant integers...
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
void EmitMipsOptionRecords()
Emits all the option records stored up until the point it's called.
void EmitValueImpl(const MCExpr *Value, unsigned Size, SMLoc Loc) override
Overriding these functions allows us to dismiss all labels that are candidates for marking as microMI...
Generic base class for all target subtargets.
void EmitLabel(MCSymbol *Symbol, SMLoc Loc=SMLoc()) override
Overriding this function allows us to record all labels that should be marked as microMIPS.
MCELFStreamer * createMipsELFStreamer(MCContext &Context, std::unique_ptr< MCAsmBackend > MAB, std::unique_ptr< MCObjectWriter > OW, std::unique_ptr< MCCodeEmitter > Emitter, bool RelaxAll)
MCSymbol * EmitCFILabel() override
When emitting an object file, create and emit a real label.
LLVM Value Representation.
Represents a location in source code.
void EmitInstruction(const MCInst &Inst, const MCSubtargetInfo &STI, bool=false) override
Overriding this function allows us to add arbitrary behaviour before the Inst is actually emitted...