9#ifndef LLDB_SOURCE_PLUGINS_INSTRUCTION_ARM64_EMULATEINSTRUCTIONARM64_H 
   10#define LLDB_SOURCE_PLUGINS_INSTRUCTION_ARM64_EMULATEINSTRUCTIONARM64_H 
   69  std::optional<lldb_private::RegisterInfo>
 
  134    uint32_t 
N : 1, 
V : 1, 
C : 1,
 
 
  154  static uint64_t 
AddWithCarry(uint32_t N, uint64_t x, uint64_t y, 
bool carry_in,
 
  177  template <AddrMode a_mode> 
bool EmulateLDPSTP(
const uint32_t opcode);
 
  181  bool EmulateB(
const uint32_t opcode);
 
 
bool EmulateLDRSTRImm(const uint32_t opcode)
 
std::optional< lldb_private::RegisterInfo > GetRegisterInfo(lldb::RegisterKind reg_kind, uint32_t reg_num) override
 
static bool SupportsEmulatingInstructionsOfTypeStatic(lldb_private::InstructionType inst_type)
 
bool ReadInstruction() override
 
static llvm::StringRef GetPluginNameStatic()
 
llvm::StringRef GetPluginName() override
 
bool EmulateLDPSTP(const uint32_t opcode)
 
bool EmulateTBZ(const uint32_t opcode)
 
bool EmulateBcond(const uint32_t opcode)
 
static Opcode * GetOpcodeForInstruction(const uint32_t opcode)
 
@ Unpredictable_LDPOVERLAP
 
@ Unpredictable_WBOVERLAP
 
EmulateInstructionARM64(const lldb_private::ArchSpec &arch)
 
bool TestEmulation(lldb_private::Stream &out_stream, lldb_private::ArchSpec &arch, lldb_private::OptionValueDictionary *test_data) override
 
ProcState m_opcode_pstate
 
bool BranchTo(const Context &context, uint32_t N, lldb::addr_t target)
 
bool EmulateCBZ(const uint32_t opcode)
 
bool SetTargetTriple(const lldb_private::ArchSpec &arch) override
 
bool CreateFunctionEntryUnwind(lldb_private::UnwindPlan &unwind_plan) override
 
bool EvaluateInstruction(uint32_t evaluate_options) override
 
static llvm::StringRef GetPluginDescriptionStatic()
 
bool EmulateADDSUBImm(const uint32_t opcode)
 
bool ConditionHolds(const uint32_t cond)
 
bool EmulateB(const uint32_t opcode)
 
ProcState m_emulated_pstate
 
uint32_t GetFramePointerRegisterNumber() const
 
static lldb_private::EmulateInstruction * CreateInstance(const lldb_private::ArchSpec &arch, lldb_private::InstructionType inst_type)
 
bool SupportsEmulatingInstructionsOfType(lldb_private::InstructionType inst_type) override
 
static uint64_t AddWithCarry(uint32_t N, uint64_t x, uint64_t y, bool carry_in, EmulateInstructionARM64::ProcState &proc_state)
 
An architecture specification class.
 
"lldb/Core/EmulateInstruction.h" A class that allows emulation of CPU opcodes.
 
EmulateInstruction(const ArchSpec &arch)
 
A stream class that can stream formatted output to a file.
 
InstructionType
Instruction types.
 
@ eInstructionTypePrologueEpilogue
 
@ eInstructionTypePCModifying
 
RegisterKind
Register numbering types.
 
bool(EmulateInstructionARM64::* callback)(const uint32_t opcode)