summaryrefslogtreecommitdiff
path: root/clang/utils/TableGen/TableGen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/utils/TableGen/TableGen.cpp')
-rw-r--r--clang/utils/TableGen/TableGen.cpp61
1 files changed, 58 insertions, 3 deletions
diff --git a/clang/utils/TableGen/TableGen.cpp b/clang/utils/TableGen/TableGen.cpp
index d0f8a7564496..6ba90cee4aae 100644
--- a/clang/utils/TableGen/TableGen.cpp
+++ b/clang/utils/TableGen/TableGen.cpp
@@ -11,6 +11,7 @@
//===----------------------------------------------------------------------===//
#include "TableGenBackends.h" // Declares all backends.
+#include "ASTTableGen.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/PrettyStackTrace.h"
#include "llvm/Support/Signals.h"
@@ -41,6 +42,8 @@ enum ActionType {
GenClangAttrParsedAttrKinds,
GenClangAttrTextNodeDump,
GenClangAttrNodeTraverse,
+ GenClangBasicReader,
+ GenClangBasicWriter,
GenClangDiagsDefs,
GenClangDiagGroups,
GenClangDiagsIndexName,
@@ -48,6 +51,8 @@ enum ActionType {
GenClangDeclNodes,
GenClangStmtNodes,
GenClangTypeNodes,
+ GenClangTypeReader,
+ GenClangTypeWriter,
GenClangOpcodes,
GenClangSACheckers,
GenClangCommentHTMLTags,
@@ -60,6 +65,11 @@ enum ActionType {
GenArmFP16,
GenArmNeonSema,
GenArmNeonTest,
+ GenArmMveHeader,
+ GenArmMveBuiltinDef,
+ GenArmMveBuiltinSema,
+ GenArmMveBuiltinCG,
+ GenArmMveBuiltinAliases,
GenAttrDocs,
GenDiagDocs,
GenOptDocs,
@@ -125,6 +135,10 @@ cl::opt<ActionType> Action(
"Generate Clang diagnostic groups"),
clEnumValN(GenClangDiagsIndexName, "gen-clang-diags-index-name",
"Generate Clang diagnostic name index"),
+ clEnumValN(GenClangBasicReader, "gen-clang-basic-reader",
+ "Generate Clang BasicReader classes"),
+ clEnumValN(GenClangBasicWriter, "gen-clang-basic-writer",
+ "Generate Clang BasicWriter classes"),
clEnumValN(GenClangCommentNodes, "gen-clang-comment-nodes",
"Generate Clang AST comment nodes"),
clEnumValN(GenClangDeclNodes, "gen-clang-decl-nodes",
@@ -133,6 +147,10 @@ cl::opt<ActionType> Action(
"Generate Clang AST statement nodes"),
clEnumValN(GenClangTypeNodes, "gen-clang-type-nodes",
"Generate Clang AST type nodes"),
+ clEnumValN(GenClangTypeReader, "gen-clang-type-reader",
+ "Generate Clang AbstractTypeReader class"),
+ clEnumValN(GenClangTypeWriter, "gen-clang-type-writer",
+ "Generate Clang AbstractTypeWriter class"),
clEnumValN(GenClangOpcodes, "gen-clang-opcodes",
"Generate Clang constexpr interpreter opcodes"),
clEnumValN(GenClangSACheckers, "gen-clang-sa-checkers",
@@ -162,6 +180,16 @@ cl::opt<ActionType> Action(
"Generate ARM NEON sema support for clang"),
clEnumValN(GenArmNeonTest, "gen-arm-neon-test",
"Generate ARM NEON tests for clang"),
+ clEnumValN(GenArmMveHeader, "gen-arm-mve-header",
+ "Generate arm_mve.h for clang"),
+ clEnumValN(GenArmMveBuiltinDef, "gen-arm-mve-builtin-def",
+ "Generate ARM MVE builtin definitions for clang"),
+ clEnumValN(GenArmMveBuiltinSema, "gen-arm-mve-builtin-sema",
+ "Generate ARM MVE builtin sema checks for clang"),
+ clEnumValN(GenArmMveBuiltinCG, "gen-arm-mve-builtin-codegen",
+ "Generate ARM MVE builtin code-generator for clang"),
+ clEnumValN(GenArmMveBuiltinAliases, "gen-arm-mve-builtin-aliases",
+ "Generate list of valid ARM MVE builtin aliases for clang"),
clEnumValN(GenAttrDocs, "gen-attr-docs",
"Generate attribute documentation"),
clEnumValN(GenDiagDocs, "gen-diag-docs",
@@ -248,18 +276,30 @@ bool ClangTableGenMain(raw_ostream &OS, RecordKeeper &Records) {
EmitClangDiagsIndexName(Records, OS);
break;
case GenClangCommentNodes:
- EmitClangASTNodes(Records, OS, "Comment", "");
+ EmitClangASTNodes(Records, OS, CommentNodeClassName, "");
break;
case GenClangDeclNodes:
- EmitClangASTNodes(Records, OS, "Decl", "Decl");
+ EmitClangASTNodes(Records, OS, DeclNodeClassName, "Decl");
EmitClangDeclContext(Records, OS);
break;
case GenClangStmtNodes:
- EmitClangASTNodes(Records, OS, "Stmt", "");
+ EmitClangASTNodes(Records, OS, StmtNodeClassName, "");
break;
case GenClangTypeNodes:
EmitClangTypeNodes(Records, OS);
break;
+ case GenClangTypeReader:
+ EmitClangTypeReader(Records, OS);
+ break;
+ case GenClangTypeWriter:
+ EmitClangTypeWriter(Records, OS);
+ break;
+ case GenClangBasicReader:
+ EmitClangBasicReader(Records, OS);
+ break;
+ case GenClangBasicWriter:
+ EmitClangBasicWriter(Records, OS);
+ break;
case GenClangOpcodes:
EmitClangOpcodes(Records, OS);
break;
@@ -296,6 +336,21 @@ bool ClangTableGenMain(raw_ostream &OS, RecordKeeper &Records) {
case GenArmNeonTest:
EmitNeonTest(Records, OS);
break;
+ case GenArmMveHeader:
+ EmitMveHeader(Records, OS);
+ break;
+ case GenArmMveBuiltinDef:
+ EmitMveBuiltinDef(Records, OS);
+ break;
+ case GenArmMveBuiltinSema:
+ EmitMveBuiltinSema(Records, OS);
+ break;
+ case GenArmMveBuiltinCG:
+ EmitMveBuiltinCG(Records, OS);
+ break;
+ case GenArmMveBuiltinAliases:
+ EmitMveBuiltinAliases(Records, OS);
+ break;
case GenAttrDocs:
EmitClangAttrDocs(Records, OS);
break;