Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name to
[oota-llvm.git] / lib / Target / SystemZ / SystemZ.h
index 048dcea8d08890783cc8a993f7778bd6febb9e2b..84d83c00d9469a5e795231972c4b885c123423e0 100644 (file)
 namespace llvm {
   class SystemZTargetMachine;
   class FunctionPass;
-  class raw_ostream;
+  class formatted_raw_ostream;
 
   namespace SystemZCC {
     // SystemZ specific condition code. These correspond to SYSTEMZ_*_COND in
     // SystemZInstrInfo.td. They must be kept in synch.
     enum CondCodes {
-      E  = 0,
-      NE = 1,
-      H  = 2,
-      L  = 3,
-      HE = 4,
-      LE = 5
+      O   = 0,
+      H   = 1,
+      NLE = 2,
+      L   = 3,
+      NHE = 4,
+      LH  = 5,
+      NE  = 6,
+      E   = 7,
+      NLH = 8,
+      HE  = 9,
+      NL  = 10,
+      LE  = 11,
+      NH  = 12,
+      NO  = 13,
+      INVALID = -1
     };
   }
 
   FunctionPass *createSystemZISelDag(SystemZTargetMachine &TM,
                                     CodeGenOpt::Level OptLevel);
-  FunctionPass *createSystemZCodePrinterPass(raw_ostream &o,
-                                            SystemZTargetMachine &tm,
-                                            CodeGenOpt::Level OptLevel,
-                                            bool verbose);
+
+  extern Target TheSystemZTarget;
 
 } // end namespace llvm;
 
 // Defines symbolic names for SystemZ registers.
 // This defines a mapping from register name to register number.
-#include "SystemZGenRegisterNames.inc"
+#define GET_REGINFO_ENUM
+#include "SystemZGenRegisterInfo.inc"
 
 // Defines symbolic names for the SystemZ instructions.
-#include "SystemZGenInstrNames.inc"
+#define GET_INSTRINFO_ENUM
+#include "SystemZGenInstrInfo.inc"
 
 #endif