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 | 293d0c570b6f4d82ed55f7b71389df1e192c5617 (patch) | |
tree | 25882c8637b55c139fb21b28e6d239ab43a914ed /llvm/lib/Target/Lanai | |
parent | 6a264f9dd0c48b4c733b382aee11ce8a7d3f6f15 (diff) |
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
Diffstat (limited to 'llvm/lib/Target/Lanai')
3 files changed, 10 insertions, 13 deletions
diff --git a/llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp b/llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp index 4a1600a5b9b..0d01729d393 100644 --- a/llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp +++ b/llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp @@ -53,8 +53,8 @@ public: const MCValue &Target, MutableArrayRef<char> Data, uint64_t Value, bool IsResolved) const override; - std::unique_ptr<MCObjectWriter> - createObjectWriter(raw_pwrite_stream &OS) const override; + std::unique_ptr<MCObjectTargetWriter> + createObjectTargetWriter() const override; // No instruction requires relaxation bool fixupNeedsRelaxation(const MCFixup & /*Fixup*/, uint64_t /*Value*/, @@ -127,10 +127,9 @@ void LanaiAsmBackend::applyFixup(const MCAssembler &Asm, const MCFixup &Fixup, } } -std::unique_ptr<MCObjectWriter> -LanaiAsmBackend::createObjectWriter(raw_pwrite_stream &OS) const { - return createLanaiELFObjectWriter(OS, - MCELFObjectTargetWriter::getOSABI(OSType)); +std::unique_ptr<MCObjectTargetWriter> +LanaiAsmBackend::createObjectTargetWriter() const { + return createLanaiELFObjectWriter(MCELFObjectTargetWriter::getOSABI(OSType)); } const MCFixupKindInfo & diff --git a/llvm/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp b/llvm/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp index 3c40176d2f6..7676891ef98 100644 --- a/llvm/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp +++ b/llvm/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp @@ -87,8 +87,7 @@ bool LanaiELFObjectWriter::needsRelocateWithSymbol(const MCSymbol & /*SD*/, } } -std::unique_ptr<MCObjectWriter> -llvm::createLanaiELFObjectWriter(raw_pwrite_stream &OS, uint8_t OSABI) { - return createELFObjectWriter(llvm::make_unique<LanaiELFObjectWriter>(OSABI), - OS, /*IsLittleEndian=*/false); +std::unique_ptr<MCObjectTargetWriter> +llvm::createLanaiELFObjectWriter(uint8_t OSABI) { + return llvm::make_unique<LanaiELFObjectWriter>(OSABI); } diff --git a/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h b/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h index ddb4e9b0d72..2d8828ea4fa 100644 --- a/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h +++ b/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h @@ -24,7 +24,7 @@ class MCCodeEmitter; class MCContext; class MCInstrInfo; class MCInstrAnalysis; -class MCObjectWriter; +class MCObjectTargetWriter; class MCRelocationInfo; class MCSubtargetInfo; class Target; @@ -42,8 +42,7 @@ MCAsmBackend *createLanaiAsmBackend(const Target &T, const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const MCTargetOptions &Options); -std::unique_ptr<MCObjectWriter> -createLanaiELFObjectWriter(raw_pwrite_stream &OS, uint8_t OSABI); +std::unique_ptr<MCObjectTargetWriter> createLanaiELFObjectWriter(uint8_t OSABI); } // namespace llvm // Defines symbolic names for Lanai registers. This defines a mapping from |