LLVM  3.7.0
Namespaces | Macros | Typedefs | Functions | Variables
XCoreDisassembler.cpp File Reference

This file is part of the XCore Disassembler. More...

#include "XCore.h"
#include "XCoreRegisterInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDisassembler.h"
#include "llvm/MC/MCFixedLenDisassembler.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/TargetRegistry.h"
#include "XCoreGenDisassemblerTables.inc"
Include dependency graph for XCoreDisassembler.cpp:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Macros

#define DEBUG_TYPE   "xcore-disassembler"
 

Typedefs

typedef
MCDisassembler::DecodeStatus 
DecodeStatus
 

Functions

static bool readInstruction16 (ArrayRef< uint8_t > Bytes, uint64_t Address, uint64_t &Size, uint16_t &Insn)
 
static bool readInstruction32 (ArrayRef< uint8_t > Bytes, uint64_t Address, uint64_t &Size, uint32_t &Insn)
 
static unsigned getReg (const void *D, unsigned RC, unsigned RegNo)
 
static DecodeStatus DecodeGRRegsRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeRRegsRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeBitpOperand (MCInst &Inst, unsigned Val, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeNegImmOperand (MCInst &Inst, unsigned Val, uint64_t Address, const void *Decoder)
 
static DecodeStatus Decode2RInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus Decode2RImmInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeR2RInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus Decode2RSrcDstInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeRUSInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeRUSBitpInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeRUSSrcDstBitpInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL2RInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeLR2RInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus Decode3RInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus Decode3RImmInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus Decode2RUSInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus Decode2RUSBitpInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL3RInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL3RSrcDstInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL2RUSInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL2RUSBitpInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL6RInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL5RInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL4RSrcDstInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL4RSrcDstSrcDstInstruction (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus Decode2OpInstruction (unsigned Insn, unsigned &Op1, unsigned &Op2)
 
static DecodeStatus Decode3OpInstruction (unsigned Insn, unsigned &Op1, unsigned &Op2, unsigned &Op3)
 
static DecodeStatus Decode2OpInstructionFail (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL2OpInstructionFail (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeL5RInstructionFail (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static MCDisassemblercreateXCoreDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx)
 
void LLVMInitializeXCoreDisassembler ()
 

Variables

Target llvm::TheXCoreTarget
 

Detailed Description

This file is part of the XCore Disassembler.

Definition in file XCoreDisassembler.cpp.

Macro Definition Documentation

#define DEBUG_TYPE   "xcore-disassembler"

Definition at line 26 of file XCoreDisassembler.cpp.

Typedef Documentation

Definition at line 28 of file XCoreDisassembler.cpp.

Function Documentation

static MCDisassembler* createXCoreDisassembler ( const Target T,
const MCSubtargetInfo STI,
MCContext Ctx 
)
static

Definition at line 775 of file XCoreDisassembler.cpp.

Referenced by LLVMInitializeXCoreDisassembler().

static DecodeStatus Decode2OpInstruction ( unsigned  Insn,
unsigned Op1,
unsigned Op2 
)
static
static DecodeStatus Decode2OpInstructionFail ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus Decode2RImmInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus Decode2RInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus Decode2RSrcDstInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus Decode2RUSBitpInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus Decode2RUSInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus Decode3OpInstruction ( unsigned  Insn,
unsigned Op1,
unsigned Op2,
unsigned Op3 
)
static
static DecodeStatus Decode3RImmInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus Decode3RInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeBitpOperand ( MCInst Inst,
unsigned  Val,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeGRRegsRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL2OpInstructionFail ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL2RInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL2RUSBitpInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL2RUSInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL3RInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL3RSrcDstInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL4RSrcDstInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL4RSrcDstSrcDstInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL5RInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL5RInstructionFail ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeL6RInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeLR2RInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeNegImmOperand ( MCInst Inst,
unsigned  Val,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeR2RInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeRRegsRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeRUSBitpInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeRUSInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static DecodeStatus DecodeRUSSrcDstBitpInstruction ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
static unsigned getReg ( const void *  D,
unsigned  RC,
unsigned  RegNo 
)
static
void LLVMInitializeXCoreDisassembler ( )
static bool readInstruction16 ( ArrayRef< uint8_t >  Bytes,
uint64_t  Address,
uint64_t &  Size,
uint16_t &  Insn 
)
static

Definition at line 45 of file XCoreDisassembler.cpp.

References llvm::ArrayRef< T >::size().

static bool readInstruction32 ( ArrayRef< uint8_t >  Bytes,
uint64_t  Address,
uint64_t &  Size,
uint32_t &  Insn 
)
static

Definition at line 57 of file XCoreDisassembler.cpp.

References llvm::ArrayRef< T >::size().