diff options
Diffstat (limited to 'lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp')
-rw-r--r-- | lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp b/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp index 56fe18572118..8fcd8aa4c19b 100644 --- a/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp +++ b/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp @@ -13,11 +13,13 @@ #include "MipsMCTargetDesc.h" #include "InstPrinter/MipsInstPrinter.h" +#include "MipsAsmBackend.h" #include "MipsELFStreamer.h" #include "MipsMCAsmInfo.h" #include "MipsMCNaCl.h" #include "MipsTargetStreamer.h" #include "llvm/ADT/Triple.h" +#include "llvm/MC/MCCodeEmitter.h" #include "llvm/MC/MCELFStreamer.h" #include "llvm/MC/MCInstrAnalysis.h" #include "llvm/MC/MCInstrInfo.h" @@ -90,13 +92,17 @@ static MCInstPrinter *createMipsMCInstPrinter(const Triple &T, } static MCStreamer *createMCStreamer(const Triple &T, MCContext &Context, - MCAsmBackend &MAB, raw_pwrite_stream &OS, - MCCodeEmitter *Emitter, bool RelaxAll) { + std::unique_ptr<MCAsmBackend> &&MAB, + raw_pwrite_stream &OS, + std::unique_ptr<MCCodeEmitter> &&Emitter, + bool RelaxAll) { MCStreamer *S; if (!T.isOSNaCl()) - S = createMipsELFStreamer(Context, MAB, OS, Emitter, RelaxAll); + S = createMipsELFStreamer(Context, std::move(MAB), OS, std::move(Emitter), + RelaxAll); else - S = createMipsNaClELFStreamer(Context, MAB, OS, Emitter, RelaxAll); + S = createMipsNaClELFStreamer(Context, std::move(MAB), OS, + std::move(Emitter), RelaxAll); return S; } @@ -180,6 +186,9 @@ extern "C" void LLVMInitializeMipsTargetMC() { TargetRegistry::RegisterObjectTargetStreamer( *T, createMipsObjectTargetStreamer); + + // Register the asm backend. + TargetRegistry::RegisterMCAsmBackend(*T, createMipsAsmBackend); } // Register the MC Code Emitter @@ -188,14 +197,4 @@ extern "C" void LLVMInitializeMipsTargetMC() { for (Target *T : {&getTheMipselTarget(), &getTheMips64elTarget()}) TargetRegistry::RegisterMCCodeEmitter(*T, createMipsMCCodeEmitterEL); - - // Register the asm backend. - TargetRegistry::RegisterMCAsmBackend(getTheMipsTarget(), - createMipsAsmBackendEB32); - TargetRegistry::RegisterMCAsmBackend(getTheMipselTarget(), - createMipsAsmBackendEL32); - TargetRegistry::RegisterMCAsmBackend(getTheMips64Target(), - createMipsAsmBackendEB64); - TargetRegistry::RegisterMCAsmBackend(getTheMips64elTarget(), - createMipsAsmBackendEL64); } |