LLVM  4.0.0
Namespaces | Macros | Typedefs | Functions
MipsDisassembler.cpp File Reference
#include "Mips.h"
#include "MipsRegisterInfo.h"
#include "MipsSubtarget.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDisassembler/MCDisassembler.h"
#include "llvm/MC/MCFixedLenDisassembler.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/TargetRegistry.h"
#include "MipsGenDisassemblerTables.inc"
Include dependency graph for MipsDisassembler.cpp:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Macros

#define DEBUG_TYPE   "mips-disassembler"
 

Typedefs

typedef
MCDisassembler::DecodeStatus 
DecodeStatus
 

Functions

static DecodeStatus DecodeGPR64RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeCPU16RegsRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeGPRMM16RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeGPRMM16ZeroRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeGPRMM16MovePRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeGPR32RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodePtrRegisterClass (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeDSPRRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFGR64RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFGR32RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeCCRRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFCCRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFGRCCRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeHWRegsRegisterClass (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeAFGR64RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeACC64DSPRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeHI32DSPRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeLO32DSPRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMSA128BRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMSA128HRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMSA128WRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMSA128DRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMSACtrlRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeCOP0RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeCOP2RegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeBranchTarget (MCInst &Inst, unsigned Offset, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeBranchTarget1SImm16 (MCInst &Inst, unsigned Offset, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeJumpTarget (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeBranchTarget21 (MCInst &Inst, unsigned Offset, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeBranchTarget21MM (MCInst &Inst, unsigned Offset, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeBranchTarget26 (MCInst &Inst, unsigned Offset, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeBranchTarget7MM (MCInst &Inst, unsigned Offset, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeBranchTarget10MM (MCInst &Inst, unsigned Offset, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeBranchTargetMM (MCInst &Inst, unsigned Offset, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeBranchTarget26MM (MCInst &Inst, unsigned Offset, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeJumpTargetMM (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMem (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMemEVA (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeLoadByte9 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeLoadByte15 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeCacheOp (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeCacheeOp_CacheOpR6 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeCacheOpMM (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeStoreEvaOpMM (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodePrefeOpMM (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeSyncI (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeSynciR6 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMSA128Mem (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMemMMImm4 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMemMMSPImm5Lsl2 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMemMMGPImm7Lsl2 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMemMMReglistImm4Lsl2 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMemMMImm9 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMemMMImm12 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMemMMImm16 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFMem (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFMemMMR2 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFMem2 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFMem3 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFMemCop2R6 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeFMemCop2MMR6 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeSpecial3LlSc (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeAddiur2Simm7 (MCInst &Inst, unsigned Value, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeLi16Imm (MCInst &Inst, unsigned Value, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodePOOL16BEncodedField (MCInst &Inst, unsigned Value, uint64_t Address, const void *Decoder)
 
template<unsigned Bits, int Offset, int Scale>
static DecodeStatus DecodeUImmWithOffsetAndScale (MCInst &Inst, unsigned Value, uint64_t Address, const void *Decoder)
 
template<unsigned Bits, int Offset>
static DecodeStatus DecodeUImmWithOffset (MCInst &Inst, unsigned Value, uint64_t Address, const void *Decoder)
 
template<unsigned Bits, int Offset = 0, int ScaleBy = 1>
static DecodeStatus DecodeSImmWithOffsetAndScale (MCInst &Inst, unsigned Value, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeInsSize (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeSimm19Lsl2 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeSimm18Lsl3 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeSimm9SP (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeANDI16Imm (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeSimm23Lsl2 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodeINSVE_DF (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 INSVE_[BHWD] have an implicit operand that the generated decoder doesn't handle. More...
 
template<typename InsnType >
static DecodeStatus DecodeDAHIDATIMMR6 (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodeDAHIDATI (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodeAddiGroupBranch (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodePOP35GroupBranchMMR6 (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodeDaddiGroupBranch (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodePOP37GroupBranchMMR6 (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodePOP65GroupBranchMMR6 (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodePOP75GroupBranchMMR6 (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodeBlezlGroupBranch (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodeBgtzlGroupBranch (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodeBgtzGroupBranch (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodeBlezGroupBranch (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodeBgtzGroupBranchMMR6 (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
template<typename InsnType >
static DecodeStatus DecodeBlezGroupBranchMMR6 (MCInst &MI, InsnType insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeRegListOperand (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeRegListOperand16 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeMovePRegPair (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
Targetllvm::getTheMipselTarget ()
 
Targetllvm::getTheMipsTarget ()
 
Targetllvm::getTheMips64Target ()
 
Targetllvm::getTheMips64elTarget ()
 
static MCDisassemblercreateMipsDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx)
 
static MCDisassemblercreateMipselDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx)
 
void LLVMInitializeMipsDisassembler ()
 
static unsigned getReg (const void *D, unsigned RC, unsigned RegNo)
 
static DecodeStatus readInstruction16 (ArrayRef< uint8_t > Bytes, uint64_t Address, uint64_t &Size, uint32_t &Insn, bool IsBigEndian)
 Read two bytes from the ArrayRef and return 16 bit halfword sorted according to the given endianness. More...
 
static DecodeStatus readInstruction32 (ArrayRef< uint8_t > Bytes, uint64_t Address, uint64_t &Size, uint32_t &Insn, bool IsBigEndian, bool IsMicroMips)
 Read four bytes from the ArrayRef and return 32 bit word sorted according to the given endianness. More...
 

Macro Definition Documentation

#define DEBUG_TYPE   "mips-disassembler"

Definition at line 27 of file MipsDisassembler.cpp.

Typedef Documentation

Definition at line 29 of file MipsDisassembler.cpp.

Function Documentation

static MCDisassembler* createMipsDisassembler ( const Target T,
const MCSubtargetInfo STI,
MCContext Ctx 
)
static

Definition at line 536 of file MipsDisassembler.cpp.

Referenced by LLVMInitializeMipsDisassembler().

static MCDisassembler* createMipselDisassembler ( const Target T,
const MCSubtargetInfo STI,
MCContext Ctx 
)
static

Definition at line 543 of file MipsDisassembler.cpp.

Referenced by LLVMInitializeMipsDisassembler().

static DecodeStatus DecodeACC64DSPRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodeAddiGroupBranch ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeAddiur2Simm7 ( MCInst Inst,
unsigned  Value,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeAFGR64RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeANDI16Imm ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodeBgtzGroupBranch ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodeBgtzGroupBranchMMR6 ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodeBgtzlGroupBranch ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodeBlezGroupBranch ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodeBlezGroupBranchMMR6 ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodeBlezlGroupBranch ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeBranchTarget ( MCInst Inst,
unsigned  Offset,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeBranchTarget10MM ( MCInst Inst,
unsigned  Offset,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeBranchTarget1SImm16 ( MCInst Inst,
unsigned  Offset,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeBranchTarget21 ( MCInst Inst,
unsigned  Offset,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeBranchTarget21MM ( MCInst Inst,
unsigned  Offset,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeBranchTarget26 ( MCInst Inst,
unsigned  Offset,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeBranchTarget26MM ( MCInst Inst,
unsigned  Offset,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeBranchTarget7MM ( MCInst Inst,
unsigned  Offset,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeBranchTargetMM ( MCInst Inst,
unsigned  Offset,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeCacheeOp_CacheOpR6 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeCacheOp ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeCacheOpMM ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeCCRRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeCOP0RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeCOP2RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeCPU16RegsRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 1266 of file MipsDisassembler.cpp.

References llvm::MCDisassembler::Fail.

template<typename InsnType >
static DecodeStatus DecodeDaddiGroupBranch ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodeDAHIDATI ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodeDAHIDATIMMR6 ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeDSPRRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 1342 of file MipsDisassembler.cpp.

References DecodeGPR32RegisterClass().

static DecodeStatus DecodeFCCRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeFGR32RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeFGR64RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeFGRCCRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeFMem ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeFMem2 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeFMem3 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeFMemCop2MMR6 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeFMemCop2R6 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeFMemMMR2 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeGPR32RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeGPR64RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeGPRMM16MovePRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeGPRMM16RegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeGPRMM16ZeroRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeHI32DSPRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeHWRegsRegisterClass ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeInsSize ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodeINSVE_DF ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeJumpTarget ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeJumpTargetMM ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeLi16Imm ( MCInst Inst,
unsigned  Value,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeLO32DSPRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeLoadByte15 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeLoadByte9 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMem ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMemEVA ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMemMMGPImm7Lsl2 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMemMMImm12 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMemMMImm16 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMemMMImm4 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMemMMImm9 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMemMMReglistImm4Lsl2 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMemMMSPImm5Lsl2 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMovePRegPair ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMSA128BRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMSA128DRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMSA128HRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMSA128Mem ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMSA128WRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeMSACtrlRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodePOOL16BEncodedField ( MCInst Inst,
unsigned  Value,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodePOP35GroupBranchMMR6 ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodePOP37GroupBranchMMR6 ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodePOP65GroupBranchMMR6 ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<typename InsnType >
static DecodeStatus DecodePOP75GroupBranchMMR6 ( MCInst MI,
InsnType  insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodePrefeOpMM ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodePtrRegisterClass ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeRegListOperand ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeRegListOperand16 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeSimm18Lsl3 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeSimm19Lsl2 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeSimm23Lsl2 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeSimm9SP ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<unsigned Bits, int Offset = 0, int ScaleBy = 1>
static DecodeStatus DecodeSImmWithOffsetAndScale ( MCInst Inst,
unsigned  Value,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeSpecial3LlSc ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeStoreEvaOpMM ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeSyncI ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeSynciR6 ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
template<unsigned Bits, int Offset>
static DecodeStatus DecodeUImmWithOffset ( MCInst Inst,
unsigned  Value,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 403 of file MipsDisassembler.cpp.

References llvm::dwarf::syntax::Address.

template<unsigned Bits, int Offset, int Scale>
static DecodeStatus DecodeUImmWithOffsetAndScale ( MCInst Inst,
unsigned  Value,
uint64_t  Address,
const void *  Decoder 
)
static
static unsigned getReg ( const void *  D,
unsigned  RC,
unsigned  RegNo 
)
static

Definition at line 564 of file MipsDisassembler.cpp.

References llvm::MCRegisterClass::begin(), D, and llvm::MCRegisterInfo::getRegClass().

Referenced by AddNodeIDCustom(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::PPCInstrInfo::canInsertSelect(), CheckForPhysRegDependency(), llvm::ScheduleDAGSDNodes::computeOperandLatency(), llvm::SelectionDAGBuilder::CopyValueToVirtualRegister(), DecodeACC64DSPRegisterClass(), DecodeAddiGroupBranch(), DecodeAFGR64RegisterClass(), DecodeBgtzGroupBranch(), DecodeBgtzGroupBranchMMR6(), DecodeBgtzlGroupBranch(), DecodeBlezGroupBranch(), DecodeBlezGroupBranchMMR6(), DecodeBlezlGroupBranch(), DecodeCacheeOp_CacheOpR6(), DecodeCacheOp(), DecodeCacheOpMM(), DecodeCCRRegisterClass(), DecodeCOP0RegisterClass(), DecodeCOP2RegisterClass(), DecodeDaddiGroupBranch(), DecodeDAHIDATI(), DecodeDAHIDATIMMR6(), DecodeFCCRegisterClass(), DecodeFGR32RegisterClass(), DecodeFGR64RegisterClass(), DecodeFGRCCRegisterClass(), DecodeFMem(), DecodeFMem2(), DecodeFMem3(), DecodeFMemCop2MMR6(), DecodeFMemCop2R6(), DecodeFMemMMR2(), DecodeGPR32RegisterClass(), DecodeGPR64RegisterClass(), DecodeGPRMM16MovePRegisterClass(), DecodeGPRMM16RegisterClass(), DecodeGPRMM16ZeroRegisterClass(), DecodeHI32DSPRegisterClass(), DecodeLO32DSPRegisterClass(), DecodeLoadByte15(), DecodeLoadByte9(), DecodeMem(), DecodeMemEVA(), DecodeMemMMGPImm7Lsl2(), DecodeMemMMImm12(), DecodeMemMMImm16(), DecodeMemMMImm9(), DecodeMemMMSPImm5Lsl2(), DecodeMSA128BRegisterClass(), DecodeMSA128DRegisterClass(), DecodeMSA128HRegisterClass(), DecodeMSA128Mem(), DecodeMSA128WRegisterClass(), DecodeMSACtrlRegisterClass(), DecodePOP35GroupBranchMMR6(), DecodePOP37GroupBranchMMR6(), DecodePOP65GroupBranchMMR6(), DecodePOP75GroupBranchMMR6(), DecodePrefeOpMM(), DecodeSpecial3LlSc(), DecodeStoreEvaOpMM(), DecodeSyncI(), DecodeSynciR6(), emitAlignedDPRCS2Restores(), GetCostForDef(), getMaxCalleeSavedReg(), getUnderlyingArgReg(), hasNoSignedComparisonUses(), hasOnlyLiveInOpers(), hasOnlyLiveOutUses(), llvm::XCoreInstrInfo::insertBranch(), llvm::NVPTXInstrInfo::insertBranch(), llvm::HexagonInstrInfo::insertBranch(), llvm::PPCInstrInfo::insertBranch(), llvm::PPCInstrInfo::insertSelect(), llvm::AArch64InstrInfo::insertSelect(), llvm::HexagonTargetLowering::LowerINLINEASM(), MatchingStackOffset(), mayCombineMisaligned(), llvm::TargetLowering::parametersInCSRMatch(), llvm::ARMBaseInstrInfo::PredicateInstruction(), llvm::R600InstrInfo::PredicateInstruction(), llvm::PPCInstrInfo::PredicateInstruction(), llvm::TargetInstrInfo::PredicateInstruction(), llvm::RegisterBankInfo::OperandsMapper::print(), llvm::PPCInstrInfo::reverseBranchCondition(), llvm::rewriteT2FrameIndex(), and llvm::PPCInstrInfo::SubsumesPredicate().

void LLVMInitializeMipsDisassembler ( )
static DecodeStatus readInstruction16 ( ArrayRef< uint8_t >  Bytes,
uint64_t  Address,
uint64_t &  Size,
uint32_t Insn,
bool  IsBigEndian 
)
static

Read two bytes from the ArrayRef and return 16 bit halfword sorted according to the given endianness.

Definition at line 1048 of file MipsDisassembler.cpp.

References llvm::MCDisassembler::Fail, llvm::ArrayRef< T >::size(), and llvm::MCDisassembler::Success.

static DecodeStatus readInstruction32 ( ArrayRef< uint8_t >  Bytes,
uint64_t  Address,
uint64_t &  Size,
uint32_t Insn,
bool  IsBigEndian,
bool  IsMicroMips 
)
static

Read four bytes from the ArrayRef and return 32 bit word sorted according to the given endianness.

Definition at line 1068 of file MipsDisassembler.cpp.

References llvm::MCDisassembler::Fail, llvm::ArrayRef< T >::size(), and llvm::MCDisassembler::Success.