|
LLVM 24.0.0git
|
#include "MCTargetDesc/RISCVBaseInfo.h"#include "MCTargetDesc/RISCVMCTargetDesc.h"#include "TargetInfo/RISCVTargetInfo.h"#include "llvm/MC/MCContext.h"#include "llvm/MC/MCDecoder.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/Compiler.h"#include "llvm/Support/Endian.h"#include "RISCVGenDisassemblerTables.inc"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "riscv-disassembler" |
Variables | |
| constexpr auto | DecodeGPRRegisterClass |
| constexpr auto | DecodeGPRNoX0RegisterClass |
| constexpr auto | DecodeGPRNoX2RegisterClass |
| constexpr auto | DecodeGPRNoX31RegisterClass |
| constexpr auto | DecodeGPRPairNoX0RegisterClass |
| static constexpr FeatureBitset | XCVFeatureGroup |
| static constexpr FeatureBitset | XqciFeatureGroup |
| static constexpr FeatureBitset | XSfVectorGroup |
| static constexpr FeatureBitset | XSfSystemGroup |
| static constexpr FeatureBitset | XMIPSGroup |
| static constexpr FeatureBitset | XTHeadGroup |
| static constexpr FeatureBitset | XAndesGroup |
| static constexpr FeatureBitset | XSMTGroup |
| static constexpr FeatureBitset | XAIFGroup = {RISCV::FeatureVendorXAIFET} |
| static constexpr DecoderListEntry | DecoderList32 [] |
| static constexpr DecoderListEntry | DecoderList16 [] |
| static constexpr DecoderListEntry | DecoderList48 [] |
| #define DEBUG_TYPE "riscv-disassembler" |
Definition at line 31 of file RISCVDisassembler.cpp.
|
static |
Definition at line 62 of file RISCVDisassembler.cpp.
References T.
Referenced by LLVMInitializeRISCVDisassembler().
|
static |
Definition at line 69 of file RISCVDisassembler.cpp.
References llvm::createMCSymbolizer().
Referenced by LLVMInitializeRISCVDisassembler().
|
static |
Definition at line 473 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, llvm::MCDisassembler::Fail, Imm, llvm::isUInt(), llvm::SignExtend64(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 157 of file RISCVDisassembler.cpp.
References Decoder, llvm::MCDisassembler::Fail, and uint64_t.
|
static |
Definition at line 484 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, llvm::MCDisassembler::Fail, Imm, llvm::isUInt(), llvm::RISCVFPRndMode::isValidRoundingMode(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 195 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, llvm::MCRegisterInfo::getMatchingSuperReg(), Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 176 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, llvm::MCRegisterInfo::getMatchingSuperReg(), Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 211 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 130 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, and llvm::MCDisassembler::Success.
|
static |
Definition at line 119 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 150 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, and llvm::MCDisassembler::Success.
|
static |
Definition at line 305 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), Decoder, and llvm::MCDisassembler::Success.
|
static |
Definition at line 299 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), Decoder, and llvm::MCDisassembler::Success.
|
static |
Definition at line 408 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 426 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::SignExtend64(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 453 of file RISCVDisassembler.cpp.
References Decoder, decodeSImmOperand(), llvm::MCDisassembler::Fail, and Imm.
|
static |
Definition at line 417 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::SignExtend64(), and llvm::MCDisassembler::Success.
Referenced by decodeSImmNonZeroOperand().
|
static |
Definition at line 462 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), N, llvm::SignExtend64(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 102 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 136 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, and llvm::MCDisassembler::Success.
|
static |
Definition at line 142 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 240 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 251 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 439 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::SignExtend64(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 368 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, llvm::MCDisassembler::Fail, Imm, llvm::isUInt(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 392 of file RISCVDisassembler.cpp.
References Decoder, decodeUImmLog2XLenOperand(), llvm::MCDisassembler::Fail, and Imm.
|
static |
Definition at line 355 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, llvm::MCDisassembler::Fail, Imm, llvm::isUInt(), and llvm::MCDisassembler::Success.
Referenced by decodeUImmLog2XLenNonZeroOperand().
|
static |
Definition at line 383 of file RISCVDisassembler.cpp.
References Decoder, decodeUImmOperand(), llvm::MCDisassembler::Fail, and Imm.
|
static |
Definition at line 312 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), and llvm::MCDisassembler::Success.
Referenced by decodeUImmNonZeroOperand().
|
static |
Definition at line 321 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, llvm::MCDisassembler::Fail, Imm, llvm::isUInt(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 400 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 334 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, llvm::MCDisassembler::Fail, Imm, llvm::isUInt(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 346 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 223 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, llvm::MCRegisterInfo::getMatchingSuperReg(), Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 287 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 504 of file RISCVDisassembler.cpp.
References Decoder, decodeZcmpRlist(), llvm::MCDisassembler::Fail, Imm, llvm::RISCVZC::RA_S0, and uint64_t.
|
static |
Definition at line 262 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 494 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), Decoder, llvm::MCDisassembler::Fail, Imm, llvm::RISCVZC::RA, llvm::RISCVZC::RA_S0_S2, llvm::MCDisassembler::Success, and uint64_t.
Referenced by decodeXqccmpRlistS0().
| LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeRISCVDisassembler | ( | ) |
Definition at line 81 of file RISCVDisassembler.cpp.
References createRISCVDisassembler(), createRISCVMCSymbolizer(), llvm::getTheRISCV32beTarget(), llvm::getTheRISCV32Target(), llvm::getTheRISCV64beTarget(), llvm::getTheRISCV64Target(), llvm::TargetRegistry::RegisterMCDisassembler(), and llvm::TargetRegistry::RegisterMCSymbolizer().
Definition at line 165 of file RISCVDisassembler.cpp.
Definition at line 166 of file RISCVDisassembler.cpp.
Definition at line 167 of file RISCVDisassembler.cpp.
|
constexpr |
Definition at line 169 of file RISCVDisassembler.cpp.
|
constexpr |
Definition at line 171 of file RISCVDisassembler.cpp.
|
constexpr |
Definition at line 173 of file RISCVDisassembler.cpp.
|
constexpr |
Definition at line 192 of file RISCVDisassembler.cpp.
|
constexpr |
Definition at line 116 of file RISCVDisassembler.cpp.
Referenced by DecodeAddrMode2IdxInstruction(), DecodeAddrMode3Instruction(), DecodeAddrMode5FP16Operand(), DecodeAddrMode5Operand(), DecodeAddrMode6Operand(), DecodeAddrMode7Operand(), DecodeAddrModeImm12Operand(), DecodeCopMemInstruction(), DecodeDoubleRegLoad(), DecodeDoubleRegStore(), DecodeForVMRSandVMSR(), DecodeGPRnopcRegisterClass(), DecodeGPRNoR0R1RegisterClass(), DecodeGPRnospRegisterClass(), DecodeGPRwithAPSRRegisterClass(), DecodeGPRwithZRRegisterClass(), DecodeLazyLoadStoreMul(), DecodeLDRPreImm(), DecodeLDRPreReg(), DecodeMemMultipleWritebackInstruction(), DecodeMVEVMOVDRegtoQ(), DecodeMVEVMOVQtoDReg(), DecodeRegListOperand(), DecodeRegSeqOperand(), DecodeRFEInstruction(), DecoderGPRRegisterClass(), DecodeSORegMemOperand(), DecodeSTRPreImm(), DecodeSTRPreReg(), DecodeT2AddrModeImm12(), DecodeT2AddrModeImm8(), DecodeT2AddrModeImm8s4(), DecodeT2AddrModeSOReg(), DecodeT2LdStPre(), DecodeT2LoadImm12(), DecodeT2LoadImm8(), DecodeT2LoadLabel(), DecodeT2LoadShift(), DecodetGPRRegisterClass(), DecodeThumbAddSPReg(), DecodeThumbTableBranch(), DecodeTSTInstruction(), DecodeVLD1DupInstruction(), DecodeVLD1LN(), DecodeVLD2DupInstruction(), DecodeVLD2LN(), DecodeVLD3DupInstruction(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDInstruction(), DecodeVMOVRRS(), DecodeVMOVSRR(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), and DecodeVSTInstruction().
|
staticconstexpr |
Definition at line 643 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 585 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 690 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 583 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 574 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 529 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 559 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 535 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 554 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 547 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 580 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 566 of file RISCVDisassembler.cpp.