aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/TableGen.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2010-01-29 00:21:04 +0000
committerSean Callanan <scallanan@apple.com>2010-01-29 00:21:04 +0000
commit95fcebd5c490c725ee5d88be963d39ddaf0971bd (patch)
tree9b68a36d8a2e7b47abcf013301c510834872028e /utils/TableGen/TableGen.cpp
parent1897ed3d37141e590781d983adbbeca937b3ccfc (diff)
downloadexternal_llvm-95fcebd5c490c725ee5d88be963d39ddaf0971bd.zip
external_llvm-95fcebd5c490c725ee5d88be963d39ddaf0971bd.tar.gz
external_llvm-95fcebd5c490c725ee5d88be963d39ddaf0971bd.tar.bz2
Added a custom TableGen backend to support the
enhanced disassembler, and the necessary makefile rules to build the table for X86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94764 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/TableGen.cpp')
-rw-r--r--utils/TableGen/TableGen.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/utils/TableGen/TableGen.cpp b/utils/TableGen/TableGen.cpp
index 7c8d288..f20ec00 100644
--- a/utils/TableGen/TableGen.cpp
+++ b/utils/TableGen/TableGen.cpp
@@ -22,6 +22,7 @@
#include "CodeEmitterGen.h"
#include "DAGISelEmitter.h"
#include "DisassemblerEmitter.h"
+#include "EDEmitter.h"
#include "FastISelEmitter.h"
#include "InstrEnumEmitter.h"
#include "InstrInfoEmitter.h"
@@ -58,6 +59,7 @@ enum ActionType {
GenIntrinsic,
GenTgtIntrinsic,
GenLLVMCConf,
+ GenEDHeader, GenEDInfo,
PrintEnums
};
@@ -106,6 +108,10 @@ namespace {
"Generate Clang diagnostic groups"),
clEnumValN(GenLLVMCConf, "gen-llvmc",
"Generate LLVMC configuration library"),
+ clEnumValN(GenEDHeader, "gen-enhanced-disassembly-header",
+ "Generate enhanced disassembly info header"),
+ clEnumValN(GenEDInfo, "gen-enhanced-disassembly-info",
+ "Generate enhanced disassembly info"),
clEnumValN(PrintEnums, "print-enums",
"Print enum values for a class"),
clEnumValEnd));
@@ -259,6 +265,12 @@ int main(int argc, char **argv) {
case GenLLVMCConf:
LLVMCConfigurationEmitter(Records).run(*Out);
break;
+ case GenEDHeader:
+ EDEmitter(Records).runHeader(*Out);
+ break;
+ case GenEDInfo:
+ EDEmitter(Records).run(*Out);
+ break;
case PrintEnums:
{
std::vector<Record*> Recs = Records.getAllDerivedDefinitions(Class);