|
LLVM
3.7.0
|
#include "Sparc.h"#include "SparcRegisterInfo.h"#include "SparcSubtarget.h"#include "llvm/MC/MCDisassembler.h"#include "llvm/MC/MCFixedLenDisassembler.h"#include "llvm/MC/MCInst.h"#include "llvm/MC/MCContext.h"#include "llvm/MC/MCAsmInfo.h"#include "llvm/Support/TargetRegistry.h"#include "SparcGenDisassemblerTables.inc"Go to the source code of this file.
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
Macros | |
| #define | DEBUG_TYPE "sparc-disassembler" |
Typedefs | |
| typedef MCDisassembler::DecodeStatus | DecodeStatus |
| typedef DecodeStatus(* | DecodeFunc )(MCInst &MI, unsigned insn, uint64_t Address, const void *Decoder) |
Functions | |
| static MCDisassembler * | createSparcDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx) |
| void | LLVMInitializeSparcDisassembler () |
| static DecodeStatus | DecodeIntRegsRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeI64RegsRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeFPRegsRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeDFPRegsRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeQFPRegsRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeFCCRegsRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeASRRegsRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeLoadInt (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeLoadFP (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeLoadDFP (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeLoadQFP (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeStoreInt (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeStoreFP (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeStoreDFP (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeStoreQFP (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeCall (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeSIMM13 (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeJMPL (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeReturn (MCInst &MI, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeSWAP (MCInst &Inst, unsigned insn, uint64_t Address, const void *Decoder) |
| static DecodeStatus | readInstruction32 (ArrayRef< uint8_t > Bytes, uint64_t Address, uint64_t &Size, uint32_t &Insn, bool IsLittleEndian) |
| Read four bytes from the ArrayRef and return 32 bit word. More... | |
| static DecodeStatus | DecodeMem (MCInst &MI, unsigned insn, uint64_t Address, const void *Decoder, bool isLoad, DecodeFunc DecodeRD) |
| static bool | tryAddingSymbolicOperand (int64_t Value, bool isBranch, uint64_t Address, uint64_t Offset, uint64_t Width, MCInst &MI, const void *Decoder) |
Variables | |
| Target | llvm::TheSparcTarget |
| Target | llvm::TheSparcV9Target |
| Target | llvm::TheSparcelTarget |
| static const unsigned | IntRegDecoderTable [] |
| static const unsigned | FPRegDecoderTable [] |
| static const unsigned | DFPRegDecoderTable [] |
| static const unsigned | QFPRegDecoderTable [] |
| static const unsigned | FCCRegDecoderTable [] |
| static const unsigned | ASRRegDecoderTable [] |
| #define DEBUG_TYPE "sparc-disassembler" |
Definition at line 26 of file SparcDisassembler.cpp.
| typedef DecodeStatus(* DecodeFunc)(MCInst &MI, unsigned insn, uint64_t Address, const void *Decoder) |
Definition at line 273 of file SparcDisassembler.cpp.
Definition at line 28 of file SparcDisassembler.cpp.
|
static |
Definition at line 50 of file SparcDisassembler.cpp.
Referenced by LLVMInitializeSparcDisassembler().
|
static |
Definition at line 190 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), ASRRegDecoderTable, llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
|
static |
Definition at line 380 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), llvm::MCDisassembler::Success, and tryAddingSymbolicOperand().
|
static |
Definition at line 155 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), DFPRegDecoderTable, llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
Referenced by DecodeLoadDFP(), and DecodeStoreDFP().
|
static |
Definition at line 181 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, FCCRegDecoderTable, and llvm::MCDisassembler::Success.
|
static |
Definition at line 143 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, FPRegDecoderTable, and llvm::MCDisassembler::Success.
Referenced by DecodeLoadFP(), and DecodeStoreFP().
|
static |
Definition at line 131 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, IntRegDecoderTable, and llvm::MCDisassembler::Success.
|
static |
Definition at line 120 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, IntRegDecoderTable, and llvm::MCDisassembler::Success.
Referenced by DecodeJMPL(), DecodeLoadInt(), DecodeMem(), DecodeReturn(), DecodeStoreInt(), and DecodeSWAP().
|
static |
Definition at line 397 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), DecodeIntRegsRegisterClass(), llvm::sys::fs::status(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 335 of file SparcDisassembler.cpp.
References DecodeDFPRegsRegisterClass(), and DecodeMem().
|
static |
Definition at line 329 of file SparcDisassembler.cpp.
References DecodeFPRegsRegisterClass(), and DecodeMem().
|
static |
Definition at line 323 of file SparcDisassembler.cpp.
References DecodeIntRegsRegisterClass(), and DecodeMem().
|
static |
Definition at line 341 of file SparcDisassembler.cpp.
References DecodeMem(), and DecodeQFPRegsRegisterClass().
|
static |
Definition at line 276 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), DecodeIntRegsRegisterClass(), llvm::sys::fs::status(), and llvm::MCDisassembler::Success.
Referenced by DecodeLoadDFP(), DecodeLoadFP(), DecodeLoadInt(), DecodeLoadQFP(), DecodeStoreDFP(), DecodeStoreFP(), DecodeStoreInt(), and DecodeStoreQFP().
|
static |
Definition at line 167 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createReg(), llvm::MCDisassembler::Fail, QFPRegDecoderTable, and llvm::MCDisassembler::Success.
Referenced by DecodeLoadQFP(), and DecodeStoreQFP().
|
static |
Definition at line 431 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), DecodeIntRegsRegisterClass(), llvm::sys::fs::status(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 390 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 359 of file SparcDisassembler.cpp.
References DecodeDFPRegsRegisterClass(), and DecodeMem().
|
static |
Definition at line 353 of file SparcDisassembler.cpp.
References DecodeFPRegsRegisterClass(), and DecodeMem().
|
static |
Definition at line 347 of file SparcDisassembler.cpp.
References DecodeIntRegsRegisterClass(), and DecodeMem().
|
static |
Definition at line 365 of file SparcDisassembler.cpp.
References DecodeMem(), and DecodeQFPRegsRegisterClass().
|
static |
Definition at line 459 of file SparcDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), DecodeIntRegsRegisterClass(), llvm::sys::fs::status(), and llvm::MCDisassembler::Success.
| void LLVMInitializeSparcDisassembler | ( | ) |
Definition at line 57 of file SparcDisassembler.cpp.
References createSparcDisassembler(), llvm::TargetRegistry::RegisterMCDisassembler(), llvm::TheSparcelTarget, llvm::TheSparcTarget, and llvm::TheSparcV9Target.
|
static |
Read four bytes from the ArrayRef and return 32 bit word.
Definition at line 230 of file SparcDisassembler.cpp.
References llvm::MCDisassembler::Fail, llvm::ArrayRef< T >::size(), and llvm::MCDisassembler::Success.
|
static |
Definition at line 371 of file SparcDisassembler.cpp.
References llvm::MCDisassembler::tryAddingSymbolicOperand().
Referenced by DecodeCall().
Definition at line 110 of file SparcDisassembler.cpp.
Referenced by DecodeASRRegsRegisterClass().
Definition at line 87 of file SparcDisassembler.cpp.
Referenced by DecodeDFPRegsRegisterClass().
Definition at line 107 of file SparcDisassembler.cpp.
Referenced by DecodeFCCRegsRegisterClass().
Definition at line 77 of file SparcDisassembler.cpp.
Referenced by DecodeFPRegsRegisterClass().
Definition at line 67 of file SparcDisassembler.cpp.
Referenced by DecodeI64RegsRegisterClass(), and DecodeIntRegsRegisterClass().
Definition at line 97 of file SparcDisassembler.cpp.
Referenced by DecodeQFPRegsRegisterClass().
1.8.6