|
LLVM
4.0.0
|
#include "PPC.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 () |
| template<std::size_t N> | |
| static DecodeStatus | decodeRegisterClass (MCInst &Inst, uint64_t RegNo, const unsigned(&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 | DecodeQFRCRegisterClass (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 | decodeCRBitMOperand (MCInst &Inst, uint64_t Imm, int64_t Address, const void *Decoder) |
Variables | |
| static const unsigned | CRRegs [] |
| static const unsigned | CRBITRegs [] |
| static const unsigned | FRegs [] |
| static const unsigned | VFRegs [] |
| static const unsigned | VRegs [] |
| static const unsigned | VSRegs [] |
| static const unsigned | VSFRegs [] |
| static const unsigned | VSSRegs [] |
| static const unsigned | GPRegs [] |
| static const unsigned | GP0Regs [] |
| static const unsigned | G8Regs [] |
| static const unsigned | QFRegs [] |
| #define DEBUG_TYPE "ppc-disassembler" |
Definition at line 20 of file PPCDisassembler.cpp.
| #define DecodePointerLikeRegClass0 DecodeGPRCRegisterClass |
Definition at line 304 of file PPCDisassembler.cpp.
| #define DecodePointerLikeRegClass1 DecodeGPRC_NOR0RegisterClass |
Definition at line 305 of file PPCDisassembler.cpp.
| #define DecodeQBRCRegisterClass DecodeQFRCRegisterClass |
Definition at line 314 of file PPCDisassembler.cpp.
| #define DecodeQSRCRegisterClass DecodeQFRCRegisterClass |
Definition at line 313 of file PPCDisassembler.cpp.
Definition at line 22 of file PPCDisassembler.cpp.
|
static |
Definition at line 40 of file PPCDisassembler.cpp.
Referenced by LLVMInitializePowerPCDisassembler().
|
static |
Definition at line 46 of file PPCDisassembler.cpp.
Referenced by LLVMInitializePowerPCDisassembler().
|
static |
Definition at line 403 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::countTrailingZeros(), llvm::MCOperand::createReg(), CRRegs, and llvm::MCDisassembler::Success.
|
static |
Definition at line 238 of file PPCDisassembler.cpp.
References CRBITRegs, and decodeRegisterClass().
|
static |
Definition at line 232 of file PPCDisassembler.cpp.
References CRRegs, and decodeRegisterClass().
|
static |
Definition at line 226 of file PPCDisassembler.cpp.
References CRRegs, and decodeRegisterClass().
|
static |
Definition at line 244 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and FRegs.
|
static |
Definition at line 250 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and FRegs.
|
static |
Definition at line 298 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and G8Regs.
|
static |
Definition at line 292 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and GP0Regs.
|
static |
Definition at line 286 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and GPRegs.
|
static |
Definition at line 332 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCInst::begin(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::MCInst::getOpcode(), GP0Regs, llvm::MCInst::insert(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 388 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), GP0Regs, and llvm::MCDisassembler::Success.
|
static |
Definition at line 367 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCInst::begin(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::MCInst::getOpcode(), GP0Regs, llvm::MCInst::insert(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 307 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and QFRegs.
|
static |
Definition at line 219 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createReg(), Regs, and llvm::MCDisassembler::Success.
Referenced by DecodeCRBITRCRegisterClass(), DecodeCRRC0RegisterClass(), DecodeCRRCRegisterClass(), DecodeF4RCRegisterClass(), DecodeF8RCRegisterClass(), DecodeG8RCRegisterClass(), DecodeGPRC_NOR0RegisterClass(), DecodeGPRCRegisterClass(), DecodeQFRCRegisterClass(), DecodeVFRCRegisterClass(), DecodeVRRCRegisterClass(), DecodeVSFRCRegisterClass(), DecodeVSRCRegisterClass(), and DecodeVSSRCRegisterClass().
|
static |
Definition at line 325 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 317 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), assert(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 256 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and VFRegs.
|
static |
Definition at line 262 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and VRegs.
|
static |
Definition at line 274 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and VSFRegs.
|
static |
Definition at line 268 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and VSRegs.
|
static |
Definition at line 280 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and VSSRegs.
| void LLVMInitializePowerPCDisassembler | ( | ) |
Definition at line 52 of file PPCDisassembler.cpp.
References createPPCDisassembler(), createPPCLEDisassembler(), llvm::getThePPC32Target(), llvm::getThePPC64LETarget(), llvm::getThePPC64Target(), and llvm::TargetRegistry::RegisterMCDisassembler().
Definition at line 70 of file PPCDisassembler.cpp.
Referenced by DecodeCRBITRCRegisterClass().
Definition at line 65 of file PPCDisassembler.cpp.
Referenced by decodeCRBitMOperand(), DecodeCRRC0RegisterClass(), and DecodeCRRCRegisterClass().
Definition at line 81 of file PPCDisassembler.cpp.
Referenced by DecodeF4RCRegisterClass(), and DecodeF8RCRegisterClass().
Definition at line 196 of file PPCDisassembler.cpp.
Referenced by DecodeG8RCRegisterClass(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
Definition at line 185 of file PPCDisassembler.cpp.
Referenced by DecodeGPRC_NOR0RegisterClass(), decodeMemRIOperands(), decodeMemRIX16Operands(), and decodeMemRIXOperands().
Definition at line 174 of file PPCDisassembler.cpp.
Referenced by DecodeGPRCRegisterClass(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
Definition at line 207 of file PPCDisassembler.cpp.
Referenced by DecodeQFRCRegisterClass().
Definition at line 92 of file PPCDisassembler.cpp.
Referenced by DecodeVFRCRegisterClass().
Definition at line 103 of file PPCDisassembler.cpp.
Referenced by DecodeVRRCRegisterClass().
Definition at line 134 of file PPCDisassembler.cpp.
Referenced by DecodeVSFRCRegisterClass().
Definition at line 114 of file PPCDisassembler.cpp.
Referenced by DecodeVSRCRegisterClass().
Definition at line 154 of file PPCDisassembler.cpp.
Referenced by DecodeVSSRCRegisterClass().
1.8.6