summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsTargetMachine.h
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-07-21 16:28:51 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-07-21 16:28:51 +0000
commitdca6cdd6a14195c3ebbbb5d2c668445be119aaec (patch)
treeb22804cb217e4c8bee070eeb823dc5ed9c6fc265 /lib/Target/Mips/MipsTargetMachine.h
parent4b5e207bf24ea9799547a0634acaf7398b32897c (diff)
downloadllvm-dca6cdd6a14195c3ebbbb5d2c668445be119aaec.tar.gz
llvm-dca6cdd6a14195c3ebbbb5d2c668445be119aaec.tar.bz2
llvm-dca6cdd6a14195c3ebbbb5d2c668445be119aaec.tar.xz
Added the infrastructute necessary for MIPS JIT support. Patch by Vladimir
Stefanovic. I removed the part that actually emits the instructions cause I want that to get in better shape first and in incremental steps. This also makes it easier to review the upcoming parts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135678 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsTargetMachine.h')
-rw-r--r--lib/Target/Mips/MipsTargetMachine.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsTargetMachine.h b/lib/Target/Mips/MipsTargetMachine.h
index 421405649a..36211fa446 100644
--- a/lib/Target/Mips/MipsTargetMachine.h
+++ b/lib/Target/Mips/MipsTargetMachine.h
@@ -22,6 +22,7 @@
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetData.h"
#include "llvm/Target/TargetFrameLowering.h"
+#include "MipsJITInfo.h"
namespace llvm {
class formatted_raw_ostream;
@@ -33,6 +34,9 @@ namespace llvm {
MipsFrameLowering FrameLowering;
MipsTargetLowering TLInfo;
MipsSelectionDAGInfo TSInfo;
+ MipsJITInfo JITInfo;
+ Reloc::Model DefRelocModel; // Reloc model before it's overridden.
+
public:
MipsTargetMachine(const Target &T, StringRef TT,
StringRef CPU, StringRef FS,
@@ -47,6 +51,9 @@ namespace llvm {
{ return &Subtarget; }
virtual const TargetData *getTargetData() const
{ return &DataLayout;}
+ virtual MipsJITInfo *getJITInfo()
+ { return &JITInfo; }
+
virtual const MipsRegisterInfo *getRegisterInfo() const {
return &InstrInfo.getRegisterInfo();
@@ -68,6 +75,10 @@ namespace llvm {
virtual bool addPreRegAlloc(PassManagerBase &PM,
CodeGenOpt::Level OptLevel);
virtual bool addPostRegAlloc(PassManagerBase &, CodeGenOpt::Level);
+ virtual bool addCodeEmitter(PassManagerBase &PM,
+ CodeGenOpt::Level OptLevel,
+ JITCodeEmitter &JCE);
+
};
/// MipselTargetMachine - Mipsel target machine.