LLVM  6.0.0svn
Classes | Macros | Typedefs | Functions
Disassembler.h File Reference
#include "llvm/Support/DataTypes.h"
#include <stddef.h>
Include dependency graph for Disassembler.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  LLVMOpInfoSymbol1
 The initial support in LLVM MC for the most general form of a relocatable expression is "AddSymbol - SubtractSymbol + Offset". More...
 
struct  LLVMOpInfo1
 

Macros

#define LLVMDisassembler_VariantKind_None   0 /* all targets */
 The operand VariantKinds for symbolic disassembly. More...
 
#define LLVMDisassembler_VariantKind_ARM_HI16   1 /* :upper16: */
 The ARM target VariantKinds. More...
 
#define LLVMDisassembler_VariantKind_ARM_LO16   2 /* :lower16: */
 
#define LLVMDisassembler_VariantKind_ARM64_PAGE   1 /* @page */
 The ARM64 target VariantKinds. More...
 
#define LLVMDisassembler_VariantKind_ARM64_PAGEOFF   2 /* @pageoff */
 
#define LLVMDisassembler_VariantKind_ARM64_GOTPAGE   3 /* @gotpage */
 
#define LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF   4 /* @gotpageoff */
 
#define LLVMDisassembler_VariantKind_ARM64_TLVP   5 /* @tvlppage */
 
#define LLVMDisassembler_VariantKind_ARM64_TLVOFF   6 /* @tvlppageoff */
 
#define LLVMDisassembler_ReferenceType_InOut_None   0
 The reference types on input and output. More...
 
#define LLVMDisassembler_ReferenceType_In_Branch   1
 
#define LLVMDisassembler_ReferenceType_In_PCrel_Load   2
 
#define LLVMDisassembler_ReferenceType_In_ARM64_ADRP   0x100000001
 
#define LLVMDisassembler_ReferenceType_In_ARM64_ADDXri   0x100000002
 
#define LLVMDisassembler_ReferenceType_In_ARM64_LDRXui   0x100000003
 
#define LLVMDisassembler_ReferenceType_In_ARM64_LDRXl   0x100000004
 
#define LLVMDisassembler_ReferenceType_In_ARM64_ADR   0x100000005
 
#define LLVMDisassembler_ReferenceType_Out_SymbolStub   1
 
#define LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr   2
 
#define LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr   3
 
#define LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref   4
 
#define LLVMDisassembler_ReferenceType_Out_Objc_Message   5
 
#define LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref   6
 
#define LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref   7
 
#define LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref   8
 
#define LLVMDisassembler_ReferenceType_DeMangled_Name   9
 
#define LLVMDisassembler_Option_UseMarkup   1
 
#define LLVMDisassembler_Option_PrintImmHex   2
 
#define LLVMDisassembler_Option_AsmPrinterVariant   4
 
#define LLVMDisassembler_Option_SetInstrComments   8
 
#define LLVMDisassembler_Option_PrintLatency   16
 

Typedefs

typedef void * LLVMDisasmContextRef
 An opaque reference to a disassembler context. More...
 
typedef int(* LLVMOpInfoCallback) (void *DisInfo, uint64_t PC, uint64_t Offset, uint64_t Size, int TagType, void *TagBuf)
 The type for the operand information call back function. More...
 
typedef const char *(* LLVMSymbolLookupCallback) (void *DisInfo, uint64_t ReferenceValue, uint64_t *ReferenceType, uint64_t ReferencePC, const char **ReferenceName)
 The type for the symbol lookup function. More...
 

Functions

LLVMDisasmContextRef LLVMCreateDisasm (const char *TripleName, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)
 Create a disassembler for the TripleName. More...
 
LLVMDisasmContextRef LLVMCreateDisasmCPU (const char *Triple, const char *CPU, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)
 Create a disassembler for the TripleName and a specific CPU. More...
 
LLVMDisasmContextRef LLVMCreateDisasmCPUFeatures (const char *Triple, const char *CPU, const char *Features, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)
 Create a disassembler for the TripleName, a specific CPU and specific feature string. More...
 
int LLVMSetDisasmOptions (LLVMDisasmContextRef DC, uint64_t Options)
 Set the disassembler's options. More...
 
void LLVMDisasmDispose (LLVMDisasmContextRef DC)
 Dispose of a disassembler context. More...
 
size_t LLVMDisasmInstruction (LLVMDisasmContextRef DC, uint8_t *Bytes, uint64_t BytesSize, uint64_t PC, char *OutString, size_t OutStringSize)
 Disassemble a single instruction using the disassembler context specified in the parameter DC. More...