1274955Ssvnmir//===- AArch64ExternalSymbolizer.h - Symbolizer for AArch64 -----*- C++ -*-===// 2274955Ssvnmir// 3274955Ssvnmir// The LLVM Compiler Infrastructure 4274955Ssvnmir// 5274955Ssvnmir// This file is distributed under the University of Illinois Open Source 6274955Ssvnmir// License. See LICENSE.TXT for details. 7274955Ssvnmir// 8274955Ssvnmir//===----------------------------------------------------------------------===// 9274955Ssvnmir// 10274955Ssvnmir// Symbolize AArch64 assembly code during disassembly using callbacks. 11274955Ssvnmir// 12274955Ssvnmir//===----------------------------------------------------------------------===// 13274955Ssvnmir 14280031Sdim#ifndef LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64EXTERNALSYMBOLIZER_H 15280031Sdim#define LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64EXTERNALSYMBOLIZER_H 16274955Ssvnmir 17274955Ssvnmir#include "llvm/MC/MCExternalSymbolizer.h" 18274955Ssvnmir 19274955Ssvnmirnamespace llvm { 20274955Ssvnmir 21274955Ssvnmirclass AArch64ExternalSymbolizer : public MCExternalSymbolizer { 22274955Ssvnmirpublic: 23274955Ssvnmir AArch64ExternalSymbolizer(MCContext &Ctx, 24274955Ssvnmir std::unique_ptr<MCRelocationInfo> RelInfo, 25274955Ssvnmir LLVMOpInfoCallback GetOpInfo, 26274955Ssvnmir LLVMSymbolLookupCallback SymbolLookUp, 27274955Ssvnmir void *DisInfo) 28274955Ssvnmir : MCExternalSymbolizer(Ctx, std::move(RelInfo), GetOpInfo, SymbolLookUp, 29274955Ssvnmir DisInfo) {} 30274955Ssvnmir 31274955Ssvnmir bool tryAddingSymbolicOperand(MCInst &MI, raw_ostream &CommentStream, 32274955Ssvnmir int64_t Value, uint64_t Address, bool IsBranch, 33274955Ssvnmir uint64_t Offset, uint64_t InstSize) override; 34274955Ssvnmir}; 35274955Ssvnmir 36274955Ssvnmir} // namespace llvm 37274955Ssvnmir 38274955Ssvnmir#endif 39