LLVM  4.0.0
Macros | Typedefs | Functions | Variables
BPFDisassembler.cpp File Reference
#include "BPF.h"
#include "BPFSubtarget.h"
#include "MCTargetDesc/BPFMCTargetDesc.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/MC/MCDisassembler/MCDisassembler.h"
#include "llvm/MC/MCFixedLenDisassembler.h"
#include "llvm/MC/MCInst.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/TargetRegistry.h"
#include <cstdint>
#include "BPFGenDisassemblerTables.inc"
Include dependency graph for BPFDisassembler.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "bpf-disassembler"
 

Typedefs

typedef
MCDisassembler::DecodeStatus 
DecodeStatus
 
typedef DecodeStatus(* DecodeFunc )(MCInst &MI, unsigned insn, uint64_t Address, const void *Decoder)
 

Functions

static MCDisassemblercreateBPFDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx)
 
void LLVMInitializeBPFDisassembler ()
 
static DecodeStatus DecodeGPRRegisterClass (MCInst &Inst, unsigned RegNo, uint64_t, const void *)
 
static DecodeStatus decodeMemoryOpValue (MCInst &Inst, unsigned Insn, uint64_t Address, const void *Decoder)
 
static DecodeStatus readInstruction64 (ArrayRef< uint8_t > Bytes, uint64_t Address, uint64_t &Size, uint64_t &Insn)
 

Variables

static const unsigned GPRDecoderTable []
 

Macro Definition Documentation

#define DEBUG_TYPE   "bpf-disassembler"

Definition at line 27 of file BPFDisassembler.cpp.

Typedef Documentation

typedef DecodeStatus(* DecodeFunc)(MCInst &MI, unsigned insn, uint64_t Address, const void *Decoder)

Definition at line 153 of file BPFDisassembler.cpp.

Definition at line 29 of file BPFDisassembler.cpp.

Function Documentation

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

Definition at line 48 of file BPFDisassembler.cpp.

Referenced by LLVMInitializeBPFDisassembler().

static DecodeStatus DecodeGPRRegisterClass ( MCInst Inst,
unsigned  RegNo,
uint64_t  ,
const void *   
)
static
static DecodeStatus decodeMemoryOpValue ( MCInst Inst,
unsigned  Insn,
uint64_t  Address,
const void *  Decoder 
)
static
void LLVMInitializeBPFDisassembler ( )
static DecodeStatus readInstruction64 ( ArrayRef< uint8_t >  Bytes,
uint64_t  Address,
uint64_t &  Size,
uint64_t &  Insn 
)
static

Variable Documentation

const unsigned GPRDecoderTable[]
static
Initial value:
= {
BPF::R0, BPF::R1, BPF::R2, BPF::R3, BPF::R4, BPF::R5,
BPF::R6, BPF::R7, BPF::R8, BPF::R9, BPF::R10, BPF::R11}
#define R4(n)
#define R2(n)
#define R6(n)

Definition at line 65 of file BPFDisassembler.cpp.

Referenced by DecodeGPRRegisterClass(), and decodeMemoryOpValue().