Add indirect br support to llvm-c and ocaml.
[oota-llvm.git] / utils / TableGen / EDEmitter.h
1 //===- EDEmitter.h - Generate instruction descriptions for ED ---*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This tablegen backend is responsible for emitting a description of each
11 // instruction in a format that the semantic disassembler can use to tokenize
12 // and parse instructions.
13 //
14 //===----------------------------------------------------------------------===//
15
16 #ifndef SEMANTIC_INFO_EMITTER_H
17 #define SEMANTIC_INFO_EMITTER_H
18
19 #include "TableGenBackend.h"
20
21 namespace llvm {
22   
23   class EDEmitter : public TableGenBackend {
24     RecordKeeper &Records;
25   public:
26     EDEmitter(RecordKeeper &R);
27     
28     // run - Output the instruction table.
29     void run(raw_ostream &o);
30     
31     // runHeader - Emit a header file that allows use of the instruction table.
32     void runHeader(raw_ostream &o);
33   };
34   
35 } // End llvm namespace
36
37 #endif