Remove mode specific disassembler classes and just call X86GenericDisassembler constructor with appropriate argument in the creation functions. This removes a few tables that needed to be anchored.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147046 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/Disassembler/X86Disassembler.cpp b/lib/Target/X86/Disassembler/X86Disassembler.cpp
index 5b7316e..eda5206 100644
--- a/lib/Target/X86/Disassembler/X86Disassembler.cpp
+++ b/lib/Target/X86/Disassembler/X86Disassembler.cpp
@@ -79,12 +79,6 @@
   return instInfoX86;
 }
 
-void X86_16Disassembler::anchor() { }
-
-void X86_32Disassembler::anchor() { }
-
-void X86_64Disassembler::anchor() { }
-
 /// regionReader - a callback function that wraps the readByte method from
 ///   MemoryObject.
 ///
@@ -597,11 +591,11 @@
 }
 
 static MCDisassembler *createX86_32Disassembler(const Target &T, const MCSubtargetInfo &STI) {
-  return new X86Disassembler::X86_32Disassembler(STI);
+  return new X86Disassembler::X86GenericDisassembler(STI, MODE_32BIT);
 }
 
 static MCDisassembler *createX86_64Disassembler(const Target &T, const MCSubtargetInfo &STI) {
-  return new X86Disassembler::X86_64Disassembler(STI);
+  return new X86Disassembler::X86GenericDisassembler(STI, MODE_64BIT);
 }
 
 extern "C" void LLVMInitializeX86Disassembler() {