summaryrefslogtreecommitdiff
path: root/utils/TableGen/InstrInfoEmitter.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2011-06-28 20:29:03 +0000
committerEvan Cheng <evan.cheng@apple.com>2011-06-28 20:29:03 +0000
commit94b01f688256fca49decb239a8c84b003f18cdbc (patch)
tree77e3675d992ddfdecbbbceceaf1464a7c538afb5 /utils/TableGen/InstrInfoEmitter.cpp
parent22fee2dff4c43b551aefa44a96ca74fcade6bfac (diff)
downloadllvm-94b01f688256fca49decb239a8c84b003f18cdbc.tar.gz
llvm-94b01f688256fca49decb239a8c84b003f18cdbc.tar.bz2
llvm-94b01f688256fca49decb239a8c84b003f18cdbc.tar.xz
Add MCInstrInfo registeration machinery.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134026 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/InstrInfoEmitter.cpp')
-rw-r--r--utils/TableGen/InstrInfoEmitter.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/utils/TableGen/InstrInfoEmitter.cpp b/utils/TableGen/InstrInfoEmitter.cpp
index 2f21ea6e39..7b90663716 100644
--- a/utils/TableGen/InstrInfoEmitter.cpp
+++ b/utils/TableGen/InstrInfoEmitter.cpp
@@ -206,7 +206,15 @@ void InstrInfoEmitter::run(raw_ostream &OS) {
for (unsigned i = 0, e = NumberedInstructions.size(); i != e; ++i)
emitRecord(*NumberedInstructions[i], i, InstrInfo, EmittedLists,
OperandInfoIDs, OS);
- OS << "};\n";
+ OS << "};\n\n";
+
+
+ // MCInstrInfo initialization routine.
+ OS << "static inline void Init" << TargetName
+ << "MCInstrInfo(MCInstrInfo *II) {\n";
+ OS << " II->InitMCInstrInfo(" << TargetName << "Insts, "
+ << NumberedInstructions.size() << ");\n}\n\n";
+
OS << "} // End llvm namespace \n";
OS << "#endif // GET_INSTRINFO_MC_DESC\n\n";