LLVM 18.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 Context, llvm::MCConstantExpr::create(), llvm::MCOperand::createExpr(), and MI.
|
static |
Definition at line 762 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 696 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 667 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 598 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 611 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 569 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 876 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 850 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 658 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 639 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 582 of file HexagonDisassembler.cpp.
References DecodeRegisterClass(), and llvm::Hexagon::V5.
|
static |
Definition at line 621 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 548 of file HexagonDisassembler.cpp.
References DecodeIntRegsRegisterClass().
|
static |
Definition at line 553 of file HexagonDisassembler.cpp.
References DecodeRegisterClass(), and IntRegDecoderTable.
Referenced by DecodeIntRegsLow8RegisterClass().
|
static |
Definition at line 723 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 649 of file HexagonDisassembler.cpp.
References DecodeRegisterClass().
|
static |
Definition at line 537 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 835 of file HexagonDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, llvm::MCDisassembler::Success, and SysReg64DecoderTable.
|
static |
Definition at line 807 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 751 of file HexagonDisassembler.cpp.
References llvm::HexagonMCInstrInfo::getExtentBits(), MI, llvm::SignExtend64(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 741 of file HexagonDisassembler.cpp.
References llvm::HexagonMCInstrInfo::addConstant(), assert(), MI, and llvm::MCDisassembler::Success.
Definition at line 821 of file HexagonDisassembler.cpp.
Referenced by DecodeSysRegs64RegisterClass().
Definition at line 777 of file HexagonDisassembler.cpp.
Referenced by DecodeSysRegsRegisterClass().