If a node has more than 64 outgoing edges, make the edges go from the 'truncated...
[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 namespace llvm {
20
21 class CodeEmitterGen : public TableGenBackend {
22   RecordKeeper &Records;
23 public:
24   CodeEmitterGen(RecordKeeper &R) : Records(R) {}
25   
26   // run - Output the code emitter
27   void run(std::ostream &o);
28 private:
29   void emitMachineOpEmitter(std::ostream &o, const std::string &Namespace);
30   void emitGetValueBit(std::ostream &o, const std::string &Namespace);
31 };
32
33 } // End llvm namespace
34
35 #endif