diff options
author | Chris Lattner <sabre@nondot.org> | 2004-08-01 05:59:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-08-01 05:59:33 +0000 |
commit | 1c4ae85035c4cf16ab6bdedf2d8706d02d79be9f (patch) | |
tree | d8e40150c21d7a99c2067db405a19727c8ceeb0d /llvm/utils/TableGen/TableGen.cpp | |
parent | c860ecafe1586342a9e13763991b279895adc399 (diff) | |
download | bcm5719-llvm-1c4ae85035c4cf16ab6bdedf2d8706d02d79be9f.tar.gz bcm5719-llvm-1c4ae85035c4cf16ab6bdedf2d8706d02d79be9f.zip |
Initial cut at an asm writer emitter. So far, this only handles emission of
instructions, and only instructions that take no operands at that!
llvm-svn: 15386
Diffstat (limited to 'llvm/utils/TableGen/TableGen.cpp')
-rw-r--r-- | llvm/utils/TableGen/TableGen.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/TableGen.cpp b/llvm/utils/TableGen/TableGen.cpp index 7bd52b37cf0..dc980a60a85 100644 --- a/llvm/utils/TableGen/TableGen.cpp +++ b/llvm/utils/TableGen/TableGen.cpp @@ -22,6 +22,7 @@ #include "CodeEmitterGen.h" #include "RegisterInfoEmitter.h" #include "InstrInfoEmitter.h" +#include "AsmWriterEmitter.h" #include "InstrSelectorEmitter.h" #include <algorithm> #include <cstdio> @@ -32,7 +33,7 @@ enum ActionType { PrintRecords, GenEmitter, GenRegisterEnums, GenRegister, GenRegisterHeader, - GenInstrEnums, GenInstrs, GenInstrSelector, + GenInstrEnums, GenInstrs, GenAsmWriter, GenInstrSelector, PrintEnums, Parse }; @@ -54,6 +55,8 @@ namespace { "Generate enum values for instructions"), clEnumValN(GenInstrs, "gen-instr-desc", "Generate instruction descriptions"), + clEnumValN(GenAsmWriter, "gen-asm-writer", + "Generate assembly writer"), clEnumValN(GenInstrSelector, "gen-instr-selector", "Generate an instruction selector"), clEnumValN(PrintEnums, "print-enums", @@ -454,6 +457,11 @@ int main(int argc, char **argv) { case GenInstrs: InstrInfoEmitter(Records).run(*Out); break; + + case GenAsmWriter: + AsmWriterEmitter(Records).run(*Out); + break; + case GenInstrSelector: InstrSelectorEmitter(Records).run(*Out); break; |