9#ifndef LLDB_SOURCE_PLUGINS_DISASSEMBLER_LLVMC_DISASSEMBLERLLVMC_H
10#define LLDB_SOURCE_PLUGINS_DISASSEMBLER_LLVMC_DISASSEMBLERLLVMC_H
43 bool append,
bool data_from_file)
override;
52 const char *flavor)
override;
56 int OpInfo(uint64_t PC, uint64_t Offset, uint64_t Size,
int TagType,
59 const char *
SymbolLookup(uint64_t ReferenceValue, uint64_t *ReferenceType,
60 uint64_t ReferencePC,
const char **ReferenceName);
62 static int OpInfoCallback(
void *DisInfo, uint64_t PC, uint64_t Offset,
63 uint64_t Size,
int TagType,
void *TagBug);
66 uint64_t ReferenceValue,
67 uint64_t *ReferenceType,
69 const char **ReferenceName);
std::optional< uint32_t > m_adrp_insn
static const char * SymbolLookupCallback(void *DisInfo, uint64_t ReferenceValue, uint64_t *ReferenceType, uint64_t ReferencePC, const char **ReferenceName)
int OpInfo(uint64_t PC, uint64_t Offset, uint64_t Size, int TagType, void *TagBug)
const lldb_private::ExecutionContext * m_exe_ctx
const char * SymbolLookup(uint64_t ReferenceValue, uint64_t *ReferenceType, uint64_t ReferencePC, const char **ReferenceName)
std::unique_ptr< MCDisasmInstance > m_disasm_up
static llvm::StringRef GetPluginNameStatic()
static int OpInfoCallback(void *DisInfo, uint64_t PC, uint64_t Offset, uint64_t Size, int TagType, void *TagBug)
static lldb::DisassemblerSP CreateInstance(const lldb_private::ArchSpec &arch, const char *flavor)
lldb::addr_t m_adrp_address
bool FlavorValidForArchSpec(const lldb_private::ArchSpec &arch, const char *flavor) override
~DisassemblerLLVMC() override
llvm::StringRef GetPluginName() override
std::unique_ptr< MCDisasmInstance > m_alternate_disasm_up
InstructionLLVMC * m_inst
size_t DecodeInstructions(const lldb_private::Address &base_addr, const lldb_private::DataExtractor &data, lldb::offset_t data_offset, size_t num_instructions, bool append, bool data_from_file) override
A section + offset based address class.
An architecture specification class.
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
std::shared_ptr< lldb_private::Disassembler > DisassemblerSP