diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-11-18 21:29:51 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-18 21:29:51 +0000 |
commit | 2d6a8fb827e3c83ab2271dfb05c7c73902859297 (patch) | |
tree | 72e7afcf9f8ac16add00de9c09b20aae9ab3a237 /utils/TableGen/TableGen.cpp | |
parent | 8f16e02fc95c9b197d38bcd681f2612d36ed5c11 (diff) |
TableGen: Add initial backend for clang Driver's option parsing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89245 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/TableGen.cpp')
-rw-r--r-- | utils/TableGen/TableGen.cpp | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/utils/TableGen/TableGen.cpp b/utils/TableGen/TableGen.cpp index c6d75020c7..c6c4306295 100644 --- a/utils/TableGen/TableGen.cpp +++ b/utils/TableGen/TableGen.cpp @@ -15,21 +15,22 @@ // //===----------------------------------------------------------------------===// -#include "Record.h" -#include "TGParser.h" +#include "AsmMatcherEmitter.h" +#include "AsmWriterEmitter.h" #include "CallingConvEmitter.h" +#include "ClangDiagnosticsEmitter.h" #include "CodeEmitterGen.h" -#include "RegisterInfoEmitter.h" -#include "InstrInfoEmitter.h" -#include "InstrEnumEmitter.h" -#include "AsmWriterEmitter.h" -#include "AsmMatcherEmitter.h" #include "DAGISelEmitter.h" #include "FastISelEmitter.h" -#include "SubtargetEmitter.h" +#include "InstrEnumEmitter.h" +#include "InstrInfoEmitter.h" #include "IntrinsicEmitter.h" #include "LLVMCConfigurationEmitter.h" -#include "ClangDiagnosticsEmitter.h" +#include "OptParserEmitter.h" +#include "Record.h" +#include "RegisterInfoEmitter.h" +#include "SubtargetEmitter.h" +#include "TGParser.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/FileUtilities.h" #include "llvm/Support/MemoryBuffer.h" @@ -50,6 +51,7 @@ enum ActionType { GenClangDiagGroups, GenDAGISel, GenFastISel, + GenOptParserDefs, GenOptParserImpl, GenSubtarget, GenIntrinsic, GenTgtIntrinsic, @@ -84,6 +86,10 @@ namespace { "Generate a DAG instruction selector"), clEnumValN(GenFastISel, "gen-fast-isel", "Generate a \"fast\" instruction selector"), + clEnumValN(GenOptParserDefs, "gen-opt-parser-defs", + "Generate option definitions"), + clEnumValN(GenOptParserImpl, "gen-opt-parser-impl", + "Generate option parser implementation"), clEnumValN(GenSubtarget, "gen-subtarget", "Generate subtarget enumerations"), clEnumValN(GenIntrinsic, "gen-intrinsic", @@ -221,7 +227,13 @@ int main(int argc, char **argv) { break; case GenClangDiagGroups: ClangDiagGroupsEmitter(Records).run(*Out); - break; + break; + case GenOptParserDefs: + OptParserEmitter(Records, true).run(*Out); + break; + case GenOptParserImpl: + OptParserEmitter(Records, false).run(*Out); + break; case GenDAGISel: DAGISelEmitter(Records).run(*Out); break; |