LLVM 18.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 | |||
) |
#define TRY_TO_DECODE_AND_ADD_SP | ( | FEATURE_CHECKS, | |
DECODER_TABLE, | |||
DESC | |||
) |
#define TRY_TO_DECODE_FEATURE | ( | FEATURE, | |
DECODER_TABLE, | |||
DESC | |||
) | TRY_TO_DECODE(STI.hasFeature(FEATURE), DECODER_TABLE, DESC) |
#define TRY_TO_DECODE_WITH_ADDITIONAL_OPERATION | ( | FEATURE_CHECKS, | |
DECODER_TABLE, | |||
DESC, | |||
ADDITIONAL_OPERATION | |||
) |
Definition at line 30 of file RISCVDisassembler.cpp.
|
static |
Definition at line 50 of file RISCVDisassembler.cpp.
Referenced by LLVMInitializeRISCVDisassembler().
|
static |
Definition at line 308 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 77 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 99 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, and llvm::MCDisassembler::Success.
|
static |
Definition at line 121 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 110 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 319 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 152 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 132 of file RISCVDisassembler.cpp.
References DecodeGPRRegisterClass(), and llvm::MCDisassembler::Fail.
Referenced by DecodeGPRNoX0X2RegisterClass(), and decodeRVCInstrRdRs1ImmZero().
|
static |
Definition at line 143 of file RISCVDisassembler.cpp.
References DecodeGPRNoX0RegisterClass(), and llvm::MCDisassembler::Fail.
|
static |
Definition at line 163 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 64 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 456 of file RISCVDisassembler.cpp.
References DecodeGPRRegisterClass(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 364 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 411 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), DecodeGPRRegisterClass(), llvm::MCInst::getOperand(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 388 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createReg(), llvm::MCInst::getOperand(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 401 of file RISCVDisassembler.cpp.
References DecodeGPRRegisterClass(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 376 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createReg(), Insn, and llvm::MCDisassembler::Success.
|
static |
Definition at line 288 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 297 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 174 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 269 of file RISCVDisassembler.cpp.
References llvm::MCDisassembler::Fail.
|
static |
Definition at line 260 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 247 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 196 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 213 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 230 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 185 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 422 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), DecodeGPRRegisterClass(), llvm::MCInst::getOpcode(), Insn, Opcode, and llvm::MCDisassembler::Success.
|
static |
Definition at line 448 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 466 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeRISCVDisassembler | ( | ) |
Definition at line 56 of file RISCVDisassembler.cpp.
References createRISCVDisassembler(), llvm::getTheRISCV32Target(), llvm::getTheRISCV64Target(), and llvm::TargetRegistry::RegisterMCDisassembler().