4b87da5067ee5683d30ab36f8fa62267570b5881
[oota-llvm.git] / utils / TableGen / CodeEmitterGen.h
1 //===- CodeEmitterGen.h - Code Emitter Generator ----------------*- C++ -*-===//
2 //
3 // FIXME: document
4 //
5 //===----------------------------------------------------------------------===//
6
7 #ifndef CODEMITTERGEN_H
8 #define CODEMITTERGEN_H
9
10 #include "TableGenBackend.h"
11
12 class CodeEmitterGen : public TableGenBackend {
13   RecordKeeper &Records;
14 public:
15   CodeEmitterGen(RecordKeeper &R) : Records(R) {}
16   
17   // run - Output the code emitter
18   void run(std::ostream &o);
19 private:
20   void emitMachineOpEmitter(std::ostream &o, const std::string &Namespace);
21   void emitGetValueBit(std::ostream &o, const std::string &Namespace);
22 };
23
24 #endif