9#ifndef LLDB_SOURCE_PLUGINS_INSTRUCTION_LOONGARCH_EMULATEINSTRUCTIONLOONGARCH_H
10#define LLDB_SOURCE_PLUGINS_INSTRUCTION_LOONGARCH_EMULATEINSTRUCTIONLOONGARCH_H
25 return "Emulate instructions for the LoongArch architecture.";
59 uint32_t reg_num)
override;
An architecture specification class.
llvm::Triple::ArchType GetMachine() const
Returns a machine family for the current architecture.
bool EmulateBEQ(uint32_t inst)
static lldb_private::EmulateInstruction * CreateInstance(const lldb_private::ArchSpec &arch, InstructionType inst_type)
bool EmulateBGEU64(uint32_t inst)
bool EmulateBCNEZ(uint32_t inst)
bool EmulateBL64(uint32_t inst)
bool SupportsEmulatingInstructionsOfType(InstructionType inst_type) override
Opcode * GetOpcodeForInstruction(uint32_t inst)
bool EvaluateInstruction(uint32_t options) override
bool EmulateBLTU(uint32_t inst)
bool EmulateJIRL(uint32_t inst)
bool EmulateBLT(uint32_t inst)
bool EmulateBGEU(uint32_t inst)
bool EmulateBLTU64(uint32_t inst)
bool EmulateBLT64(uint32_t inst)
bool TestEmulation(Stream &out_stream, ArchSpec &arch, OptionValueDictionary *test_data) override
bool EmulateJIRL64(uint32_t inst)
bool TestExecute(uint32_t inst)
bool EmulateB(uint32_t inst)
static bool SupportsThisArch(const ArchSpec &arch)
EmulateInstructionLoongArch(const ArchSpec &arch)
bool WritePC(lldb::addr_t pc)
bool EmulateBCNEZ64(uint32_t inst)
std::optional< RegisterInfo > GetRegisterInfo(lldb::RegisterKind reg_kind, uint32_t reg_num) override
bool EmulateBCEQZ(uint32_t inst)
static llvm::StringRef GetPluginNameStatic()
lldb::addr_t ReadPC(bool *success)
bool SetTargetTriple(const ArchSpec &arch) override
bool EmulateBNE(uint32_t inst)
bool EmulateB64(uint32_t inst)
bool EmulateBL(uint32_t inst)
bool EmulateBCEQZ64(uint32_t inst)
bool EmulateBGE64(uint32_t inst)
bool EmulateNonJMP(uint32_t inst)
static llvm::StringRef GetPluginDescriptionStatic()
llvm::Triple::ArchType m_arch_subtype
bool ReadInstruction() override
llvm::StringRef GetPluginName() override
bool EmulateBNEZ64(uint32_t inst)
bool EmulateBGE(uint32_t inst)
bool EmulateBEQZ(uint32_t inst)
bool EmulateBEQZ64(uint32_t inst)
static bool SupportsThisInstructionType(InstructionType inst_type)
bool EmulateBNE64(uint32_t inst)
bool EmulateBNEZ(uint32_t inst)
bool EmulateBEQ64(uint32_t inst)
"lldb/Core/EmulateInstruction.h" A class that allows emulation of CPU opcodes.
A stream class that can stream formatted output to a file.
A class that represents a running process on the host machine.
InstructionType
Instruction types.
@ eInstructionTypePCModifying
RegisterKind
Register numbering types.
bool(EmulateInstructionLoongArch::* callback)(uint32_t opcode)