LLVM API Documentation

Namespaces | Defines | 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/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

namespace  llvm
 

List of target independent CodeGen pass IDs.


Defines

#define DEBUG_TYPE   "xcore-disassembler"

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, MCContext &Ctx)
void LLVMInitializeXCoreDisassembler ()

Variables

Target llvm::TheXCoreTarget

Detailed Description

This file is part of the XCore Disassembler.

Definition in file XCoreDisassembler.cpp.


Define Documentation

#define DEBUG_TYPE   "xcore-disassembler"

Definition at line 27 of file XCoreDisassembler.cpp.


Typedef Documentation

Definition at line 29 of file XCoreDisassembler.cpp.


Function Documentation

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

Definition at line 789 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]
static bool readInstruction16 ( const MemoryObject region,
uint64_t  address,
uint64_t &  size,
uint16_t &  insn 
) [static]

Definition at line 47 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 63 of file XCoreDisassembler.cpp.

References llvm::MemoryObject::readBytes().