aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp')
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp27
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);
}