LLVM 20.0.0git
|
#include "MCTargetDesc/MSP430MCTargetDesc.h"
#include "MSP430.h"
#include "TargetInfo/MSP430TargetInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDecoderOps.h"
#include "llvm/MC/MCDisassembler/MCDisassembler.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/Endian.h"
#include "MSP430GenDisassemblerTables.inc"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "msp430-disassembler" |
Typedefs | |
typedef MCDisassembler::DecodeStatus | DecodeStatus |
Enumerations | |
enum | AddrMode { amInvalid = 0 , amRegister , amIndexed , amIndirect , amIndirectPost , amSymbolic , amImmediate , amAbsolute , amConstant } |
Functions | |
static MCDisassembler * | createMSP430Disassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx) |
LLVM_EXTERNAL_VISIBILITY void | LLVMInitializeMSP430Disassembler () |
static DecodeStatus | DecodeGR8RegisterClass (MCInst &MI, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
static DecodeStatus | DecodeGR16RegisterClass (MCInst &MI, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
static DecodeStatus | DecodeCGImm (MCInst &MI, uint64_t Bits, uint64_t Address, const MCDisassembler *Decoder) |
static DecodeStatus | DecodeMemOperand (MCInst &MI, uint64_t Bits, uint64_t Address, const MCDisassembler *Decoder) |
static AddrMode | DecodeSrcAddrMode (unsigned Rs, unsigned As) |
static AddrMode | DecodeSrcAddrModeI (unsigned Insn) |
static AddrMode | DecodeSrcAddrModeII (unsigned Insn) |
static AddrMode | DecodeDstAddrMode (unsigned Insn) |
static const uint8_t * | getDecoderTable (AddrMode SrcAM, unsigned Words) |
static MSP430CC::CondCodes | getCondCode (unsigned Cond) |
Variables | |
static const unsigned | GR8DecoderTable [] |
static const unsigned | GR16DecoderTable [] |
#define DEBUG_TYPE "msp430-disassembler" |
Definition at line 27 of file MSP430Disassembler.cpp.
Definition at line 29 of file MSP430Disassembler.cpp.
enum AddrMode |
Enumerator | |
---|---|
amInvalid | |
amRegister | |
amIndexed | |
amIndirect | |
amIndirectPost | |
amSymbolic | |
amImmediate | |
amAbsolute | |
amConstant |
Definition at line 142 of file MSP430Disassembler.cpp.
|
static |
Definition at line 55 of file MSP430Disassembler.cpp.
Referenced by LLVMInitializeMSP430Disassembler().
|
static |
Definition at line 111 of file MSP430Disassembler.cpp.
References llvm::MCOperand::createImm(), llvm_unreachable, MI, and llvm::MCDisassembler::Success.
Definition at line 193 of file MSP430Disassembler.cpp.
References amAbsolute, amIndexed, amRegister, amSymbolic, and Insn.
|
static |
Definition at line 91 of file MSP430Disassembler.cpp.
References llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, GR16DecoderTable, MI, and llvm::MCDisassembler::Success.
Referenced by DecodeMemOperand().
|
static |
Definition at line 73 of file MSP430Disassembler.cpp.
References llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, GR8DecoderTable, MI, and llvm::MCDisassembler::Success.
|
static |
Definition at line 128 of file MSP430Disassembler.cpp.
References llvm::MCOperand::createImm(), DecodeGR16RegisterClass(), llvm::MCDisassembler::Fail, MI, and llvm::MCDisassembler::Success.
Definition at line 154 of file MSP430Disassembler.cpp.
References amAbsolute, amConstant, amImmediate, amIndexed, amIndirect, amIndirectPost, amInvalid, amRegister, amSymbolic, and llvm_unreachable.
Referenced by DecodeSrcAddrModeI(), and DecodeSrcAddrModeII().
Definition at line 181 of file MSP430Disassembler.cpp.
References DecodeSrcAddrMode(), and Insn.
Definition at line 187 of file MSP430Disassembler.cpp.
References DecodeSrcAddrMode(), and Insn.
|
static |
Definition at line 324 of file MSP430Disassembler.cpp.
References Cond, MSP430CC::COND_E, MSP430CC::COND_GE, MSP430CC::COND_HS, MSP430CC::COND_L, MSP430CC::COND_LO, MSP430CC::COND_N, MSP430CC::COND_NE, MSP430CC::COND_NONE, and llvm_unreachable.
Definition at line 205 of file MSP430Disassembler.cpp.
References amAbsolute, amConstant, amImmediate, amIndexed, amIndirect, amIndirectPost, amRegister, amSymbolic, assert(), and llvm_unreachable.
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeMSP430Disassembler | ( | ) |
Definition at line 61 of file MSP430Disassembler.cpp.
References createMSP430Disassembler(), llvm::getTheMSP430Target(), and llvm::TargetRegistry::RegisterMCDisassembler().
Definition at line 84 of file MSP430Disassembler.cpp.
Referenced by DecodeGR16RegisterClass().
Definition at line 66 of file MSP430Disassembler.cpp.
Referenced by DecodeGR8RegisterClass().