Handle STRT (and friends) like LDRT (and friends) for decoding purposes. Port over...
[oota-llvm.git] / lib / Target / SystemZ / SystemZTargetMachine.cpp
index 8bebf5b41af8bbed0f97c871f6856affe9a66a5f..e390f060c9a9116679cc0ac028232622ef4258b0 100644 (file)
@@ -6,16 +6,11 @@
 // License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
-//
-//
-//===----------------------------------------------------------------------===//
 
-#include "SystemZTargetAsmInfo.h"
 #include "SystemZTargetMachine.h"
 #include "SystemZ.h"
-#include "llvm/Module.h"
 #include "llvm/PassManager.h"
-#include "llvm/Target/TargetRegistry.h"
+#include "llvm/Support/TargetRegistry.h"
 using namespace llvm;
 
 extern "C" void LLVMInitializeSystemZTarget() {
@@ -23,24 +18,18 @@ extern "C" void LLVMInitializeSystemZTarget() {
   RegisterTargetMachine<SystemZTargetMachine> X(TheSystemZTarget);
 }
 
-const TargetAsmInfo *SystemZTargetMachine::createTargetAsmInfo() const {
-  return new SystemZTargetAsmInfo();
-}
-
 /// SystemZTargetMachine ctor - Create an ILP64 architecture model
 ///
 SystemZTargetMachine::SystemZTargetMachine(const Target &T,
-                                           const Module &M,
-                                           const std::string &FS)
-  : LLVMTargetMachine(T),
-    Subtarget(*this, M, FS),
+                                           StringRef TT, StringRef CPU,
+                                           StringRef FS, Reloc::Model RM,
+                                           CodeModel::Model CM)
+  : LLVMTargetMachine(T, TT, CPU, FS, RM, CM),
+    Subtarget(TT, CPU, FS),
     DataLayout("E-p:64:64:64-i8:8:16-i16:16:16-i32:32:32-i64:64:64-f32:32:32"
-               "-f64:64:64-f128:128:128-a0:16:16"),
-    InstrInfo(*this), TLInfo(*this),
-    FrameInfo(TargetFrameInfo::StackGrowsDown, 8, -160) {
-
-  if (getRelocationModel() == Reloc::Default)
-    setRelocationModel(Reloc::Static);
+               "-f64:64:64-f128:128:128-a0:16:16-n32:64"),
+    InstrInfo(*this), TLInfo(*this), TSInfo(*this),
+    FrameLowering(Subtarget) {
 }
 
 bool SystemZTargetMachine::addInstSelector(PassManagerBase &PM,
@@ -49,14 +38,3 @@ bool SystemZTargetMachine::addInstSelector(PassManagerBase &PM,
   PM.add(createSystemZISelDag(*this, OptLevel));
   return false;
 }
-
-unsigned SystemZTargetMachine::getModuleMatchQuality(const Module &M) {
-  std::string TT = M.getTargetTriple();
-
-  // We strongly match s390x
-  if (TT.size() >= 5 && TT[0] == 's' && TT[1] == '3' && TT[2] == '9' &&
-      TT[3] == '0' &&  TT[4] == 'x')
-    return 20;
-
-  return 0;
-}