LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | 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/MCDisassembler.h"
#include "llvm/MC/MCFixedLenDisassembler.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/MemoryObject.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
 List of target independent CodeGen pass IDs.
 

Typedefs

typedef
MCDisassembler::DecodeStatus 
DecodeStatus
 

Functions

static bool readInstruction16 (const MemoryObject &region, uint64_t address, uint64_t &size, uint16_t &insn)
 
static bool readInstruction32 (const MemoryObject &region, 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)
 
void LLVMInitializeXCoreDisassembler ()
 

Variables

Target llvm::TheXCoreTarget
 

Detailed Description

This file is part of the XCore Disassembler.

Definition in file XCoreDisassembler.cpp.

Typedef Documentation

Definition at line 26 of file XCoreDisassembler.cpp.

Function Documentation

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

Definition at line 790 of file XCoreDisassembler.cpp.

References llvm::Target::createMCRegInfo().

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

Definition at line 82 of file XCoreDisassembler.cpp.

Referenced by DecodeGRRegsRegisterClass(), and DecodeRRegsRegisterClass().

void LLVMInitializeXCoreDisassembler ( )
static bool readInstruction16 ( const MemoryObject region,
uint64_t  address,
uint64_t &  size,
uint16_t &  insn 
)
static

Definition at line 49 of file XCoreDisassembler.cpp.

References llvm::MemoryObject::readBytes().

static bool readInstruction32 ( const MemoryObject region,
uint64_t  address,
uint64_t &  size,
uint32_t &  insn 
)
static

Definition at line 65 of file XCoreDisassembler.cpp.

References llvm::MemoryObject::readBytes().