summaryrefslogtreecommitdiff
path: root/utils/TableGen/TableGen.cpp
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2008-03-23 08:57:20 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2008-03-23 08:57:20 +0000
commitac67b7ea8fcd530995d7aefd2ad0f04543789855 (patch)
treeed9601b834e843e454707c7b07595ce91e27acbd /utils/TableGen/TableGen.cpp
parentd59c517a8309faac030d98b37459ca18a204da5a (diff)
downloadllvm-ac67b7ea8fcd530995d7aefd2ad0f04543789855.tar.gz
llvm-ac67b7ea8fcd530995d7aefd2ad0f04543789855.tar.bz2
llvm-ac67b7ea8fcd530995d7aefd2ad0f04543789855.tar.xz
Add first proof-of-concept universal compiler driver framework based
on ideas mentioned in PR686. Written by Mikhail Glushenkov and contributed by Codedgers, Inc. Old llvmc will be removed soon after new one will have all its properties. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48699 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/TableGen.cpp')
-rw-r--r--utils/TableGen/TableGen.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/utils/TableGen/TableGen.cpp b/utils/TableGen/TableGen.cpp
index b174ff8903..7f8987d5e6 100644
--- a/utils/TableGen/TableGen.cpp
+++ b/utils/TableGen/TableGen.cpp
@@ -31,6 +31,7 @@
#include "DAGISelEmitter.h"
#include "SubtargetEmitter.h"
#include "IntrinsicEmitter.h"
+#include "LLVMCCConfigurationEmitter.h"
#include <algorithm>
#include <cstdio>
#include <fstream>
@@ -41,11 +42,12 @@ enum ActionType {
PrintRecords,
GenEmitter,
GenRegisterEnums, GenRegister, GenRegisterHeader,
- GenInstrEnums, GenInstrs, GenAsmWriter,
+ GenInstrEnums, GenInstrs, GenAsmWriter,
GenCallingConv,
GenDAGISel,
GenSubtarget,
GenIntrinsic,
+ GenLLVMCCConf,
PrintEnums
};
@@ -76,6 +78,8 @@ namespace {
"Generate subtarget enumerations"),
clEnumValN(GenIntrinsic, "gen-intrinsic",
"Generate intrinsic information"),
+ clEnumValN(GenLLVMCCConf, "gen-llvmcc",
+ "Generate LLVMCC configuration library"),
clEnumValN(PrintEnums, "print-enums",
"Print enum values for a class"),
clEnumValEnd));
@@ -180,6 +184,9 @@ int main(int argc, char **argv) {
case GenIntrinsic:
IntrinsicEmitter(Records).run(*Out);
break;
+ case GenLLVMCCConf:
+ LLVMCCConfigurationEmitter(Records).run(*Out);
+ break;
case PrintEnums:
{
std::vector<Record*> Recs = Records.getAllDerivedDefinitions(Class);