blob: f0e5eced02ee98a996b1f58152e426d3afbd6551 [file] [log] [blame]
Johnny Chend30a98e2010-03-16 16:36:54 +00001//===- RISCDisassemblerEmitter.h - Disassembler Generator -------*- 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// FIXME: document
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef RISCDISASSEMBLEREMITTER_H
15#define RISCDISASSEMBLEREMITTER_H
16
17#include "TableGenBackend.h"
18
19#include <inttypes.h>
20
21namespace llvm {
22
23class RISCDisassemblerEmitter : public TableGenBackend {
24 RecordKeeper &Records;
25public:
26 RISCDisassemblerEmitter(RecordKeeper &R) : Records(R) {
27 initBackend();
28 }
29
30 ~RISCDisassemblerEmitter() {
31 shutdownBackend();
32 }
33
34 // run - Output the code emitter
35 void run(raw_ostream &o);
36
37private:
38 class RISCDEBackend;
39
40 RISCDEBackend *Backend;
41
42 void initBackend();
43 void shutdownBackend();
44};
45
46} // end llvm namespace
47
48#endif