9 #ifndef LLVM_MC_MCDISASSEMBLER_H
10 #define LLVM_MC_MCDISASSEMBLER_H
16 #include "llvm/Support/DataTypes.h"
21 class MCSubtargetInfo;
111 uint64_t Address,
bool IsBranch,
112 uint64_t Offset, uint64_t InstSize)
const;
const char *(* LLVMSymbolLookupCallback)(void *DisInfo, uint64_t ReferenceValue, uint64_t *ReferenceType, uint64_t ReferencePC, const char **ReferenceName)
raw_ostream * CommentStream
OwningPtr< MCSymbolizer > Symbolizer
LLVMOpInfoCallback getLLVMOpInfoCallback() const
void * getDisInfoBlock() const
const MCSubtargetInfo & STI
void setSymbolizer(OwningPtr< MCSymbolizer > &Symzer)
const MCSubtargetInfo & getSubtargetInfo() const
virtual ~MCDisassembler()
LLVMSymbolLookupCallback getLLVMSymbolLookupCallback() const
MCDisassembler(const MCSubtargetInfo &STI)
Constructor - Performs initial setup for the disassembler.
virtual DecodeStatus getInstruction(MCInst &instr, uint64_t &size, const MemoryObject ®ion, uint64_t address, raw_ostream &vStream, raw_ostream &cStream) const =0
bool tryAddingSymbolicOperand(MCInst &Inst, int64_t Value, uint64_t Address, bool IsBranch, uint64_t Offset, uint64_t InstSize) const
void setupForSymbolicDisassembly(LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp, void *DisInfo, MCContext *Ctx, OwningPtr< MCRelocationInfo > &RelInfo)
Sets up an external symbolizer that uses the C API callbacks.
LLVM Value Representation.
void tryAddingPcLoadReferenceComment(int64_t Value, uint64_t Address) const
int(* LLVMOpInfoCallback)(void *DisInfo, uint64_t PC, uint64_t Offset, uint64_t Size, int TagType, void *TagBuf)
MCDisassembler::DecodeStatus DecodeStatus
MCContext * getMCContext() const