Added LLVM copyright header.
[oota-llvm.git] / utils / TableGen / CodeEmitterGen.h
1 //===- CodeEmitterGen.h - Code Emitter Generator ----------------*- C++ -*-===//
2 // 
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
7 // 
8 //===----------------------------------------------------------------------===//
9 //
10 // FIXME: document
11 //
12 //===----------------------------------------------------------------------===//
13
14 #ifndef CODEMITTERGEN_H
15 #define CODEMITTERGEN_H
16
17 #include "TableGenBackend.h"
18
19 class CodeEmitterGen : public TableGenBackend {
20   RecordKeeper &Records;
21 public:
22   CodeEmitterGen(RecordKeeper &R) : Records(R) {}
23   
24   // run - Output the code emitter
25   void run(std::ostream &o);
26 private:
27   void emitMachineOpEmitter(std::ostream &o, const std::string &Namespace);
28   void emitGetValueBit(std::ostream &o, const std::string &Namespace);
29 };
30
31 #endif