blob: 7b3d2017a9819df5da0ce779e8178a5cdb3c5e42 [file] [log] [blame]
Misha Brukman9fff7e12003-05-24 00:15:53 +00001//===- CodeEmitterGen.h - Code Emitter Generator ----------------*- C++ -*-===//
2//
Chris Lattneraaa39392003-07-31 04:32:37 +00003// FIXME: document
Misha Brukman9fff7e12003-05-24 00:15:53 +00004//
5//===----------------------------------------------------------------------===//
6
7#ifndef CODEMITTERGEN_H
8#define CODEMITTERGEN_H
9
10#include "Record.h"
Misha Brukman9fff7e12003-05-24 00:15:53 +000011
Chris Lattneraaa39392003-07-31 04:32:37 +000012class CodeEmitterGen {
Misha Brukman9fff7e12003-05-24 00:15:53 +000013 RecordKeeper &Records;
Misha Brukman9fff7e12003-05-24 00:15:53 +000014public:
15 CodeEmitterGen(RecordKeeper &R) : Records(R) {}
16
Chris Lattner30709542003-07-29 23:00:08 +000017 int createEmitter(std::ostream &o);
Chris Lattneraaa39392003-07-31 04:32:37 +000018private:
Misha Brukman9fff7e12003-05-24 00:15:53 +000019 void emitMachineOpEmitter(std::ostream &o, const std::string &Namespace);
20 void emitGetValueBit(std::ostream &o, const std::string &Namespace);
21};
22
23#endif