|
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 | DecodeGPRX1X5RegisterClass |
| 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 440 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 461 of file RISCVDisassembler.cpp.
References Decoder, decodeUImmOperand(), llvm::MCDisassembler::Fail, llvm::MCOperand::getImm(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOperand(), and Imm.
|
static |
Definition at line 136 of file RISCVDisassembler.cpp.
References Decoder, llvm::MCDisassembler::Fail, and uint64_t.
|
static |
Definition at line 304 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), Decoder, Imm, and llvm::MCDisassembler::Success.
|
static |
Definition at line 451 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 206 of file RISCVDisassembler.cpp.
References DecodeGPRPairRegisterClass(), Decoder, llvm::MCDisassembler::Fail, and uint64_t.
|
static |
Definition at line 187 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.
Referenced by DecodeGPRPairCRegisterClass().
|
static |
Definition at line 215 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 375 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 393 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 420 of file RISCVDisassembler.cpp.
References Decoder, decodeSImmOperand(), llvm::MCDisassembler::Fail, and Imm.
|
static |
Definition at line 384 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 429 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 126 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, and llvm::MCDisassembler::Success.
|
static |
Definition at line 117 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 158 of file RISCVDisassembler.cpp.
References DecodeGPRRegisterClass, Decoder, llvm::MCDisassembler::Fail, llvm::MCInst::getNumOperands(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 172 of file RISCVDisassembler.cpp.
References DecodeGPRRegisterClass, Decoder, llvm::MCDisassembler::Fail, llvm::MCInst::getNumOperands(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 244 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 255 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 406 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 355 of file RISCVDisassembler.cpp.
References Decoder, decodeUImmLog2XLenOperand(), llvm::MCDisassembler::Fail, and Imm.
|
static |
Definition at line 332 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 346 of file RISCVDisassembler.cpp.
References Decoder, decodeUImmOperand(), llvm::MCDisassembler::Fail, and Imm.
|
static |
Definition at line 311 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 decodeCVInsertIs2Operand(), and decodeUImmNonZeroOperand().
|
static |
Definition at line 363 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 323 of file RISCVDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 227 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 291 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 480 of file RISCVDisassembler.cpp.
References Decoder, decodeZcmpRlist(), llvm::MCDisassembler::Fail, Imm, llvm::RISCVZC::RA_S0, and uint64_t.
|
static |
Definition at line 266 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 470 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 144 of file RISCVDisassembler.cpp.
Definition at line 145 of file RISCVDisassembler.cpp.
Definition at line 146 of file RISCVDisassembler.cpp.
Definition at line 147 of file RISCVDisassembler.cpp.
|
constexpr |
Definition at line 149 of file RISCVDisassembler.cpp.
|
constexpr |
Definition at line 151 of file RISCVDisassembler.cpp.
|
constexpr |
Definition at line 153 of file RISCVDisassembler.cpp.
|
constexpr |
Definition at line 203 of file RISCVDisassembler.cpp.
|
constexpr |
Definition at line 132 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(), decodeTHMemIdxRs1Operand(), decodeTHMemPairRs1Operand(), DecodeThumbAddSPReg(), DecodeThumbTableBranch(), DecodeTSTInstruction(), DecodeVLD1DupInstruction(), DecodeVLD1LN(), DecodeVLD2DupInstruction(), DecodeVLD2LN(), DecodeVLD3DupInstruction(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDInstruction(), DecodeVMOVRRS(), DecodeVMOVSRR(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), and DecodeVSTInstruction().
|
constexpr |
Definition at line 155 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 616 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 561 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 664 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 559 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 550 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 505 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 535 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 511 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 530 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 523 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 556 of file RISCVDisassembler.cpp.
|
staticconstexpr |
Definition at line 542 of file RISCVDisassembler.cpp.