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 528 of file RISCVDisassembler.cpp.
#define TRY_TO_DECODE_AND_ADD_SP | ( | FEATURE_CHECKS, | |
DECODER_TABLE, | |||
DESC | |||
) |
Definition at line 525 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 531 of file RISCVDisassembler.cpp.
#define TRY_TO_DECODE_WITH_ADDITIONAL_OPERATION | ( | FEATURE_CHECKS, | |
DECODER_TABLE, | |||
DESC, | |||
ADDITIONAL_OPERATION | |||
) |
Definition at line 512 of file RISCVDisassembler.cpp.
Definition at line 30 of file RISCVDisassembler.cpp.
|
static |
Definition at line 57 of file RISCVDisassembler.cpp.
Referenced by LLVMInitializeRISCVDisassembler().
|
static |
Definition at line 326 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 398 of file RISCVDisassembler.cpp.
References assert(), DecodeGPRX1X5RegisterClass(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 95 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 117 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 106 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 139 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 128 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 337 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 170 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 150 of file RISCVDisassembler.cpp.
References DecodeGPRRegisterClass(), and llvm::MCDisassembler::Fail.
Referenced by DecodeGPRNoX0X2RegisterClass(), and decodeRVCInstrRdRs1ImmZero().
|
static |
Definition at line 161 of file RISCVDisassembler.cpp.
References DecodeGPRNoX0RegisterClass(), and llvm::MCDisassembler::Fail.
|
static |
Definition at line 181 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 71 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 84 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 488 of file RISCVDisassembler.cpp.
References DecodeGPRRegisterClass(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 386 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), DecodeGPRNoX0RegisterClass(), llvm::MCInst::getOperand(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 443 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), DecodeGPRRegisterClass(), llvm::MCInst::getOperand(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 420 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createReg(), llvm::MCInst::getOperand(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 433 of file RISCVDisassembler.cpp.
References DecodeGPRRegisterClass(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 408 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createReg(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 306 of file RISCVDisassembler.cpp.
References llvm::MCDisassembler::Fail.
|
static |
Definition at line 296 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 315 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 192 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 287 of file RISCVDisassembler.cpp.
References llvm::MCDisassembler::Fail.
|
static |
Definition at line 278 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 265 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 214 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 231 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 248 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 203 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 454 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), DecodeGPRRegisterClass(), llvm::MCInst::getOpcode(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 480 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 497 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeRISCVDisassembler | ( | ) |
Definition at line 63 of file RISCVDisassembler.cpp.
References createRISCVDisassembler(), llvm::getTheRISCV32Target(), llvm::getTheRISCV64Target(), and llvm::TargetRegistry::RegisterMCDisassembler().