summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2011-12-21 08:06:52 +0000
committerCraig Topper <craig.topper@gmail.com>2011-12-21 08:06:52 +0000
commitb8b1b4c1de4e99050fc17fa070300ff67886c67a (patch)
treeef6b6de80553b36f1156bc304d0f17257d0c4c9a /llvm/lib/Target
parentf30188418bd33a6fb1f6c8e09da666a5bb6347e8 (diff)
downloadbcm5719-llvm-b8b1b4c1de4e99050fc17fa070300ff67886c67a.tar.gz
bcm5719-llvm-b8b1b4c1de4e99050fc17fa070300ff67886c67a.zip
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.
llvm-svn: 147046
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.h2
-rw-r--r--llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp10
-rw-r--r--llvm/lib/Target/X86/Disassembler/X86Disassembler.h38
3 files changed, 7 insertions, 43 deletions
diff --git a/llvm/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.h b/llvm/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.h
index 0ac0d89efbe..16943826fca 100644
--- a/llvm/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.h
+++ b/llvm/lib/Target/MBlaze/Disassembler/MBlazeDisassembler.h
@@ -17,8 +17,6 @@
#include "llvm/MC/MCDisassembler.h"
-struct InternalInstruction;
-
namespace llvm {
class MCInst;
diff --git a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
index 5b7316e73d0..eda5206a32f 100644
--- a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
+++ b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
@@ -79,12 +79,6 @@ EDInstInfo *X86GenericDisassembler::getEDInfo() const {
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 bool translateInstruction(MCInst &mcInst,
}
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() {
diff --git a/llvm/lib/Target/X86/Disassembler/X86Disassembler.h b/llvm/lib/Target/X86/Disassembler/X86Disassembler.h
index fb24e7e77ee..38c70846720 100644
--- a/llvm/lib/Target/X86/Disassembler/X86Disassembler.h
+++ b/llvm/lib/Target/X86/Disassembler/X86Disassembler.h
@@ -87,8 +87,6 @@
#include "llvm/MC/MCDisassembler.h"
-struct InternalInstruction;
-
namespace llvm {
class MCInst;
@@ -104,13 +102,14 @@ namespace X86Disassembler {
/// All each platform class should have to do is subclass the constructor, and
/// provide a different disassemblerMode value.
class X86GenericDisassembler : public MCDisassembler {
-protected:
+public:
/// Constructor - Initializes the disassembler.
///
/// @param mode - The X86 architecture mode to decode for.
X86GenericDisassembler(const MCSubtargetInfo &STI, DisassemblerMode mode);
-public:
+private:
~X86GenericDisassembler();
+public:
/// getInstruction - See MCDisassembler.
DecodeStatus getInstruction(MCInst &instr,
@@ -126,35 +125,8 @@ private:
DisassemblerMode fMode;
};
-/// X86_16Disassembler - 16-bit X86 disassembler.
-class X86_16Disassembler : public X86GenericDisassembler {
- virtual void anchor();
-public:
- X86_16Disassembler(const MCSubtargetInfo &STI) :
- X86GenericDisassembler(STI, MODE_16BIT) {
- }
-};
-
-/// X86_32Disassembler - 32-bit X86 disassembler.
-class X86_32Disassembler : public X86GenericDisassembler {
- virtual void anchor();
-public:
- X86_32Disassembler(const MCSubtargetInfo &STI) :
- X86GenericDisassembler(STI, MODE_32BIT) {
- }
-};
-
-/// X86_64Disassembler - 64-bit X86 disassembler.
-class X86_64Disassembler : public X86GenericDisassembler {
- virtual void anchor();
-public:
- X86_64Disassembler(const MCSubtargetInfo &STI) :
- X86GenericDisassembler(STI, MODE_64BIT) {
- }
-};
-
} // namespace X86Disassembler
-
+
} // namespace llvm
-
+
#endif
OpenPOWER on IntegriCloud