blob: d7b4bc1adff88875c45440139c54c201e470212d [file] [log] [blame]
Chris Lattnerf5bd1b72003-10-05 19:27:59 +00001//===- CodeEmitterGen.h - Code Emitter Generator ----------------*- C++ -*-===//
John Criswelld3032032003-10-20 20:20:30 +00002//
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//===----------------------------------------------------------------------===//
Chris Lattnerf5bd1b72003-10-05 19:27:59 +00009//
10// FIXME: document
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef CODEMITTERGEN_H
15#define CODEMITTERGEN_H
16
17#include "TableGenBackend.h"
18
19class CodeEmitterGen : public TableGenBackend {
20 RecordKeeper &Records;
21public:
22 CodeEmitterGen(RecordKeeper &R) : Records(R) {}
23
24 // run - Output the code emitter
25 void run(std::ostream &o);
26private:
27 void emitMachineOpEmitter(std::ostream &o, const std::string &Namespace);
28 void emitGetValueBit(std::ostream &o, const std::string &Namespace);
29};
30
31#endif