Added a custom TableGen backend to support the
enhanced disassembler, and the necessary makefile
rules to build the table for X86.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94764 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/EDEmitter.h b/utils/TableGen/EDEmitter.h
new file mode 100644
index 0000000..9e40a8b
--- /dev/null
+++ b/utils/TableGen/EDEmitter.h
@@ -0,0 +1,37 @@
+//===- EDEmitter.h - Generate instruction descriptions for ED ---*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This tablegen backend is responsible for emitting a description of each
+// instruction in a format that the semantic disassembler can use to tokenize
+// and parse instructions.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SEMANTIC_INFO_EMITTER_H
+#define SEMANTIC_INFO_EMITTER_H
+
+#include "TableGenBackend.h"
+
+namespace llvm {
+  
+  class EDEmitter : public TableGenBackend {
+    RecordKeeper &Records;
+  public:
+    EDEmitter(RecordKeeper &R);
+    
+    // run - Output the instruction table.
+    void run(raw_ostream &o);
+    
+    // runHeader - Emit a header file that allows use of the instruction table.
+    void runHeader(raw_ostream &o);
+  };
+  
+} // End llvm namespace
+
+#endif