summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit82436d16668656017e073a33a4d07a776c074abe (patch)
treea77995bf68580d83c1a08b786614d375bdf78354 /llvm/utils/TableGen/TableGen.cpp
parent006b53f19941592faf8abfbe2300a8d4532c10a0 (diff)
downloadbcm5719-llvm-82436d16668656017e073a33a4d07a776c074abe.tar.gz
bcm5719-llvm-82436d16668656017e073a33a4d07a776c074abe.zip
Added a custom TableGen backend to support the
enhanced disassembler, and the necessary makefile rules to build the table for X86. llvm-svn: 94764
Diffstat (limited to 'llvm/utils/TableGen/TableGen.cpp')
-rw-r--r--llvm/utils/TableGen/TableGen.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/TableGen.cpp b/llvm/utils/TableGen/TableGen.cpp
index 7c8d288db93..f20ec00aa0e 100644
--- a/llvm/utils/TableGen/TableGen.cpp
+++ b/llvm/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);
OpenPOWER on IntegriCloud