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
This commit is contained in:
Sean Callanan
2010-01-29 00:21:04 +00:00
parent 1897ed3d37
commit 95fcebd5c4
5 changed files with 911 additions and 0 deletions
+12
View File
@@ -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);