summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/MBlaze
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/MBlaze')
-rw-r--r--llvm/lib/Target/MBlaze/MBlaze.h8
-rw-r--r--llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp13
-rw-r--r--llvm/lib/Target/MBlaze/MBlazeMCCodeEmitter.cpp16
-rw-r--r--llvm/lib/Target/MBlaze/MBlazeSubtarget.cpp2
4 files changed, 26 insertions, 13 deletions
diff --git a/llvm/lib/Target/MBlaze/MBlaze.h b/llvm/lib/Target/MBlaze/MBlaze.h
index e9aff5b96be..26b869b143b 100644
--- a/llvm/lib/Target/MBlaze/MBlaze.h
+++ b/llvm/lib/Target/MBlaze/MBlaze.h
@@ -22,13 +22,15 @@ namespace llvm {
class FunctionPass;
class MachineCodeEmitter;
class MCCodeEmitter;
+ class MCInstrInfo;
+ class MCSubtargetInfo;
class TargetAsmBackend;
class formatted_raw_ostream;
- MCCodeEmitter *createMBlazeMCCodeEmitter(const Target &,
- TargetMachine &TM,
+ MCCodeEmitter *createMBlazeMCCodeEmitter(const MCInstrInfo &MCII,
+ const MCSubtargetInfo &STI,
MCContext &Ctx);
-
+
TargetAsmBackend *createMBlazeAsmBackend(const Target &, const std::string &);
FunctionPass *createMBlazeISelDag(MBlazeTargetMachine &TM);
diff --git a/llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp b/llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp
index 0bd62ac5291..8f7d956ccba 100644
--- a/llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp
+++ b/llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp
@@ -14,12 +14,13 @@
#include "MBlazeInstrInfo.h"
#include "MBlazeTargetMachine.h"
#include "MBlazeMachineFunction.h"
-#include "llvm/ADT/STLExtras.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/ScoreboardHazardRecognizer.h"
+#include "llvm/Target/TargetRegistry.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
+#include "llvm/ADT/STLExtras.h"
#define GET_INSTRINFO_CTOR
#define GET_INSTRINFO_MC_DESC
@@ -294,3 +295,13 @@ unsigned MBlazeInstrInfo::getGlobalBaseReg(MachineFunction *MF) const {
MBlazeFI->setGlobalBaseReg(GlobalBaseReg);
return GlobalBaseReg;
}
+
+MCInstrInfo *createMBlazeMCInstrInfo() {
+ MCInstrInfo *X = new MCInstrInfo();
+ InitMBlazeMCInstrInfo(X);
+ return X;
+}
+
+extern "C" void LLVMInitializeMBlazeMCInstrInfo() {
+ TargetRegistry::RegisterMCInstrInfo(TheMBlazeTarget, createMBlazeMCInstrInfo);
+}
diff --git a/llvm/lib/Target/MBlaze/MBlazeMCCodeEmitter.cpp b/llvm/lib/Target/MBlaze/MBlazeMCCodeEmitter.cpp
index c573d4a28e5..87f6caeb6cd 100644
--- a/llvm/lib/Target/MBlaze/MBlazeMCCodeEmitter.cpp
+++ b/llvm/lib/Target/MBlaze/MBlazeMCCodeEmitter.cpp
@@ -29,13 +29,13 @@ namespace {
class MBlazeMCCodeEmitter : public MCCodeEmitter {
MBlazeMCCodeEmitter(const MBlazeMCCodeEmitter &); // DO NOT IMPLEMENT
void operator=(const MBlazeMCCodeEmitter &); // DO NOT IMPLEMENT
- const TargetMachine &TM;
- const TargetInstrInfo &TII;
+ const MCInstrInfo &MCII;
MCContext &Ctx;
public:
- MBlazeMCCodeEmitter(TargetMachine &tm, MCContext &ctx)
- : TM(tm), TII(*TM.getInstrInfo()), Ctx(ctx) {
+ MBlazeMCCodeEmitter(const MCInstrInfo &mcii, const MCSubtargetInfo &sti,
+ MCContext &ctx)
+ : MCII(mcii), Ctx(ctx) {
}
~MBlazeMCCodeEmitter() {}
@@ -96,10 +96,10 @@ public:
} // end anonymous namespace
-MCCodeEmitter *llvm::createMBlazeMCCodeEmitter(const Target &,
- TargetMachine &TM,
+MCCodeEmitter *llvm::createMBlazeMCCodeEmitter(const MCInstrInfo &MCII,
+ const MCSubtargetInfo &STI,
MCContext &Ctx) {
- return new MBlazeMCCodeEmitter(TM, Ctx);
+ return new MBlazeMCCodeEmitter(MCII, STI, Ctx);
}
/// getMachineOpValue - Return binary encoding of operand. If the machine
@@ -179,7 +179,7 @@ void MBlazeMCCodeEmitter::
EncodeInstruction(const MCInst &MI, raw_ostream &OS,
SmallVectorImpl<MCFixup> &Fixups) const {
unsigned Opcode = MI.getOpcode();
- const MCInstrDesc &Desc = TII.get(Opcode);
+ const MCInstrDesc &Desc = MCII.get(Opcode);
uint64_t TSFlags = Desc.TSFlags;
// Keep track of the current byte being emitted.
unsigned CurByte = 0;
diff --git a/llvm/lib/Target/MBlaze/MBlazeSubtarget.cpp b/llvm/lib/Target/MBlaze/MBlazeSubtarget.cpp
index 54935b1ec53..54be1be37b6 100644
--- a/llvm/lib/Target/MBlaze/MBlazeSubtarget.cpp
+++ b/llvm/lib/Target/MBlaze/MBlazeSubtarget.cpp
@@ -67,7 +67,7 @@ enablePostRAScheduler(CodeGenOpt::Level OptLevel,
MCSubtargetInfo *createMBlazeMCSubtargetInfo(StringRef TT, StringRef CPU,
StringRef FS) {
MCSubtargetInfo *X = new MCSubtargetInfo();
- InitMBlazeMCSubtargetInfo(X, CPU, FS);
+ InitMBlazeMCSubtargetInfo(X, TT, CPU, FS);
return X;
}
OpenPOWER on IntegriCloud