LLVM API Documentation
#include "Mips.h"
#include "MipsRegisterInfo.h"
#include "MipsSubtarget.h"
#include "llvm/MC/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/MemoryObject.h"
#include "llvm/Support/TargetRegistry.h"
#include "MipsGenDisassemblerTables.inc"
Go to the source code of this file.
Namespaces | |
llvm | |
List of target independent CodeGen pass IDs. | |
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 | 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 | DecodeFGRH32RegisterClass (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 | 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 | DecodeBranchTarget (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 | DecodeBranchTargetMM (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 | DecodeMSA128Mem (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 | DecodeSimm16 (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeLSAImm (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeInsSize (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeExtSize (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder) |
static MCDisassembler * | createMipsDisassembler (const Target &T, const MCSubtargetInfo &STI) |
static MCDisassembler * | createMipselDisassembler (const Target &T, const MCSubtargetInfo &STI) |
static MCDisassembler * | createMips64Disassembler (const Target &T, const MCSubtargetInfo &STI) |
static MCDisassembler * | createMips64elDisassembler (const Target &T, const MCSubtargetInfo &STI) |
void | LLVMInitializeMipsDisassembler () |
static DecodeStatus | readInstruction32 (const MemoryObject ®ion, uint64_t address, uint64_t &size, uint32_t &insn, bool isBigEndian, bool IsMicroMips) |
static unsigned | getReg (const void *D, unsigned RC, unsigned RegNo) |
Variables | |
Target | llvm::TheMipselTarget |
Target | llvm::TheMipsTarget |
Target | llvm::TheMips64Target |
Target | llvm::TheMips64elTarget |
Definition at line 27 of file MipsDisassembler.cpp.
|
static |
Definition at line 283 of file MipsDisassembler.cpp.
References llvm::Target::createMCRegInfo().
Referenced by LLVMInitializeMipsDisassembler().
|
static |
Definition at line 289 of file MipsDisassembler.cpp.
References llvm::Target::createMCRegInfo().
Referenced by LLVMInitializeMipsDisassembler().
|
static |
Definition at line 271 of file MipsDisassembler.cpp.
References llvm::Target::createMCRegInfo().
Referenced by LLVMInitializeMipsDisassembler().
|
static |
Definition at line 277 of file MipsDisassembler.cpp.
References llvm::Target::createMCRegInfo().
Referenced by LLVMInitializeMipsDisassembler().
|
static |
Definition at line 652 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 639 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 748 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 768 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 513 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 427 of file MipsDisassembler.cpp.
References llvm::MCDisassembler::Fail.
|
static |
Definition at line 470 of file MipsDisassembler.cpp.
References DecodeGPR32RegisterClass().
|
static |
Definition at line 815 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 524 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 489 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 477 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 501 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 609 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 449 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
Referenced by DecodeDSPRRegisterClass(), and DecodePtrRegisterClass().
|
static |
Definition at line 436 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
Referenced by DecodePtrRegisterClass().
|
static |
Definition at line 664 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 628 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 804 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 758 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 778 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 676 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 795 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 535 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), llvm::MCInst::getOpcode(), getReg(), llvm::PPCISD::SC, and llvm::MCDisassembler::Success.
|
static |
Definition at line 573 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 591 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 688 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 724 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 700 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 557 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 712 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 736 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, getReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 460 of file MipsDisassembler.cpp.
References DecodeGPR32RegisterClass(), and DecodeGPR64RegisterClass().
|
static |
Definition at line 787 of file MipsDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), and llvm::MCDisassembler::Success.
Definition at line 422 of file MipsDisassembler.cpp.
Referenced by DecodeACC64DSPRegisterClass(), DecodeAFGR64RegisterClass(), DecodeCCRRegisterClass(), DecodeFCCRegisterClass(), DecodeFGR32RegisterClass(), DecodeFGR64RegisterClass(), DecodeFGRH32RegisterClass(), DecodeFMem(), DecodeGPR32RegisterClass(), DecodeGPR64RegisterClass(), DecodeHI32DSPRegisterClass(), DecodeLO32DSPRegisterClass(), DecodeMem(), DecodeMemMMImm12(), DecodeMemMMImm16(), DecodeMSA128BRegisterClass(), DecodeMSA128DRegisterClass(), DecodeMSA128HRegisterClass(), DecodeMSA128Mem(), DecodeMSA128WRegisterClass(), and DecodeMSACtrlRegisterClass().
void LLVMInitializeMipsDisassembler | ( | ) |
Definition at line 295 of file MipsDisassembler.cpp.
References createMips64Disassembler(), createMips64elDisassembler(), createMipsDisassembler(), createMipselDisassembler(), llvm::TargetRegistry::RegisterMCDisassembler(), llvm::TheMips64elTarget, llvm::TheMips64Target, llvm::TheMipselTarget, and llvm::TheMipsTarget.
|
static |
readInstruction - read four bytes from the MemoryObject and return 32 bit word sorted according to the given endianess
Definition at line 312 of file MipsDisassembler.cpp.
References llvm::MCDisassembler::Fail, llvm::MemoryObject::readBytes(), and llvm::MCDisassembler::Success.