Finish the instruction info emitter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7543 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2003-08-03 21:57:51 +00:00
parent 8d44ba8c5c
commit a3ae6143c1
4 changed files with 260 additions and 18 deletions

View File

@@ -10,6 +10,9 @@
#include <iosfwd>
class RecordKeeper;
class Record;
class StringInit;
class IntInit;
class InstrInfoEmitter {
RecordKeeper &Records;
@@ -17,10 +20,14 @@ public:
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