From 3f781341f97da31bfee55bc221ff58b76e7a60df Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 6 Aug 2003 04:47:56 +0000 Subject: [PATCH] Add an instruction selector emitter skeleton git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7629 91177308-0d34-0410-b5e6-96231b3b80d8 --- support/tools/TableGen/TableGen.cpp | 9 +++++++-- utils/TableGen/TableGen.cpp | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/support/tools/TableGen/TableGen.cpp b/support/tools/TableGen/TableGen.cpp index 8a22c54e472..8c9f550bcc4 100644 --- a/support/tools/TableGen/TableGen.cpp +++ b/support/tools/TableGen/TableGen.cpp @@ -15,6 +15,7 @@ #include "CodeEmitterGen.h" #include "RegisterInfoEmitter.h" #include "InstrInfoEmitter.h" +#include "InstrSelectorEmitter.h" #include #include @@ -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 Recs = Records.getAllDerivedDefinitions(Class); for (unsigned i = 0, e = Recs.size(); i != e; ++i) diff --git a/utils/TableGen/TableGen.cpp b/utils/TableGen/TableGen.cpp index 8a22c54e472..8c9f550bcc4 100644 --- a/utils/TableGen/TableGen.cpp +++ b/utils/TableGen/TableGen.cpp @@ -15,6 +15,7 @@ #include "CodeEmitterGen.h" #include "RegisterInfoEmitter.h" #include "InstrInfoEmitter.h" +#include "InstrSelectorEmitter.h" #include #include @@ -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 Recs = Records.getAllDerivedDefinitions(Class); for (unsigned i = 0, e = Recs.size(); i != e; ++i) -- 2.34.1