Initial checkin of Instruction emitter, which just produces enum values so far
[oota-llvm.git] / support / tools / TableGen / InstrInfoEmitter.h
1 //===- InstrInfoEmitter.h - Generate a Instruction Set Desc. ----*- C++ -*-===//
2 //
3 // This tablegen backend is responsible for emitting a description of the target
4 // instruction set for the code generator.
5 //
6 //===----------------------------------------------------------------------===//
7
8 #ifndef INSTRINFO_EMITTER_H
9 #define INSTRINFO_EMITTER_H
10
11 #include <iosfwd>
12 class RecordKeeper;
13
14 class InstrInfoEmitter {
15   RecordKeeper &Records;
16 public:
17   InstrInfoEmitter(RecordKeeper &R) : Records(R) {}
18   
19   // run - Output the instruction set description, returning true on failure.
20   void run(std::ostream &o);
21
22   // runEnums - Print out enum values for all of the instructions.
23   void runEnums(std::ostream &o);
24 };
25
26 #endif