* Factor out (into new fn) a loop emitting operand shifts into the instruction
* Reverse instruction bit components for a LittleEndian-style encoding
* Fix some comments and spacing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16975 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/CodeEmitterGen.h b/utils/TableGen/CodeEmitterGen.h
index 19ca545..5bb220d 100644
--- a/utils/TableGen/CodeEmitterGen.h
+++ b/utils/TableGen/CodeEmitterGen.h
@@ -15,9 +15,13 @@
#define CODEMITTERGEN_H
#include "TableGenBackend.h"
+#include <map>
+#include <vector>
namespace llvm {
+class RecordVal;
+
class CodeEmitterGen : public TableGenBackend {
RecordKeeper &Records;
public:
@@ -28,6 +32,10 @@
private:
void emitMachineOpEmitter(std::ostream &o, const std::string &Namespace);
void emitGetValueBit(std::ostream &o, const std::string &Namespace);
+ void emitInstrOpBits(std::ostream &o,
+ const std::vector<RecordVal> &Vals,
+ std::map<std::string, unsigned> &OpOrder,
+ std::map<std::string, bool> &OpContinuous);
};
} // End llvm namespace