mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-10 04:33:40 +00:00
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
This commit is contained in:
parent
e1a18a66df
commit
224c1b275d
@ -17,8 +17,6 @@
|
|||||||
|
|
||||||
#include "llvm/MC/MCDisassembler.h"
|
#include "llvm/MC/MCDisassembler.h"
|
||||||
|
|
||||||
struct InternalInstruction;
|
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
|
||||||
class MCInst;
|
class MCInst;
|
||||||
|
@ -79,12 +79,6 @@ EDInstInfo *X86GenericDisassembler::getEDInfo() const {
|
|||||||
return instInfoX86;
|
return instInfoX86;
|
||||||
}
|
}
|
||||||
|
|
||||||
void X86_16Disassembler::anchor() { }
|
|
||||||
|
|
||||||
void X86_32Disassembler::anchor() { }
|
|
||||||
|
|
||||||
void X86_64Disassembler::anchor() { }
|
|
||||||
|
|
||||||
/// regionReader - a callback function that wraps the readByte method from
|
/// regionReader - a callback function that wraps the readByte method from
|
||||||
/// MemoryObject.
|
/// MemoryObject.
|
||||||
///
|
///
|
||||||
@ -597,11 +591,11 @@ static bool translateInstruction(MCInst &mcInst,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static MCDisassembler *createX86_32Disassembler(const Target &T, const MCSubtargetInfo &STI) {
|
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) {
|
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() {
|
extern "C" void LLVMInitializeX86Disassembler() {
|
||||||
|
@ -87,8 +87,6 @@
|
|||||||
|
|
||||||
#include "llvm/MC/MCDisassembler.h"
|
#include "llvm/MC/MCDisassembler.h"
|
||||||
|
|
||||||
struct InternalInstruction;
|
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
|
||||||
class MCInst;
|
class MCInst;
|
||||||
@ -104,13 +102,14 @@ namespace X86Disassembler {
|
|||||||
/// All each platform class should have to do is subclass the constructor, and
|
/// All each platform class should have to do is subclass the constructor, and
|
||||||
/// provide a different disassemblerMode value.
|
/// provide a different disassemblerMode value.
|
||||||
class X86GenericDisassembler : public MCDisassembler {
|
class X86GenericDisassembler : public MCDisassembler {
|
||||||
protected:
|
public:
|
||||||
/// Constructor - Initializes the disassembler.
|
/// Constructor - Initializes the disassembler.
|
||||||
///
|
///
|
||||||
/// @param mode - The X86 architecture mode to decode for.
|
/// @param mode - The X86 architecture mode to decode for.
|
||||||
X86GenericDisassembler(const MCSubtargetInfo &STI, DisassemblerMode mode);
|
X86GenericDisassembler(const MCSubtargetInfo &STI, DisassemblerMode mode);
|
||||||
public:
|
private:
|
||||||
~X86GenericDisassembler();
|
~X86GenericDisassembler();
|
||||||
|
public:
|
||||||
|
|
||||||
/// getInstruction - See MCDisassembler.
|
/// getInstruction - See MCDisassembler.
|
||||||
DecodeStatus getInstruction(MCInst &instr,
|
DecodeStatus getInstruction(MCInst &instr,
|
||||||
@ -126,35 +125,8 @@ private:
|
|||||||
DisassemblerMode fMode;
|
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 X86Disassembler
|
||||||
|
|
||||||
} // namespace llvm
|
} // namespace llvm
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user