diff options
| author | Peter Collingbourne <peter@pcc.me.uk> | 2018-05-18 18:26:45 +0000 |
|---|---|---|
| committer | Peter Collingbourne <peter@pcc.me.uk> | 2018-05-18 18:26:45 +0000 |
| commit | f7b81db7157cf424db8da07351df9528a032567e (patch) | |
| tree | 443c4df3a91c22974850b90cb853b2045a239a8c /llvm/lib/Target/AVR | |
| parent | e5ed563cc57f69b3f6a5bd242d8ff029dee3f271 (diff) | |
| download | bcm5719-llvm-f7b81db7157cf424db8da07351df9528a032567e.tar.gz bcm5719-llvm-f7b81db7157cf424db8da07351df9528a032567e.zip | |
MC: Change the streamer ctors to take an object writer instead of a stream. NFCI.
The idea is that a client that wants split dwarf would create a
specific kind of object writer that creates two files, and use it to
create the streamer.
Part of PR37466.
Differential Revision: https://reviews.llvm.org/D47050
llvm-svn: 332749
Diffstat (limited to 'llvm/lib/Target/AVR')
| -rw-r--r-- | llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp | 6 | ||||
| -rw-r--r-- | llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h | 13 | ||||
| -rw-r--r-- | llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp | 6 |
3 files changed, 15 insertions, 10 deletions
diff --git a/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp b/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp index c60ea7a92e6..861acd47347 100644 --- a/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp +++ b/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp @@ -17,6 +17,7 @@ #include "llvm/MC/MCContext.h" #include "llvm/MC/MCExpr.h" #include "llvm/MC/MCSymbol.h" +#include "llvm/MC/MCObjectWriter.h" using namespace llvm; @@ -43,9 +44,10 @@ void AVRMCELFStreamer::EmitValueForModiferKind( namespace llvm { MCStreamer *createAVRELFStreamer(Triple const &TT, MCContext &Context, std::unique_ptr<MCAsmBackend> MAB, - raw_pwrite_stream &OS, + std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> CE) { - return new AVRMCELFStreamer(Context, std::move(MAB), OS, std::move(CE)); + return new AVRMCELFStreamer(Context, std::move(MAB), std::move(OW), + std::move(CE)); } } // end namespace llvm diff --git a/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h b/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h index 398b409f458..12e805fc7d1 100644 --- a/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h +++ b/llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h @@ -16,6 +16,7 @@ #include "llvm/MC/MCCodeEmitter.h" #include "llvm/MC/MCELFStreamer.h" #include "llvm/MC/MCInstrInfo.h" +#include "llvm/MC/MCObjectWriter.h" namespace llvm { @@ -27,16 +28,18 @@ class AVRMCELFStreamer : public MCELFStreamer { public: AVRMCELFStreamer(MCContext &Context, std::unique_ptr<MCAsmBackend> TAB, - raw_pwrite_stream &OS, + std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> Emitter) - : MCELFStreamer(Context, std::move(TAB), OS, std::move(Emitter)), + : MCELFStreamer(Context, std::move(TAB), std::move(OW), + std::move(Emitter)), MCII(createAVRMCInstrInfo()) {} AVRMCELFStreamer(MCContext &Context, std::unique_ptr<MCAsmBackend> TAB, - raw_pwrite_stream &OS, + std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> Emitter, MCAssembler *Assembler) - : MCELFStreamer(Context, std::move(TAB), OS, std::move(Emitter)), + : MCELFStreamer(Context, std::move(TAB), std::move(OW), + std::move(Emitter)), MCII(createAVRMCInstrInfo()) {} void EmitValueForModiferKind( @@ -46,7 +49,7 @@ public: MCStreamer *createAVRELFStreamer(Triple const &TT, MCContext &Context, std::unique_ptr<MCAsmBackend> MAB, - raw_pwrite_stream &OS, + std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> CE); } // end namespace llvm diff --git a/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp b/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp index dd65a431207..8c39b5f4039 100644 --- a/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp +++ b/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp @@ -70,11 +70,11 @@ static MCInstPrinter *createAVRMCInstPrinter(const Triple &T, static MCStreamer *createMCStreamer(const Triple &T, MCContext &Context, std::unique_ptr<MCAsmBackend> &&MAB, - raw_pwrite_stream &OS, + std::unique_ptr<MCObjectWriter> &&OW, std::unique_ptr<MCCodeEmitter> &&Emitter, bool RelaxAll) { - return createELFStreamer(Context, std::move(MAB), OS, - std::move(Emitter), RelaxAll); + return createELFStreamer(Context, std::move(MAB), std::move(OW), + std::move(Emitter), RelaxAll); } static MCTargetStreamer * |

