LLVM 20.0.0git
|
#include "MCTargetDesc/RISCVBaseInfo.h"
#include "MCTargetDesc/RISCVMCTargetDesc.h"
#include "TargetInfo/RISCVTargetInfo.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/MCInstrInfo.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/Endian.h"
#include "RISCVGenDisassemblerTables.inc"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "riscv-disassembler" |
#define | TRY_TO_DECODE_WITH_ADDITIONAL_OPERATION(FEATURE_CHECKS, DECODER_TABLE, DESC, ADDITIONAL_OPERATION) |
#define | TRY_TO_DECODE_AND_ADD_SP(FEATURE_CHECKS, DECODER_TABLE, DESC) |
#define | TRY_TO_DECODE(FEATURE_CHECKS, DECODER_TABLE, DESC) |
#define | TRY_TO_DECODE_FEATURE(FEATURE, DECODER_TABLE, DESC) TRY_TO_DECODE(STI.hasFeature(FEATURE), DECODER_TABLE, DESC) |
Typedefs | |
typedef MCDisassembler::DecodeStatus | DecodeStatus |
#define DEBUG_TYPE "riscv-disassembler" |
Definition at line 28 of file RISCVDisassembler.cpp.
#define TRY_TO_DECODE | ( | FEATURE_CHECKS, | |
DECODER_TABLE, | |||
DESC | |||
) |
Definition at line 604 of file RISCVDisassembler.cpp.
#define TRY_TO_DECODE_AND_ADD_SP | ( | FEATURE_CHECKS, | |
DECODER_TABLE, | |||
DESC | |||
) |
Definition at line 601 of file RISCVDisassembler.cpp.
#define TRY_TO_DECODE_FEATURE | ( | FEATURE, | |
DECODER_TABLE, | |||
DESC | |||
) | TRY_TO_DECODE(STI.hasFeature(FEATURE), DECODER_TABLE, DESC) |
Definition at line 607 of file RISCVDisassembler.cpp.
#define TRY_TO_DECODE_WITH_ADDITIONAL_OPERATION | ( | FEATURE_CHECKS, | |
DECODER_TABLE, | |||
DESC, | |||
ADDITIONAL_OPERATION | |||
) |
Definition at line 588 of file RISCVDisassembler.cpp.
Definition at line 30 of file RISCVDisassembler.cpp.
|
static |
Definition at line 61 of file RISCVDisassembler.cpp.
Referenced by LLVMInitializeRISCVDisassembler().
|
static |
Definition at line 392 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 474 of file RISCVDisassembler.cpp.
References Address, assert(), DecodeGPRX1X5RegisterClass(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 125 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 147 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 136 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 169 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 158 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 403 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), llvm::MCDisassembler::Fail, llvm::RISCVFPRndMode::isValidRoundingMode(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 200 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 88 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCDisassembler::getSubtargetInfo(), llvm::MCSubtargetInfo::hasFeature(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 101 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCDisassembler::getSubtargetInfo(), llvm::MCSubtargetInfo::hasFeature(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 180 of file RISCVDisassembler.cpp.
References Address, DecodeGPRRegisterClass(), and llvm::MCDisassembler::Fail.
Referenced by DecodeGPRNoX0X2RegisterClass(), and decodeRVCInstrRdRs1ImmZero().
|
static |
Definition at line 191 of file RISCVDisassembler.cpp.
References Address, DecodeGPRNoX0RegisterClass(), and llvm::MCDisassembler::Fail.
|
static |
Definition at line 211 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCRegisterInfo::getMatchingSuperReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 75 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCDisassembler::getSubtargetInfo(), llvm::MCSubtargetInfo::hasFeature(), and llvm::MCDisassembler::Success.
Referenced by DecodeGPRNoX0RegisterClass(), decodeRegReg(), decodeRVCInstrRdRs1Rs2(), decodeRVCInstrRdRs2(), and decodeXTHeadMemPair().
|
static |
Definition at line 114 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
Referenced by decodeCSSPushPopchk().
|
static |
Definition at line 564 of file RISCVDisassembler.cpp.
References Address, DecodeGPRRegisterClass(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 413 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), llvm::MCDisassembler::Fail, llvm::RISCVFPRndMode::RTZ, and llvm::MCDisassembler::Success.
|
static |
Definition at line 462 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, assert(), llvm::MCOperand::createImm(), DecodeGPRNoX0RegisterClass(), llvm::MCInst::getOperand(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 519 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, DecodeGPRRegisterClass(), llvm::MCInst::getOperand(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 496 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, assert(), llvm::MCOperand::createReg(), llvm::MCInst::getOperand(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 509 of file RISCVDisassembler.cpp.
References Address, DecodeGPRRegisterClass(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 484 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, assert(), llvm::MCOperand::createReg(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 372 of file RISCVDisassembler.cpp.
References Address, and llvm::MCDisassembler::Fail.
|
static |
Definition at line 362 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 381 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 227 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 354 of file RISCVDisassembler.cpp.
References Address, decodeUImmLog2XLenOperand(), and llvm::MCDisassembler::Fail.
|
static |
Definition at line 331 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), llvm::MCDisassembler::Fail, llvm::MCDisassembler::getSubtargetInfo(), llvm::MCSubtargetInfo::hasFeature(), and llvm::MCDisassembler::Success.
Referenced by decodeUImmLog2XLenNonZeroOperand().
|
static |
Definition at line 345 of file RISCVDisassembler.cpp.
References Address, and llvm::MCDisassembler::Fail.
|
static |
Definition at line 323 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 310 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 300 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 249 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCRegisterInfo::getMatchingSuperReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 266 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCRegisterInfo::getMatchingSuperReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 283 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCRegisterInfo::getMatchingSuperReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 238 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 530 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, assert(), llvm::MCOperand::createImm(), DecodeGPRRegisterClass(), llvm::MCInst::getOpcode(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 556 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 573 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeRISCVDisassembler | ( | ) |
Definition at line 67 of file RISCVDisassembler.cpp.
References createRISCVDisassembler(), llvm::getTheRISCV32Target(), llvm::getTheRISCV64Target(), and llvm::TargetRegistry::RegisterMCDisassembler().