LLVM 20.0.0git
|
#include "MCTargetDesc/HexagonBaseInfo.h"
#include "MCTargetDesc/HexagonMCChecker.h"
#include "MCTargetDesc/HexagonMCInstrInfo.h"
#include "MCTargetDesc/HexagonMCTargetDesc.h"
#include "TargetInfo/HexagonTargetInfo.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDecoderOps.h"
#include "llvm/MC/MCDisassembler/MCDisassembler.h"
#include "llvm/MC/MCExpr.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 "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <memory>
#include "HexagonDepDecoders.inc"
#include "HexagonGenDisassemblerTables.inc"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "hexagon-disassembler" |
Typedefs | |
using | DecodeStatus = MCDisassembler::DecodeStatus |
Variables | |
static const uint16_t | SysRegDecoderTable [] |
static const uint16_t | SysReg64DecoderTable [] |
#define DEBUG_TYPE "hexagon-disassembler" |
Definition at line 33 of file HexagonDisassembler.cpp.
Definition at line 38 of file HexagonDisassembler.cpp.
Definition at line 287 of file HexagonDisassembler.cpp.
References llvm::MCConstantExpr::create(), llvm::MCOperand::createExpr(), and MI.
|
static |
Definition at line 764 of file HexagonDisassembler.cpp.
References llvm::HexagonMCInstrInfo::addConstant(), llvm::HexagonMCInstrInfo::getExtentBits(), MI, llvm::SignExtend64(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 162 of file HexagonDisassembler.cpp.
Referenced by LLVMInitializeHexagonDisassembler().
|
static |
Definition at line 698 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 669 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::M0(), llvm::M1(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 600 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 613 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 571 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 878 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 852 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 660 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 641 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 584 of file HexagonDisassembler.cpp.
References DecodeRegisterClass(), and llvm::Hexagon::V5.
|
static |
Definition at line 623 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 550 of file HexagonDisassembler.cpp.
References DecodeIntRegsRegisterClass().
|
static |
Definition at line 555 of file HexagonDisassembler.cpp.
References DecodeRegisterClass(), and IntRegDecoderTable.
Referenced by DecodeIntRegsLow8RegisterClass().
|
static |
Definition at line 725 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 651 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 539 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::ArrayRef< T >::size(), and llvm::MCDisassembler::Success.
Referenced by DecodeDoubleRegsRegisterClass(), DecodeGeneralDoubleLow8RegsRegisterClass(), DecodeGeneralSubRegsRegisterClass(), DecodeHvxQRRegisterClass(), DecodeHvxVQRRegisterClass(), DecodeHvxVRRegisterClass(), DecodeHvxWRRegisterClass(), DecodeIntRegsRegisterClass(), and DecodePredRegsRegisterClass().
|
static |
Definition at line 837 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCDisassembler::Success, and SysReg64DecoderTable.
|
static |
Definition at line 809 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCDisassembler::Success, and SysRegDecoderTable.
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeHexagonDisassembler | ( | ) |
Definition at line 168 of file HexagonDisassembler.cpp.
References createHexagonDisassembler(), llvm::getTheHexagonTarget(), and llvm::TargetRegistry::RegisterMCDisassembler().
|
static |
Definition at line 753 of file HexagonDisassembler.cpp.
References llvm::HexagonMCInstrInfo::getExtentBits(), MI, llvm::SignExtend64(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 743 of file HexagonDisassembler.cpp.
References llvm::HexagonMCInstrInfo::addConstant(), assert(), MI, and llvm::MCDisassembler::Success.
Definition at line 823 of file HexagonDisassembler.cpp.
Referenced by DecodeSysRegs64RegisterClass().
Definition at line 779 of file HexagonDisassembler.cpp.
Referenced by DecodeSysRegsRegisterClass().