Add an instruction selector emitter skeleton
authorChris Lattner <sabre@nondot.org>
Wed, 6 Aug 2003 04:47:56 +0000 (04:47 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 6 Aug 2003 04:47:56 +0000 (04:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7629 91177308-0d34-0410-b5e6-96231b3b80d8

support/tools/TableGen/TableGen.cpp
utils/TableGen/TableGen.cpp

index 8a22c54e472a124ba959a0bf5ba6b54fb44db068..8c9f550bcc42bccb058af50ae1c1f1f5382ea3c5 100644 (file)
@@ -15,6 +15,7 @@
 #include "CodeEmitterGen.h"
 #include "RegisterInfoEmitter.h"
 #include "InstrInfoEmitter.h"
+#include "InstrSelectorEmitter.h"
 #include <algorithm>
 #include <fstream>
 
@@ -22,7 +23,7 @@ enum ActionType {
   PrintRecords,
   GenEmitter,
   GenRegisterEnums, GenRegister, GenRegisterHeader,
-  GenInstrEnums, GenInstrs,
+  GenInstrEnums, GenInstrs, GenInstrSelector,
   PrintEnums,
   Parse,
 };
@@ -44,6 +45,8 @@ namespace {
                                "Generate enum values for instructions"),
                     clEnumValN(GenInstrs, "gen-instr-desc",
                                "Generate instruction descriptions"),
+                    clEnumValN(GenInstrSelector, "gen-instr-selector",
+                               "Generate an instruction selector"),
                     clEnumValN(PrintEnums, "print-enums",
                                "Print enum values for a class"),
                     clEnumValN(Parse, "parse",
@@ -440,7 +443,9 @@ int main(int argc, char **argv) {
     case GenInstrs:
       InstrInfoEmitter(Records).run(*Out);
       break;
-
+    case GenInstrSelector:
+      InstrSelectorEmitter(Records).run(*Out);
+      break;
     case PrintEnums:
       std::vector<Record*> Recs = Records.getAllDerivedDefinitions(Class);
       for (unsigned i = 0, e = Recs.size(); i != e; ++i)
index 8a22c54e472a124ba959a0bf5ba6b54fb44db068..8c9f550bcc42bccb058af50ae1c1f1f5382ea3c5 100644 (file)
@@ -15,6 +15,7 @@
 #include "CodeEmitterGen.h"
 #include "RegisterInfoEmitter.h"
 #include "InstrInfoEmitter.h"
+#include "InstrSelectorEmitter.h"
 #include <algorithm>
 #include <fstream>
 
@@ -22,7 +23,7 @@ enum ActionType {
   PrintRecords,
   GenEmitter,
   GenRegisterEnums, GenRegister, GenRegisterHeader,
-  GenInstrEnums, GenInstrs,
+  GenInstrEnums, GenInstrs, GenInstrSelector,
   PrintEnums,
   Parse,
 };
@@ -44,6 +45,8 @@ namespace {
                                "Generate enum values for instructions"),
                     clEnumValN(GenInstrs, "gen-instr-desc",
                                "Generate instruction descriptions"),
+                    clEnumValN(GenInstrSelector, "gen-instr-selector",
+                               "Generate an instruction selector"),
                     clEnumValN(PrintEnums, "print-enums",
                                "Print enum values for a class"),
                     clEnumValN(Parse, "parse",
@@ -440,7 +443,9 @@ int main(int argc, char **argv) {
     case GenInstrs:
       InstrInfoEmitter(Records).run(*Out);
       break;
-
+    case GenInstrSelector:
+      InstrSelectorEmitter(Records).run(*Out);
+      break;
     case PrintEnums:
       std::vector<Record*> Recs = Records.getAllDerivedDefinitions(Class);
       for (unsigned i = 0, e = Recs.size(); i != e; ++i)