Thumb2 assembly parsing and encoding for REV16/REVSH.
[oota-llvm.git] / lib / Target / Blackfin / BlackfinSubtarget.cpp
index cf14b105aaf8846f010811cd105d30bc8fdc09ac..0bdce09177eda9030331733fb96ff773af7b1e94 100644 (file)
@@ -7,20 +7,38 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// This file implements the blackfin specific subclass of TargetSubtarget.
+// This file implements the blackfin specific subclass of TargetSubtargetInfo.
 //
 //===----------------------------------------------------------------------===//
 
 #include "BlackfinSubtarget.h"
-#include "BlackfinGenSubtarget.inc"
+#include "Blackfin.h"
+#include "llvm/Support/TargetRegistry.h"
 
-using namespace llvm;
+#define GET_SUBTARGETINFO_TARGET_DESC
+#define GET_SUBTARGETINFO_CTOR
+#include "BlackfinGenSubtargetInfo.inc"
 
-BlackfinSubtarget::BlackfinSubtarget(const TargetMachine &TM,
-                                     const Module &M,
-                                     const std::string &FS) {
-  std::string CPU = "generic";
+using namespace llvm;
 
+BlackfinSubtarget::BlackfinSubtarget(const std::string &TT,
+                                     const std::string &CPU,
+                                     const std::string &FS)
+  : BlackfinGenSubtargetInfo(TT, CPU, FS), sdram(false),
+    icplb(false),
+    wa_mi_shift(false),
+    wa_csync(false),
+    wa_specld(false),
+    wa_mmr_stall(false),
+    wa_lcregs(false),
+    wa_hwloop(false),
+    wa_ind_call(false),
+    wa_killed_mmr(false),
+    wa_rets(false)
+{
+  std::string CPUName = CPU;
+  if (CPUName.empty())
+    CPUName = "generic";
   // Parse features string.
-  ParseSubtargetFeatures(FS, CPU);
+  ParseSubtargetFeatures(CPUName, FS);
 }