|
LLVM
3.7.0
|
#include "PPC.h"#include "llvm/MC/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 | 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 | 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 | 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 287 of file PPCDisassembler.cpp.
| #define DecodePointerLikeRegClass1 DecodeGPRC_NOR0RegisterClass |
Definition at line 288 of file PPCDisassembler.cpp.
| #define DecodeQBRCRegisterClass DecodeQFRCRegisterClass |
Definition at line 297 of file PPCDisassembler.cpp.
| #define DecodeQSRCRegisterClass DecodeQFRCRegisterClass |
Definition at line 296 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 371 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::countTrailingZeros(), llvm::MCOperand::createReg(), CRRegs, and llvm::MCDisassembler::Success.
|
static |
Definition at line 227 of file PPCDisassembler.cpp.
References CRBITRegs, and decodeRegisterClass().
|
static |
Definition at line 221 of file PPCDisassembler.cpp.
References CRRegs, and decodeRegisterClass().
|
static |
Definition at line 215 of file PPCDisassembler.cpp.
References CRRegs, and decodeRegisterClass().
|
static |
Definition at line 233 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and FRegs.
|
static |
Definition at line 239 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and FRegs.
|
static |
Definition at line 281 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and G8Regs.
|
static |
Definition at line 275 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and GP0Regs.
|
static |
Definition at line 269 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and GPRegs.
|
static |
Definition at line 315 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCInst::begin(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::MCInst::getOpcode(), GP0Regs, llvm::MCInst::insert(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 350 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCInst::begin(), llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::MCInst::getOpcode(), GP0Regs, llvm::MCInst::insert(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 290 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and QFRegs.
|
static |
Definition at line 208 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), and llvm::MCDisassembler::Success.
Referenced by DecodeCRBITRCRegisterClass(), DecodeCRRC0RegisterClass(), DecodeCRRCRegisterClass(), DecodeF4RCRegisterClass(), DecodeF8RCRegisterClass(), DecodeG8RCRegisterClass(), DecodeGPRC_NOR0RegisterClass(), DecodeGPRCRegisterClass(), DecodeQFRCRegisterClass(), DecodeVRRCRegisterClass(), DecodeVSFRCRegisterClass(), DecodeVSRCRegisterClass(), and DecodeVSSRCRegisterClass().
|
static |
Definition at line 308 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 300 of file PPCDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 245 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and VRegs.
|
static |
Definition at line 257 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and VSFRegs.
|
static |
Definition at line 251 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and VSRegs.
|
static |
Definition at line 263 of file PPCDisassembler.cpp.
References decodeRegisterClass(), and VSSRegs.
| void LLVMInitializePowerPCDisassembler | ( | ) |
Definition at line 52 of file PPCDisassembler.cpp.
References createPPCDisassembler(), createPPCLEDisassembler(), llvm::TargetRegistry::RegisterMCDisassembler(), llvm::ThePPC32Target, llvm::ThePPC64LETarget, and llvm::ThePPC64Target.
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 185 of file PPCDisassembler.cpp.
Referenced by DecodeG8RCRegisterClass(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
Definition at line 174 of file PPCDisassembler.cpp.
Referenced by DecodeGPRC_NOR0RegisterClass(), decodeMemRIOperands(), and decodeMemRIXOperands().
Definition at line 163 of file PPCDisassembler.cpp.
Referenced by DecodeGPRCRegisterClass(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
Definition at line 196 of file PPCDisassembler.cpp.
Referenced by DecodeQFRCRegisterClass().
Definition at line 92 of file PPCDisassembler.cpp.
Referenced by DecodeVRRCRegisterClass().
Definition at line 123 of file PPCDisassembler.cpp.
Referenced by DecodeVSFRCRegisterClass().
Definition at line 103 of file PPCDisassembler.cpp.
Referenced by DecodeVSRCRegisterClass().
Definition at line 143 of file PPCDisassembler.cpp.
Referenced by DecodeVSSRCRegisterClass().
1.8.6