|
LLVM 24.0.0git
|
#include "MCTargetDesc/XtensaMCTargetDesc.h"#include "TargetInfo/XtensaTargetInfo.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/MCRegisterInfo.h"#include "llvm/MC/MCSubtargetInfo.h"#include "llvm/MC/TargetRegistry.h"#include "llvm/Support/Endian.h"#include "XtensaGenDisassemblerTables.inc"Go to the source code of this file.
Classes | |
| struct | DecodeRegister |
Macros | |
| #define | DEBUG_TYPE "Xtensa-disassembler" |
Variables | |
| const MCPhysReg | ARDecoderTable [] |
| static const unsigned | QRDecoderTable [] |
| const DecodeRegister | SRDecoderTable [] |
| static int64_t | TableB4const [16] |
| static int64_t | TableB4constu [16] |
| #define DEBUG_TYPE "Xtensa-disassembler" |
Definition at line 30 of file XtensaDisassembler.cpp.
|
static |
Definition at line 55 of file XtensaDisassembler.cpp.
References T.
Referenced by LLVMInitializeXtensaDisassembler().
|
static |
Definition at line 71 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), ARDecoderTable, llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
Referenced by decodeMem16Operand(), decodeMem32nOperand(), decodeMem32Operand(), and decodeMem8Operand().
|
static |
Definition at line 411 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, TableB4const, and uint64_t.
|
static |
Definition at line 421 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, TableB4constu, and uint64_t.
|
static |
Definition at line 273 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, llvm::MCInst::getOpcode(), Imm, llvm::isUInt(), llvm::SignExtend64(), llvm::MCDisassembler::Success, tryAddingSymbolicOperand(), and uint64_t.
|
static |
Definition at line 238 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 258 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::SignExtend64(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 393 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 130 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 328 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::SignExtend64(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 349 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 356 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 367 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 385 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 430 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 320 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::SignExtend64(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 378 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 313 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::SignExtend64(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 266 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::SignExtend64(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 304 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::SignExtend64(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 294 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, tryAddingSymbolicOperand(), and uint64_t.
|
static |
Definition at line 559 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), DecodeARRegisterClass(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 575 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), DecodeARRegisterClass(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 567 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), DecodeARRegisterClass(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 551 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), DecodeARRegisterClass(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 93 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 104 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 82 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 532 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 521 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 477 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 499 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 510 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 488 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 540 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 119 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, QRDecoderTable, Reg, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 461 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 469 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 437 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 445 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 453 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 401 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 204 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::Xtensa::checkRegister(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, llvm::MCInst::getOpcode(), Reg, llvm::Xtensa::REGISTER_EXCHANGE, llvm::Xtensa::REGISTER_READ, llvm::Xtensa::REGISTER_WRITE, SRDecoderTable, llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 335 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 342 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), Decoder, Imm, llvm::isUInt(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 141 of file XtensaDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::Xtensa::checkRegister(), llvm::MCOperand::createReg(), Decoder, llvm::MCDisassembler::Fail, llvm::MCInst::getOpcode(), llvm::Xtensa::getUserRegister(), Reg, llvm::Xtensa::REGISTER_READ, llvm::Xtensa::REGISTER_WRITE, llvm::MCDisassembler::Success, and uint64_t.
| LLVM_EXTERNAL_VISIBILITY void LLVMInitializeXtensaDisassembler | ( | ) |
Definition at line 61 of file XtensaDisassembler.cpp.
References createXtensaDisassembler(), llvm::getTheXtensaTarget(), LLVM_EXTERNAL_VISIBILITY, and llvm::TargetRegistry::RegisterMCDisassembler().
|
static |
Read two bytes from the ArrayRef and return 16 bit data sorted according to the given endianness.
Definition at line 585 of file XtensaDisassembler.cpp.
References llvm::MCDisassembler::Fail, llvm::report_fatal_error(), Size, llvm::ArrayRef< T >::size(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Read three bytes from the ArrayRef and return 24 bit data.
Definition at line 604 of file XtensaDisassembler.cpp.
References llvm::MCDisassembler::Fail, llvm::report_fatal_error(), Size, llvm::ArrayRef< T >::size(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Read four bytes from the ArrayRef and return 32 bit data.
Definition at line 626 of file XtensaDisassembler.cpp.
References llvm::MCDisassembler::Fail, llvm::report_fatal_error(), Size, llvm::ArrayRef< T >::size(), llvm::MCDisassembler::Success, and uint64_t.
|
static |
Definition at line 249 of file XtensaDisassembler.cpp.
References Decoder, isBranch(), MI, llvm::Offset, llvm::MCDisassembler::tryAddingSymbolicOperand(), and uint64_t.
Referenced by decodeBranchOperand(), and decodeLoopOperand().
Definition at line 66 of file XtensaDisassembler.cpp.
Referenced by DecodeARRegisterClass().
Definition at line 115 of file XtensaDisassembler.cpp.
Referenced by DecodeQRRegisterClass().
| const DecodeRegister SRDecoderTable[] |
Definition at line 168 of file XtensaDisassembler.cpp.
Referenced by DecodeSRRegisterClass().
|
static |
Definition at line 409 of file XtensaDisassembler.cpp.
Referenced by decodeB4constOperand().
|
static |
Definition at line 419 of file XtensaDisassembler.cpp.
Referenced by decodeB4constuOperand().