LLVM: lib/Target/ARC/Disassembler/ARCDisassembler.cpp File Reference (original) (raw)

This file is part of the ARC Disassembler. More...

Go to the source code of this file.

Macros
#define DEBUG_TYPE "arc-disassembler"
Functions
static bool readInstruction32 (ArrayRef< uint8_t > Bytes, uint64_t Address, uint64_t &Size, uint32_t &Insn)
static bool readInstruction64 (ArrayRef< uint8_t > Bytes, uint64_t Address, uint64_t &Size, uint64_t &Insn)
static bool readInstruction48 (ArrayRef< uint8_t > Bytes, uint64_t Address, uint64_t &Size, uint64_t &Insn)
static bool readInstruction16 (ArrayRef< uint8_t > Bytes, uint64_t Address, uint64_t &Size, uint32_t &Insn)
template<unsigned B>
static DecodeStatus DecodeSignedOperand (MCInst &Inst, unsigned InsnS, uint64_t Address=0, const MCDisassembler *Decoder=nullptr)
template<unsigned B>
static DecodeStatus DecodeFromCyclicRange (MCInst &Inst, unsigned InsnS, uint64_t Address=0, const MCDisassembler *Decoder=nullptr)
template<unsigned B>
static DecodeStatus DecodeBranchTargetS (MCInst &Inst, unsigned InsnS, uint64_t Address, const MCDisassembler *Decoder)
static DecodeStatus DecodeMEMrs9 (MCInst &, unsigned, uint64_t, const MCDisassembler *)
static DecodeStatus DecodeLdLImmInstruction (MCInst &, uint64_t, uint64_t, const MCDisassembler *)
static DecodeStatus DecodeStLImmInstruction (MCInst &, uint64_t, uint64_t, const MCDisassembler *)
static DecodeStatus DecodeLdRLImmInstruction (MCInst &, uint64_t, uint64_t, const MCDisassembler *)
static DecodeStatus DecodeSOPwithRS12 (MCInst &, uint64_t, uint64_t, const MCDisassembler *)
static DecodeStatus DecodeSOPwithRU6 (MCInst &, uint64_t, uint64_t, const MCDisassembler *)
static DecodeStatus DecodeCCRU6Instruction (MCInst &, uint64_t, uint64_t, const MCDisassembler *)
static DecodeStatus DecodeMoveHRegInstruction (MCInst &Inst, uint64_t, uint64_t, const MCDisassembler *)
static DecodeStatus DecodeGPR32RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
static DecodeStatus DecodeGBR32ShortRegister (MCInst &Inst, unsigned RegNo, uint64_t Address, const MCDisassembler *Decoder)
static unsigned decodeCField (unsigned Insn)
static unsigned decodeBField (unsigned Insn)
static unsigned decodeAField (unsigned Insn)
static bool DecodeSymbolicOperand (MCInst &Inst, uint64_t Address, uint64_t Value, const MCDisassembler *Decoder)
static void DecodeSymbolicOperandOff (MCInst &Inst, uint64_t Address, uint64_t Offset, const MCDisassembler *Decoder)
static MCDisassembler * createARCDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx)
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeARCDisassembler ()

This file is part of the ARC Disassembler.

Definition in file ARCDisassembler.cpp.

DEBUG_TYPE

#define DEBUG_TYPE "arc-disassembler"

createARCDisassembler()

decodeAField()

decodeBField()

DecodeBranchTargetS()

DecodeCCRU6Instruction()

decodeCField()

DecodeFromCyclicRange()

DecodeGBR32ShortRegister()

DecodeGPR32RegisterClass()

Definition at line 133 of file ARCDisassembler.cpp.

References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::dbgs(), llvm::MCDisassembler::Fail, GPR32DecoderTable, LLVM_DEBUG, Reg, and llvm::MCDisassembler::Success.

Referenced by DecodeCCRU6Instruction(), DecodeGBR32ShortRegister(), DecodeLdLImmInstruction(), DecodeLdRLImmInstruction(), DecodeMEMrs9(), DecodeMoveHRegInstruction(), DecodeSOPwithRS12(), DecodeSOPwithRU6(), and DecodeStLImmInstruction().

DecodeLdLImmInstruction()

DecodeLdRLImmInstruction()

DecodeMEMrs9()

DecodeMoveHRegInstruction()

DecodeSignedOperand()

DecodeSOPwithRS12()

DecodeSOPwithRU6()

DecodeStLImmInstruction()

DecodeSymbolicOperand()

DecodeSymbolicOperandOff()

LLVMInitializeARCDisassembler()

readInstruction16()

readInstruction32()

readInstruction48()

readInstruction64()

GPR32DecoderTable

Initial value:

= {

ARC::R0, ARC::R1, ARC::R2, ARC::R3, ARC::R4, ARC::R5, ARC::R6,

ARC::R7, ARC::R8, ARC::R9, ARC::R10, ARC::R11, ARC::R12, ARC::R13,

ARC::R14, ARC::R15, ARC::R16, ARC::R17, ARC::R18, ARC::R19, ARC::R20,

ARC::R21, ARC::R22, ARC::R23, ARC::R24, ARC::R25, ARC::GP, ARC::FP,

ARC::SP, ARC::ILINK, ARC::R30, ARC::BLINK}

Definition at line 126 of file ARCDisassembler.cpp.

Referenced by DecodeGPR32RegisterClass(), and DecodeGPR32RegisterClass().