LLVM 22.0.0git
|
This file is part of the ARC Disassembler. More...
#include "ARC.h"
#include "ARCRegisterInfo.h"
#include "MCTargetDesc/ARCMCTargetDesc.h"
#include "TargetInfo/ARCTargetInfo.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/MCSubtargetInfo.h"
#include "llvm/MC/TargetRegistry.h"
#include "ARCGenDisassemblerTables.inc"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "arc-disassembler" |
Typedefs | |
using | DecodeStatus = MCDisassembler::DecodeStatus |
Variables | |
static const uint16_t | GPR32DecoderTable [] |
This file is part of the ARC Disassembler.
Definition in file ARCDisassembler.cpp.
#define DEBUG_TYPE "arc-disassembler" |
Definition at line 30 of file ARCDisassembler.cpp.
Definition at line 32 of file ARCDisassembler.cpp.
|
static |
Definition at line 413 of file ARCDisassembler.cpp.
Referenced by LLVMInitializeARCDisassembler().
Definition at line 167 of file ARCDisassembler.cpp.
References llvm::MCD::fieldFromInstruction().
Referenced by DecodeLdLImmInstruction(), and DecodeLdRLImmInstruction().
Definition at line 162 of file ARCDisassembler.cpp.
References llvm::MCD::fieldFromInstruction().
Referenced by DecodeCCRU6Instruction(), DecodeLdLImmInstruction(), DecodeLdRLImmInstruction(), DecodeSOPwithRS12(), DecodeSOPwithRU6(), and DecodeStLImmInstruction().
|
static |
Definition at line 199 of file ARCDisassembler.cpp.
References Address, B, DecodeSymbolicOperandOff(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 309 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, llvm::MCOperand::createImm(), llvm::dbgs(), decodeBField(), DecodeGPR32RegisterClass(), llvm::MCD::fieldFromInstruction(), LLVM_DEBUG, and llvm::MCDisassembler::Success.
Definition at line 158 of file ARCDisassembler.cpp.
References llvm::MCD::fieldFromInstruction().
Referenced by DecodeLdRLImmInstruction(), and DecodeStLImmInstruction().
|
static |
Definition at line 220 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), B, llvm::MCOperand::createImm(), llvm::max(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 146 of file ARCDisassembler.cpp.
References Address, and DecodeGPR32RegisterClass().
|
static |
Definition at line 133 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::dbgs(), llvm::MCDisassembler::Fail, GPR32DecoderTable, LLVM_DEBUG, and llvm::MCDisassembler::Success.
Referenced by DecodeCCRU6Instruction(), DecodeGBR32ShortRegister(), DecodeLdLImmInstruction(), DecodeLdRLImmInstruction(), DecodeMEMrs9(), DecodeMoveHRegInstruction(), DecodeSOPwithRS12(), DecodeSOPwithRU6(), and DecodeStLImmInstruction().
|
static |
Definition at line 248 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, llvm::MCOperand::createImm(), llvm::dbgs(), decodeAField(), decodeBField(), DecodeGPR32RegisterClass(), llvm::MCDisassembler::Fail, LLVM_DEBUG, and llvm::MCDisassembler::Success.
|
static |
Definition at line 266 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, llvm::MCOperand::createImm(), llvm::dbgs(), decodeAField(), decodeBField(), decodeCField(), DecodeGPR32RegisterClass(), llvm::MCDisassembler::Fail, LLVM_DEBUG, and llvm::MCDisassembler::Success.
|
static |
Definition at line 171 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, llvm::MCOperand::createImm(), DecodeGPR32RegisterClass(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 283 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, llvm::MCOperand::createImm(), llvm::dbgs(), DecodeGPR32RegisterClass(), llvm::MCDisassembler::Fail, llvm::MCD::fieldFromInstruction(), G, H, LLVM_DEBUG, and llvm::MCDisassembler::Success.
|
static |
Definition at line 209 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), B, llvm::MCOperand::createImm(), llvm::maskTrailingOnes(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 335 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, llvm::MCOperand::createImm(), decodeBField(), DecodeGPR32RegisterClass(), llvm::MCD::fieldFromInstruction(), llvm::Lower, llvm::MCDisassembler::Success, and llvm::Upper.
|
static |
Definition at line 324 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, llvm::MCOperand::createImm(), decodeBField(), DecodeGPR32RegisterClass(), llvm::MCD::fieldFromInstruction(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 231 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, llvm::MCOperand::createImm(), llvm::dbgs(), decodeBField(), decodeCField(), DecodeGPR32RegisterClass(), llvm::MCDisassembler::Fail, LLVM_DEBUG, and llvm::MCDisassembler::Success.
|
static |
Definition at line 181 of file ARCDisassembler.cpp.
References Address, and llvm::MCDisassembler::tryAddingSymbolicOperand().
Referenced by DecodeSymbolicOperandOff().
|
static |
Definition at line 189 of file ARCDisassembler.cpp.
References llvm::MCInst::addOperand(), Address, llvm::MCOperand::createImm(), DecodeSymbolicOperand(), and llvm::Offset.
Referenced by DecodeBranchTargetS().
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeARCDisassembler | ( | ) |
Definition at line 419 of file ARCDisassembler.cpp.
References createARCDisassembler(), llvm::getTheARCTarget(), and llvm::TargetRegistry::RegisterMCDisassembler().
|
static |
Definition at line 80 of file ARCDisassembler.cpp.
References Size.
|
static |
Definition at line 52 of file ARCDisassembler.cpp.
References Size.
Referenced by llvm::LanaiDisassembler::getInstruction().
|
static |
Definition at line 71 of file ARCDisassembler.cpp.
References Size.
|
static |
Definition at line 61 of file ARCDisassembler.cpp.
References Size.
Definition at line 126 of file ARCDisassembler.cpp.
Referenced by DecodeGPR32RegisterClass().