24 X86WinCOFFStreamer(
MCContext &
C, std::unique_ptr<MCAsmBackend> AB,
25 std::unique_ptr<MCCodeEmitter> CE,
26 std::unique_ptr<MCObjectWriter> OW)
29 void EmitWinEHHandlerData(
SMLoc Loc)
override;
30 void EmitWindowsUnwindTables()
override;
31 void EmitCVFPOData(
const MCSymbol *ProcSym,
SMLoc Loc)
override;
32 void FinishImpl()
override;
35 void X86WinCOFFStreamer::EmitWinEHHandlerData(
SMLoc Loc) {
40 EHStreamer.EmitUnwindInfo(*
this, getCurrentWinFrameInfo());
43 void X86WinCOFFStreamer::EmitWindowsUnwindTables() {
44 if (!getNumWinFrameInfos())
49 void X86WinCOFFStreamer::EmitCVFPOData(
const MCSymbol *ProcSym,
SMLoc Loc) {
55 void X86WinCOFFStreamer::FinishImpl() {
57 EmitWindowsUnwindTables();
64 std::unique_ptr<MCAsmBackend> &&AB,
65 std::unique_ptr<MCObjectWriter> &&OW,
66 std::unique_ptr<MCCodeEmitter> &&CE,
68 bool IncrementalLinkerCompatible) {
69 X86WinCOFFStreamer *S =
70 new X86WinCOFFStreamer(C, std::move(AB), std::move(CE), std::move(OW));
71 S->getAssembler().setRelaxAll(RelaxAll);
72 S->getAssembler().setIncrementalLinkerCompatible(IncrementalLinkerCompatible);
void FinishImpl() override
Streamer specific finalization.
This class represents lattice values for constants.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Emits exception handling directives.
Context object for machine code objects.
Streaming machine code generation interface.
virtual bool emitFPOData(const MCSymbol *ProcSym, SMLoc L={})=0
MCStreamer * createX86WinCOFFStreamer(MCContext &C, std::unique_ptr< MCAsmBackend > &&AB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&CE, bool RelaxAll, bool IncrementalLinkerCompatible)
Construct an X86 Windows COFF machine code streamer which will generate PE/COFF format object files...
virtual void EmitWinEHHandlerData(SMLoc Loc=SMLoc())
X86 target streamer implementing x86-only assembly directives.
Represents a location in source code.