LLVM
8.0.1
|
#include "MCTargetDesc/RISCVMCTargetDesc.h"
#include "Utils/RISCVBaseInfo.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/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/TargetRegistry.h"
#include "RISCVGenDisassemblerTables.inc"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "riscv-disassembler" |
Typedefs | |
typedef MCDisassembler::DecodeStatus | DecodeStatus |
Functions | |
static MCDisassembler * | createRISCVDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx) |
void | LLVMInitializeRISCVDisassembler () |
static DecodeStatus | DecodeGPRRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeFPR32RegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeFPR32CRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeFPR64RegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeFPR64CRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeGPRNoX0RegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeGPRNoX0X2RegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeGPRCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static void | addImplySP (MCInst &Inst, int64_t Address, const void *Decoder) |
template<unsigned N> | |
static DecodeStatus | decodeUImmOperand (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
template<unsigned N> | |
static DecodeStatus | decodeUImmNonZeroOperand (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
template<unsigned N> | |
static DecodeStatus | decodeSImmOperand (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
template<unsigned N> | |
static DecodeStatus | decodeSImmNonZeroOperand (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
template<unsigned N> | |
static DecodeStatus | decodeSImmOperandAndLsl1 (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
static DecodeStatus | decodeCLUIImmOperand (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
static DecodeStatus | decodeFRMArg (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
Variables | |
static const unsigned | GPRDecoderTable [] |
static const unsigned | FPR32DecoderTable [] |
static const unsigned | FPR64DecoderTable [] |
#define DEBUG_TYPE "riscv-disassembler" |
Definition at line 27 of file RISCVDisassembler.cpp.
Definition at line 29 of file RISCVDisassembler.cpp.
Definition at line 189 of file RISCVDisassembler.cpp.
References DecodeGPRRegisterClass(), and llvm::MCInst::getOpcode().
Referenced by decodeSImmOperand(), and decodeUImmOperand().
|
static |
Definition at line 45 of file RISCVDisassembler.cpp.
Referenced by LLVMInitializeRISCVDisassembler().
|
static |
Definition at line 254 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 109 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, Reg, and llvm::MCDisassembler::Success.
|
static |
Definition at line 95 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, Reg, and llvm::MCDisassembler::Success.
|
static |
Definition at line 145 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, Reg, and llvm::MCDisassembler::Success.
|
static |
Definition at line 131 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, Reg, and llvm::MCDisassembler::Success.
|
static |
Definition at line 265 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::Address, assert(), llvm::MCOperand::createImm(), llvm::ArrayRef< T >::data(), llvm::dbgs(), llvm::X86Disassembler::decodeInstruction(), llvm::MCDisassembler::Fail, llvm::RISCVFPRndMode::isValidRoundingMode(), LLVM_DEBUG, MI, llvm::support::endian::read16le(), llvm::support::endian::read32le(), Size, llvm::ArrayRef< T >::size(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 176 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, Reg, and llvm::MCDisassembler::Success.
|
static |
Definition at line 156 of file RISCVDisassembler.cpp.
References DecodeGPRRegisterClass(), and llvm::MCDisassembler::Fail.
Referenced by DecodeGPRNoX0X2RegisterClass().
|
static |
Definition at line 166 of file RISCVDisassembler.cpp.
References DecodeGPRNoX0RegisterClass(), and llvm::MCDisassembler::Fail.
|
static |
Definition at line 70 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, Reg, and llvm::MCDisassembler::Success.
Referenced by addImplySP(), and DecodeGPRNoX0RegisterClass().
|
static |
Definition at line 234 of file RISCVDisassembler.cpp.
References llvm::Address, and llvm::MCDisassembler::Fail.
|
static |
Definition at line 224 of file RISCVDisassembler.cpp.
References addImplySP(), llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 243 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 215 of file RISCVDisassembler.cpp.
References llvm::Address, and llvm::MCDisassembler::Fail.
|
static |
Definition at line 206 of file RISCVDisassembler.cpp.
References addImplySP(), llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
void LLVMInitializeRISCVDisassembler | ( | ) |
Definition at line 51 of file RISCVDisassembler.cpp.
References createRISCVDisassembler(), llvm::getTheRISCV32Target(), llvm::getTheRISCV64Target(), and llvm::TargetRegistry::RegisterMCDisassembler().
Definition at line 84 of file RISCVDisassembler.cpp.
Definition at line 120 of file RISCVDisassembler.cpp.
Definition at line 59 of file RISCVDisassembler.cpp.