2a5d70a0fd75a6f31b9e0b0f913128306eb847f7
[oota-llvm.git] / utils / TableGen / RegisterInfoEmitter.h
1 //===- RegisterInfoEmitter.h - Generate a Register File Desc. ---*- C++ -*-===//
2 //
3 // This tablegen backend is responsible for emitting a description of a target
4 // register file for a code generator.  It uses instances of the Register,
5 // RegisterAliases, and RegisterClass classes to gather this information.
6 //
7 //===----------------------------------------------------------------------===//
8
9 #ifndef REGISTER_INFO_EMITTER_H
10 #define REGISTER_INFO_EMITTER_H
11
12 #include <iosfwd>
13 class RecordKeeper;
14
15 class RegisterInfoEmitter {
16   RecordKeeper &Records;
17 public:
18   RegisterInfoEmitter(RecordKeeper &R) : Records(R) {}
19   
20   // run - Output the register file description, returning true on failure.
21   void run(std::ostream &o);
22
23   // runHeader - Emit a header fragment for the register info emitter.
24   void runHeader(std::ostream &o);
25 private:
26 };
27
28 #endif