LLVM
8.0.1
|
#include "MCTargetDesc/PPCMCTargetDesc.h"
#include "llvm/MC/MCDisassembler/MCDisassembler.h"
#include "llvm/MC/MCFixedLenDisassembler.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/TargetRegistry.h"
#include "PPCGenDisassemblerTables.inc"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "ppc-disassembler" |
#define | DecodePointerLikeRegClass0 DecodeGPRCRegisterClass |
#define | DecodePointerLikeRegClass1 DecodeGPRC_NOR0RegisterClass |
#define | DecodeQSRCRegisterClass DecodeQFRCRegisterClass |
#define | DecodeQBRCRegisterClass DecodeQFRCRegisterClass |
Typedefs | |
typedef MCDisassembler::DecodeStatus | DecodeStatus |
Functions | |
static MCDisassembler * | createPPCDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx) |
static MCDisassembler * | createPPCLEDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx) |
void | LLVMInitializePowerPCDisassembler () |
static DecodeStatus | DecodePCRel24BranchTarget (MCInst &Inst, unsigned Imm, uint64_t Addr, const void *Decoder) |
template<std::size_t N> | |
static DecodeStatus | decodeRegisterClass (MCInst &Inst, uint64_t RegNo, const MCPhysReg(&Regs)[N]) |
static DecodeStatus | DecodeCRRCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeCRRC0RegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeCRBITRCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeF4RCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeF8RCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeVFRCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeVRRCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeVSRCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeVSFRCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeVSSRCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeGPRCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeGPRC_NOR0RegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeG8RCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeG8RC_NOX0RegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeQFRCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeSPE4RCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
static DecodeStatus | DecodeSPERCRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
template<unsigned N> | |
static DecodeStatus | decodeUImmOperand (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
template<unsigned N> | |
static DecodeStatus | decodeSImmOperand (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
static DecodeStatus | decodeMemRIOperands (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
static DecodeStatus | decodeMemRIXOperands (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
static DecodeStatus | decodeMemRIX16Operands (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
static DecodeStatus | decodeSPE8Operands (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
static DecodeStatus | decodeSPE4Operands (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
static DecodeStatus | decodeSPE2Operands (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
static DecodeStatus | decodeCRBitMOperand (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
Variables | |
DEFINE_PPC_REGCLASSES | |
#define DEBUG_TYPE "ppc-disassembler" |
Definition at line 22 of file PPCDisassembler.cpp.
#define DecodePointerLikeRegClass0 DecodeGPRCRegisterClass |
Definition at line 167 of file PPCDisassembler.cpp.
#define DecodePointerLikeRegClass1 DecodeGPRC_NOR0RegisterClass |
Definition at line 168 of file PPCDisassembler.cpp.
#define DecodeQBRCRegisterClass DecodeQFRCRegisterClass |
Definition at line 189 of file PPCDisassembler.cpp.
#define DecodeQSRCRegisterClass DecodeQFRCRegisterClass |
Definition at line 188 of file PPCDisassembler.cpp.
Definition at line 24 of file PPCDisassembler.cpp.
|
static |
Definition at line 42 of file PPCDisassembler.cpp.
Referenced by LLVMInitializePowerPCDisassembler().
|
static |
Definition at line 48 of file PPCDisassembler.cpp.
Referenced by LLVMInitializePowerPCDisassembler().
|
static |
Definition at line 323 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::Address, assert(), llvm::countTrailingZeros(), llvm::MCOperand::createReg(), llvm::ArrayRef< T >::data(), llvm::X86Disassembler::decodeInstruction(), llvm::MCDisassembler::Fail, MI, llvm::support::endian::read32be(), llvm::support::endian::read32le(), Size, llvm::ArrayRef< T >::size(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 95 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 89 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 83 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 101 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 107 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 161 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 155 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 149 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 143 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 207 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCInst::begin(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::MCInst::getOpcode(), llvm::MCInst::insert(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 263 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 242 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCInst::begin(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::MCInst::getOpcode(), llvm::MCInst::insert(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 64 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 170 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 76 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createReg(), and llvm::MCDisassembler::Success.
Referenced by DecodeCRBITRCRegisterClass(), DecodeCRRC0RegisterClass(), DecodeCRRCRegisterClass(), DecodeF4RCRegisterClass(), DecodeF8RCRegisterClass(), DecodeG8RC_NOX0RegisterClass(), DecodeG8RCRegisterClass(), DecodeGPRC_NOR0RegisterClass(), DecodeGPRCRegisterClass(), DecodeQFRCRegisterClass(), DecodeSPE4RCRegisterClass(), DecodeSPERCRegisterClass(), DecodeVFRCRegisterClass(), DecodeVRRCRegisterClass(), DecodeVSFRCRegisterClass(), DecodeVSRCRegisterClass(), and DecodeVSSRCRegisterClass().
|
static |
Definition at line 200 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 308 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 293 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 176 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 278 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 182 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 192 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 113 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 119 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 131 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 125 of file PPCDisassembler.cpp.
References decodeRegisterClass().
|
static |
Definition at line 137 of file PPCDisassembler.cpp.
References decodeRegisterClass().
void LLVMInitializePowerPCDisassembler | ( | ) |
Definition at line 54 of file PPCDisassembler.cpp.
References createPPCDisassembler(), createPPCLEDisassembler(), llvm::getThePPC32Target(), llvm::getThePPC64LETarget(), llvm::getThePPC64Target(), and llvm::TargetRegistry::RegisterMCDisassembler().
DEFINE_PPC_REGCLASSES |
Definition at line 20 of file PPCDisassembler.cpp.