Finish the instruction info emitter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7543 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/InstrInfoEmitter.h b/utils/TableGen/InstrInfoEmitter.h
index bf7e675..0415f04 100644
--- a/utils/TableGen/InstrInfoEmitter.h
+++ b/utils/TableGen/InstrInfoEmitter.h
@@ -10,6 +10,9 @@
#include <iosfwd>
class RecordKeeper;
+class Record;
+class StringInit;
+class IntInit;
class InstrInfoEmitter {
RecordKeeper &Records;
@@ -17,10 +20,14 @@
InstrInfoEmitter(RecordKeeper &R) : Records(R) {}
// run - Output the instruction set description, returning true on failure.
- void run(std::ostream &o);
+ void run(std::ostream &OS);
// runEnums - Print out enum values for all of the instructions.
- void runEnums(std::ostream &o);
+ void runEnums(std::ostream &OS);
+private:
+ void emitRecord(Record *R, unsigned Num, Record *InstrInfo, std::ostream &OS);
+ void emitShiftedValue(Record *R, StringInit *Val, IntInit *Shift,
+ std::ostream &OS);
};
#endif