diff options
| author | Peter Collingbourne <peter@pcc.me.uk> | 2018-05-21 19:20:29 +0000 |
|---|---|---|
| committer | Peter Collingbourne <peter@pcc.me.uk> | 2018-05-21 19:20:29 +0000 |
| commit | dcd7d6c33112db3618798c1c037460cac58d7f9a (patch) | |
| tree | 21a52d71cf6ec2df9a9d299ca4d4559cd4891382 /llvm/lib/Target/Hexagon/MCTargetDesc | |
| parent | a29fe579f48dd1600b21aadae7e90f64d643aef8 (diff) | |
| download | bcm5719-llvm-dcd7d6c33112db3618798c1c037460cac58d7f9a.tar.gz bcm5719-llvm-dcd7d6c33112db3618798c1c037460cac58d7f9a.zip | |
MC: Separate creating a generic object writer from creating a target object writer. NFCI.
With this we gain a little flexibility in how the generic object
writer is created.
Part of PR37466.
Differential Revision: https://reviews.llvm.org/D47045
llvm-svn: 332868
Diffstat (limited to 'llvm/lib/Target/Hexagon/MCTargetDesc')
3 files changed, 9 insertions, 12 deletions
diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp index 97dd99eb2a1..2bbdfb95970 100644 --- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp +++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp @@ -66,9 +66,9 @@ public: MCII(T.createMCInstrInfo()), RelaxTarget(new MCInst *), Extender(nullptr) {} - std::unique_ptr<MCObjectWriter> - createObjectWriter(raw_pwrite_stream &OS) const override { - return createHexagonELFObjectWriter(OS, OSABI, CPU); + std::unique_ptr<MCObjectTargetWriter> + createObjectTargetWriter() const override { + return createHexagonELFObjectWriter(OSABI, CPU); } void setExtender(MCContext &Context) const { diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp index 12aa1bd9b2a..e82e6b559f6 100644 --- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp +++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp @@ -298,9 +298,7 @@ unsigned HexagonELFObjectWriter::getRelocType(MCContext &Ctx, } } -std::unique_ptr<MCObjectWriter> -llvm::createHexagonELFObjectWriter(raw_pwrite_stream &OS, uint8_t OSABI, - StringRef CPU) { - auto MOTW = llvm::make_unique<HexagonELFObjectWriter>(OSABI, CPU); - return createELFObjectWriter(std::move(MOTW), OS, /*IsLittleEndian*/ true); +std::unique_ptr<MCObjectTargetWriter> +llvm::createHexagonELFObjectWriter(uint8_t OSABI, StringRef CPU) { + return llvm::make_unique<HexagonELFObjectWriter>(OSABI, CPU); } diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h index 71545a5c02c..6cd1b3a4691 100644 --- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h +++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h @@ -27,7 +27,7 @@ class MCAsmBackend; class MCCodeEmitter; class MCContext; class MCInstrInfo; -class MCObjectWriter; +class MCObjectTargetWriter; class MCRegisterInfo; class MCSubtargetInfo; class MCTargetOptions; @@ -65,9 +65,8 @@ MCAsmBackend *createHexagonAsmBackend(const Target &T, const MCRegisterInfo &MRI, const MCTargetOptions &Options); -std::unique_ptr<MCObjectWriter> -createHexagonELFObjectWriter(raw_pwrite_stream &OS, uint8_t OSABI, - StringRef CPU); +std::unique_ptr<MCObjectTargetWriter> +createHexagonELFObjectWriter(uint8_t OSABI, StringRef CPU); unsigned HexagonGetLastSlot(); |

