initial implementation of intrinsic parsing

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26495 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2006-03-03 02:32:46 +00:00
parent 86d064d44c
commit 9e493cfcc3
4 changed files with 157 additions and 0 deletions
+7
View File
@@ -25,6 +25,7 @@
#include "AsmWriterEmitter.h"
#include "DAGISelEmitter.h"
#include "SubtargetEmitter.h"
#include "IntrinsicEmitter.h"
#include <algorithm>
#include <cstdio>
#include <fstream>
@@ -38,6 +39,7 @@ enum ActionType {
GenInstrEnums, GenInstrs, GenAsmWriter,
GenDAGISel,
GenSubtarget,
GenIntrinsic,
PrintEnums,
Parse
};
@@ -65,6 +67,8 @@ namespace {
"Generate a DAG instruction selector"),
clEnumValN(GenSubtarget, "gen-subtarget",
"Generate subtarget enumerations"),
clEnumValN(GenIntrinsic, "gen-intrinsic",
"Generate intrinsic information"),
clEnumValN(PrintEnums, "print-enums",
"Print enum values for a class"),
clEnumValN(Parse, "parse",
@@ -474,6 +478,9 @@ int main(int argc, char **argv) {
case GenSubtarget:
SubtargetEmitter(Records).run(*Out);
break;
case GenIntrinsic:
IntrinsicEmitter(Records).run(*Out);
break;
case PrintEnums:
{
std::vector<Record*> Recs = Records.getAllDerivedDefinitions(Class);