LLDB  mainline
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Attributes | List of all members
EmulateInstructionMIPS64 Class Reference

#include <EmulateInstructionMIPS64.h>

Inheritance diagram for EmulateInstructionMIPS64:
Inheritance graph
[legend]
Collaboration diagram for EmulateInstructionMIPS64:
Collaboration graph
[legend]

Classes

struct  MipsOpcode
 

Public Member Functions

 EmulateInstructionMIPS64 (const lldb_private::ArchSpec &arch)
 
llvm::StringRef GetPluginName () override
 
bool SetTargetTriple (const lldb_private::ArchSpec &arch) override
 
bool SupportsEmulatingInstructionsOfType (lldb_private::InstructionType inst_type) override
 
bool ReadInstruction () override
 
bool EvaluateInstruction (uint32_t evaluate_options) override
 
bool TestEmulation (lldb_private::Stream *out_stream, lldb_private::ArchSpec &arch, lldb_private::OptionValueDictionary *test_data) override
 
bool GetRegisterInfo (lldb::RegisterKind reg_kind, uint32_t reg_num, lldb_private::RegisterInfo &reg_info) override
 
bool CreateFunctionEntryUnwind (lldb_private::UnwindPlan &unwind_plan) override
 
- Public Member Functions inherited from lldb_private::EmulateInstruction
 EmulateInstruction (const ArchSpec &arch)
 
 ~EmulateInstruction () override=default
 
virtual InstructionCondition GetInstructionCondition ()
 
virtual bool GetRegisterInfo (lldb::RegisterKind reg_kind, uint32_t reg_num, RegisterInfo &reg_info)=0
 
virtual bool SetInstruction (const Opcode &insn_opcode, const Address &inst_addr, Target *target)
 
bool ReadRegister (const RegisterInfo *reg_info, RegisterValue &reg_value)
 
uint64_t ReadRegisterUnsigned (const RegisterInfo *reg_info, uint64_t fail_value, bool *success_ptr)
 
bool WriteRegister (const Context &context, const RegisterInfo *ref_info, const RegisterValue &reg_value)
 
bool WriteRegisterUnsigned (const Context &context, const RegisterInfo *reg_info, uint64_t reg_value)
 
bool ReadRegister (lldb::RegisterKind reg_kind, uint32_t reg_num, RegisterValue &reg_value)
 
bool WriteRegister (const Context &context, lldb::RegisterKind reg_kind, uint32_t reg_num, const RegisterValue &reg_value)
 
uint64_t ReadRegisterUnsigned (lldb::RegisterKind reg_kind, uint32_t reg_num, uint64_t fail_value, bool *success_ptr)
 
bool WriteRegisterUnsigned (const Context &context, lldb::RegisterKind reg_kind, uint32_t reg_num, uint64_t reg_value)
 
size_t ReadMemory (const Context &context, lldb::addr_t addr, void *dst, size_t dst_len)
 
uint64_t ReadMemoryUnsigned (const Context &context, lldb::addr_t addr, size_t byte_size, uint64_t fail_value, bool *success_ptr)
 
bool WriteMemory (const Context &context, lldb::addr_t addr, const void *src, size_t src_len)
 
bool WriteMemoryUnsigned (const Context &context, lldb::addr_t addr, uint64_t uval, size_t uval_byte_size)
 
uint32_t GetAddressByteSize () const
 
lldb::ByteOrder GetByteOrder () const
 
const OpcodeGetOpcode () const
 
lldb::addr_t GetAddress () const
 
const ArchSpecGetArchitecture () const
 
void SetBaton (void *baton)
 
void SetCallbacks (ReadMemoryCallback read_mem_callback, WriteMemoryCallback write_mem_callback, ReadRegisterCallback read_reg_callback, WriteRegisterCallback write_reg_callback)
 
void SetReadMemCallback (ReadMemoryCallback read_mem_callback)
 
void SetWriteMemCallback (WriteMemoryCallback write_mem_callback)
 
void SetReadRegCallback (ReadRegisterCallback read_reg_callback)
 
void SetWriteRegCallback (WriteRegisterCallback write_reg_callback)
 
- Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
 
virtual ~PluginInterface ()=default
 
 PluginInterface (const PluginInterface &)=delete
 
PluginInterfaceoperator= (const PluginInterface &)=delete
 

Static Public Member Functions

static void Initialize ()
 
static void Terminate ()
 
static llvm::StringRef GetPluginNameStatic ()
 
static llvm::StringRef GetPluginDescriptionStatic ()
 
static lldb_private::EmulateInstructionCreateInstance (const lldb_private::ArchSpec &arch, lldb_private::InstructionType inst_type)
 
static bool SupportsEmulatingInstructionsOfTypeStatic (lldb_private::InstructionType inst_type)
 
- Static Public Member Functions inherited from lldb_private::EmulateInstruction
static EmulateInstructionFindPlugin (const ArchSpec &arch, InstructionType supported_inst_type, const char *plugin_name)
 
static const char * TranslateRegister (lldb::RegisterKind reg_kind, uint32_t reg_num, std::string &reg_name)
 
static size_t ReadMemoryFrame (EmulateInstruction *instruction, void *baton, const Context &context, lldb::addr_t addr, void *dst, size_t length)
 
static size_t WriteMemoryFrame (EmulateInstruction *instruction, void *baton, const Context &context, lldb::addr_t addr, const void *dst, size_t length)
 
static bool ReadRegisterFrame (EmulateInstruction *instruction, void *baton, const RegisterInfo *reg_info, RegisterValue &reg_value)
 
static bool WriteRegisterFrame (EmulateInstruction *instruction, void *baton, const Context &context, const RegisterInfo *reg_info, const RegisterValue &reg_value)
 
static size_t ReadMemoryDefault (EmulateInstruction *instruction, void *baton, const Context &context, lldb::addr_t addr, void *dst, size_t length)
 
static size_t WriteMemoryDefault (EmulateInstruction *instruction, void *baton, const Context &context, lldb::addr_t addr, const void *dst, size_t length)
 
static bool ReadRegisterDefault (EmulateInstruction *instruction, void *baton, const RegisterInfo *reg_info, RegisterValue &reg_value)
 
static bool WriteRegisterDefault (EmulateInstruction *instruction, void *baton, const Context &context, const RegisterInfo *reg_info, const RegisterValue &reg_value)
 
static bool GetBestRegisterKindAndNumber (const RegisterInfo *reg_info, lldb::RegisterKind &reg_kind, uint32_t &reg_num)
 
static uint32_t GetInternalRegisterNumber (RegisterContext *reg_ctx, const RegisterInfo &reg_info)
 

Protected Member Functions

bool Emulate_DADDiu (llvm::MCInst &insn)
 
bool Emulate_DSUBU_DADDU (llvm::MCInst &insn)
 
bool Emulate_LUI (llvm::MCInst &insn)
 
bool Emulate_SD (llvm::MCInst &insn)
 
bool Emulate_LD (llvm::MCInst &insn)
 
bool Emulate_LDST_Imm (llvm::MCInst &insn)
 
bool Emulate_LDST_Reg (llvm::MCInst &insn)
 
bool Emulate_BXX_3ops (llvm::MCInst &insn)
 
bool Emulate_BXX_3ops_C (llvm::MCInst &insn)
 
bool Emulate_BXX_2ops (llvm::MCInst &insn)
 
bool Emulate_BXX_2ops_C (llvm::MCInst &insn)
 
bool Emulate_Bcond_Link_C (llvm::MCInst &insn)
 
bool Emulate_Bcond_Link (llvm::MCInst &insn)
 
bool Emulate_FP_branch (llvm::MCInst &insn)
 
bool Emulate_3D_branch (llvm::MCInst &insn)
 
bool Emulate_BAL (llvm::MCInst &insn)
 
bool Emulate_BALC (llvm::MCInst &insn)
 
bool Emulate_BC (llvm::MCInst &insn)
 
bool Emulate_J (llvm::MCInst &insn)
 
bool Emulate_JAL (llvm::MCInst &insn)
 
bool Emulate_JALR (llvm::MCInst &insn)
 
bool Emulate_JIALC (llvm::MCInst &insn)
 
bool Emulate_JIC (llvm::MCInst &insn)
 
bool Emulate_JR (llvm::MCInst &insn)
 
bool Emulate_BC1EQZ (llvm::MCInst &insn)
 
bool Emulate_BC1NEZ (llvm::MCInst &insn)
 
bool Emulate_BNZB (llvm::MCInst &insn)
 
bool Emulate_BNZH (llvm::MCInst &insn)
 
bool Emulate_BNZW (llvm::MCInst &insn)
 
bool Emulate_BNZD (llvm::MCInst &insn)
 
bool Emulate_BZB (llvm::MCInst &insn)
 
bool Emulate_BZH (llvm::MCInst &insn)
 
bool Emulate_BZW (llvm::MCInst &insn)
 
bool Emulate_BZD (llvm::MCInst &insn)
 
bool Emulate_MSA_Branch_DF (llvm::MCInst &insn, int element_byte_size, bool bnz)
 
bool Emulate_BNZV (llvm::MCInst &insn)
 
bool Emulate_BZV (llvm::MCInst &insn)
 
bool Emulate_MSA_Branch_V (llvm::MCInst &insn, bool bnz)
 
bool nonvolatile_reg_p (uint64_t regnum)
 
const char * GetRegisterName (unsigned reg_num, bool alternate_name)
 

Static Protected Member Functions

static MipsOpcodeGetOpcodeForInstruction (const char *op_name)
 

Private Attributes

std::unique_ptr< llvm::MCDisassembler > m_disasm
 
std::unique_ptr< llvm::MCSubtargetInfo > m_subtype_info
 
std::unique_ptr< llvm::MCRegisterInfo > m_reg_info
 
std::unique_ptr< llvm::MCAsmInfo > m_asm_info
 
std::unique_ptr< llvm::MCContext > m_context
 
std::unique_ptr< llvm::MCInstrInfo > m_insn_info
 

Additional Inherited Members

- Public Types inherited from lldb_private::EmulateInstruction
enum  ContextType {
  eContextInvalid = 0, eContextReadOpcode, eContextImmediate, eContextPushRegisterOnStack,
  eContextPopRegisterOffStack, eContextAdjustStackPointer, eContextSetFramePointer, eContextRestoreStackPointer,
  eContextAdjustBaseRegister, eContextAdjustPC, eContextRegisterPlusOffset, eContextRegisterStore,
  eContextRegisterLoad, eContextRelativeBranchImmediate, eContextAbsoluteBranchRegister, eContextSupervisorCall,
  eContextTableBranchReadMemory, eContextWriteRegisterRandomBits, eContextWriteMemoryRandomBits, eContextArithmetic,
  eContextAdvancePC, eContextReturnFromException
}
 
enum  InfoType {
  eInfoTypeRegisterPlusOffset, eInfoTypeRegisterPlusIndirectOffset, eInfoTypeRegisterToRegisterPlusOffset, eInfoTypeRegisterToRegisterPlusIndirectOffset,
  eInfoTypeRegisterRegisterOperands, eInfoTypeOffset, eInfoTypeRegister, eInfoTypeImmediate,
  eInfoTypeImmediateSigned, eInfoTypeAddress, eInfoTypeISAAndImmediate, eInfoTypeISAAndImmediateSigned,
  eInfoTypeISA, eInfoTypeNoArgs
}
 
typedef size_t(* ReadMemoryCallback) (EmulateInstruction *instruction, void *baton, const Context &context, lldb::addr_t addr, void *dst, size_t length)
 
typedef size_t(* WriteMemoryCallback) (EmulateInstruction *instruction, void *baton, const Context &context, lldb::addr_t addr, const void *dst, size_t length)
 
typedef bool(* ReadRegisterCallback) (EmulateInstruction *instruction, void *baton, const RegisterInfo *reg_info, RegisterValue &reg_value)
 
typedef bool(* WriteRegisterCallback) (EmulateInstruction *instruction, void *baton, const Context &context, const RegisterInfo *reg_info, const RegisterValue &reg_value)
 
typedef uint32_t InstructionCondition
 
- Public Attributes inherited from lldb_private::EmulateInstruction
enum lldb_private::EmulateInstruction::InfoType InfoType
 
- Static Public Attributes inherited from lldb_private::EmulateInstruction
static const InstructionCondition UnconditionalCondition = UINT32_MAX
 
- Protected Attributes inherited from lldb_private::EmulateInstruction
ArchSpec m_arch
 
void * m_baton = nullptr
 
ReadMemoryCallback m_read_mem_callback = &ReadMemoryDefault
 
WriteMemoryCallback m_write_mem_callback = &WriteMemoryDefault
 
ReadRegisterCallback m_read_reg_callback = &ReadRegisterDefault
 
WriteRegisterCallback m_write_reg_callback = &WriteRegisterDefault
 
lldb::addr_t m_addr = LLDB_INVALID_ADDRESS
 
Opcode m_opcode
 

Detailed Description

Definition at line 26 of file EmulateInstructionMIPS64.h.

Constructor & Destructor Documentation

◆ EmulateInstructionMIPS64()

EmulateInstructionMIPS64::EmulateInstructionMIPS64 ( const lldb_private::ArchSpec arch)

Member Function Documentation

◆ CreateFunctionEntryUnwind()

bool EmulateInstructionMIPS64::CreateFunctionEntryUnwind ( lldb_private::UnwindPlan unwind_plan)
overridevirtual

◆ CreateInstance()

EmulateInstruction * EmulateInstructionMIPS64::CreateInstance ( const lldb_private::ArchSpec arch,
lldb_private::InstructionType  inst_type 
)
static

◆ Emulate_3D_branch()

bool EmulateInstructionMIPS64::Emulate_3D_branch ( llvm::MCInst &  insn)
protected

◆ Emulate_BAL()

bool EmulateInstructionMIPS64::Emulate_BAL ( llvm::MCInst &  insn)
protected

◆ Emulate_BALC()

bool EmulateInstructionMIPS64::Emulate_BALC ( llvm::MCInst &  insn)
protected

◆ Emulate_BC()

bool EmulateInstructionMIPS64::Emulate_BC ( llvm::MCInst &  insn)
protected

◆ Emulate_BC1EQZ()

bool EmulateInstructionMIPS64::Emulate_BC1EQZ ( llvm::MCInst &  insn)
protected

◆ Emulate_BC1NEZ()

bool EmulateInstructionMIPS64::Emulate_BC1NEZ ( llvm::MCInst &  insn)
protected

◆ Emulate_Bcond_Link()

bool EmulateInstructionMIPS64::Emulate_Bcond_Link ( llvm::MCInst &  insn)
protected

◆ Emulate_Bcond_Link_C()

bool EmulateInstructionMIPS64::Emulate_Bcond_Link_C ( llvm::MCInst &  insn)
protected

◆ Emulate_BNZB()

bool EmulateInstructionMIPS64::Emulate_BNZB ( llvm::MCInst &  insn)
protected

Definition at line 2147 of file EmulateInstructionMIPS64.cpp.

References Emulate_MSA_Branch_DF().

Referenced by GetOpcodeForInstruction().

◆ Emulate_BNZD()

bool EmulateInstructionMIPS64::Emulate_BNZD ( llvm::MCInst &  insn)
protected

Definition at line 2159 of file EmulateInstructionMIPS64.cpp.

References Emulate_MSA_Branch_DF().

Referenced by GetOpcodeForInstruction().

◆ Emulate_BNZH()

bool EmulateInstructionMIPS64::Emulate_BNZH ( llvm::MCInst &  insn)
protected

Definition at line 2151 of file EmulateInstructionMIPS64.cpp.

References Emulate_MSA_Branch_DF().

Referenced by GetOpcodeForInstruction().

◆ Emulate_BNZV()

bool EmulateInstructionMIPS64::Emulate_BNZV ( llvm::MCInst &  insn)
protected

Definition at line 2239 of file EmulateInstructionMIPS64.cpp.

References Emulate_MSA_Branch_V().

Referenced by GetOpcodeForInstruction().

◆ Emulate_BNZW()

bool EmulateInstructionMIPS64::Emulate_BNZW ( llvm::MCInst &  insn)
protected

Definition at line 2155 of file EmulateInstructionMIPS64.cpp.

References Emulate_MSA_Branch_DF().

Referenced by GetOpcodeForInstruction().

◆ Emulate_BXX_2ops()

bool EmulateInstructionMIPS64::Emulate_BXX_2ops ( llvm::MCInst &  insn)
protected

◆ Emulate_BXX_2ops_C()

bool EmulateInstructionMIPS64::Emulate_BXX_2ops_C ( llvm::MCInst &  insn)
protected

◆ Emulate_BXX_3ops()

bool EmulateInstructionMIPS64::Emulate_BXX_3ops ( llvm::MCInst &  insn)
protected

◆ Emulate_BXX_3ops_C()

bool EmulateInstructionMIPS64::Emulate_BXX_3ops_C ( llvm::MCInst &  insn)
protected

◆ Emulate_BZB()

bool EmulateInstructionMIPS64::Emulate_BZB ( llvm::MCInst &  insn)
protected

Definition at line 2163 of file EmulateInstructionMIPS64.cpp.

References Emulate_MSA_Branch_DF().

Referenced by GetOpcodeForInstruction().

◆ Emulate_BZD()

bool EmulateInstructionMIPS64::Emulate_BZD ( llvm::MCInst &  insn)
protected

Definition at line 2175 of file EmulateInstructionMIPS64.cpp.

References Emulate_MSA_Branch_DF().

Referenced by GetOpcodeForInstruction().

◆ Emulate_BZH()

bool EmulateInstructionMIPS64::Emulate_BZH ( llvm::MCInst &  insn)
protected

Definition at line 2167 of file EmulateInstructionMIPS64.cpp.

References Emulate_MSA_Branch_DF().

Referenced by GetOpcodeForInstruction().

◆ Emulate_BZV()

bool EmulateInstructionMIPS64::Emulate_BZV ( llvm::MCInst &  insn)
protected

Definition at line 2243 of file EmulateInstructionMIPS64.cpp.

References Emulate_MSA_Branch_V().

Referenced by GetOpcodeForInstruction().

◆ Emulate_BZW()

bool EmulateInstructionMIPS64::Emulate_BZW ( llvm::MCInst &  insn)
protected

Definition at line 2171 of file EmulateInstructionMIPS64.cpp.

References Emulate_MSA_Branch_DF().

Referenced by GetOpcodeForInstruction().

◆ Emulate_DADDiu()

bool EmulateInstructionMIPS64::Emulate_DADDiu ( llvm::MCInst &  insn)
protected

◆ Emulate_DSUBU_DADDU()

bool EmulateInstructionMIPS64::Emulate_DSUBU_DADDU ( llvm::MCInst &  insn)
protected

◆ Emulate_FP_branch()

bool EmulateInstructionMIPS64::Emulate_FP_branch ( llvm::MCInst &  insn)
protected

◆ Emulate_J()

bool EmulateInstructionMIPS64::Emulate_J ( llvm::MCInst &  insn)
protected

◆ Emulate_JAL()

bool EmulateInstructionMIPS64::Emulate_JAL ( llvm::MCInst &  insn)
protected

◆ Emulate_JALR()

bool EmulateInstructionMIPS64::Emulate_JALR ( llvm::MCInst &  insn)
protected

◆ Emulate_JIALC()

bool EmulateInstructionMIPS64::Emulate_JIALC ( llvm::MCInst &  insn)
protected

◆ Emulate_JIC()

bool EmulateInstructionMIPS64::Emulate_JIC ( llvm::MCInst &  insn)
protected

◆ Emulate_JR()

bool EmulateInstructionMIPS64::Emulate_JR ( llvm::MCInst &  insn)
protected

◆ Emulate_LD()

bool EmulateInstructionMIPS64::Emulate_LD ( llvm::MCInst &  insn)
protected

◆ Emulate_LDST_Imm()

bool EmulateInstructionMIPS64::Emulate_LDST_Imm ( llvm::MCInst &  insn)
protected

◆ Emulate_LDST_Reg()

bool EmulateInstructionMIPS64::Emulate_LDST_Reg ( llvm::MCInst &  insn)
protected

◆ Emulate_LUI()

bool EmulateInstructionMIPS64::Emulate_LUI ( llvm::MCInst &  insn)
protected

◆ Emulate_MSA_Branch_DF()

bool EmulateInstructionMIPS64::Emulate_MSA_Branch_DF ( llvm::MCInst &  insn,
int  element_byte_size,
bool  bnz 
)
protected

◆ Emulate_MSA_Branch_V()

bool EmulateInstructionMIPS64::Emulate_MSA_Branch_V ( llvm::MCInst &  insn,
bool  bnz 
)
protected

◆ Emulate_SD()

bool EmulateInstructionMIPS64::Emulate_SD ( llvm::MCInst &  insn)
protected

◆ EvaluateInstruction()

bool EmulateInstructionMIPS64::EvaluateInstruction ( uint32_t  evaluate_options)
overridevirtual

◆ GetOpcodeForInstruction()

EmulateInstructionMIPS64::MipsOpcode * EmulateInstructionMIPS64::GetOpcodeForInstruction ( const char *  op_name)
staticprotected

◆ GetPluginDescriptionStatic()

llvm::StringRef EmulateInstructionMIPS64::GetPluginDescriptionStatic ( )
static

Definition at line 183 of file EmulateInstructionMIPS64.cpp.

Referenced by Initialize().

◆ GetPluginName()

llvm::StringRef EmulateInstructionMIPS64::GetPluginName ( )
inlineoverridevirtual

Implements lldb_private::PluginInterface.

Definition at line 56 of file EmulateInstructionMIPS64.h.

References GetPluginNameStatic().

◆ GetPluginNameStatic()

static llvm::StringRef EmulateInstructionMIPS64::GetPluginNameStatic ( )
inlinestatic

Definition at line 34 of file EmulateInstructionMIPS64.h.

Referenced by GetPluginName(), and Initialize().

◆ GetRegisterInfo()

bool EmulateInstructionMIPS64::GetRegisterInfo ( lldb::RegisterKind  reg_kind,
uint32_t  reg_num,
lldb_private::RegisterInfo &  reg_info 
)
override

◆ GetRegisterName()

const char * EmulateInstructionMIPS64::GetRegisterName ( unsigned  reg_num,
bool  alternate_name 
)
protected

Definition at line 206 of file EmulateInstructionMIPS64.cpp.

References dwarf_bad_mips64, dwarf_cause_mips64, dwarf_config5_mips64, dwarf_f0_mips64, dwarf_f10_mips64, dwarf_f11_mips64, dwarf_f12_mips64, dwarf_f13_mips64, dwarf_f14_mips64, dwarf_f15_mips64, dwarf_f16_mips64, dwarf_f17_mips64, dwarf_f18_mips64, dwarf_f19_mips64, dwarf_f1_mips64, dwarf_f20_mips64, dwarf_f21_mips64, dwarf_f22_mips64, dwarf_f23_mips64, dwarf_f24_mips64, dwarf_f25_mips64, dwarf_f26_mips64, dwarf_f27_mips64, dwarf_f28_mips64, dwarf_f29_mips64, dwarf_f2_mips64, dwarf_f30_mips64, dwarf_f31_mips64, dwarf_f3_mips64, dwarf_f4_mips64, dwarf_f5_mips64, dwarf_f6_mips64, dwarf_f7_mips64, dwarf_f8_mips64, dwarf_f9_mips64, dwarf_fcsr_mips64, dwarf_fir_mips64, dwarf_gp_mips64, dwarf_hi_mips64, dwarf_lo_mips64, dwarf_mcsr_mips64, dwarf_mir_mips64, dwarf_pc_mips64, dwarf_r10_mips64, dwarf_r11_mips64, dwarf_r12_mips64, dwarf_r13_mips64, dwarf_r14_mips64, dwarf_r15_mips64, dwarf_r16_mips64, dwarf_r17_mips64, dwarf_r18_mips64, dwarf_r19_mips64, dwarf_r1_mips64, dwarf_r20_mips64, dwarf_r21_mips64, dwarf_r22_mips64, dwarf_r23_mips64, dwarf_r24_mips64, dwarf_r25_mips64, dwarf_r26_mips64, dwarf_r27_mips64, dwarf_r2_mips64, dwarf_r30_mips64, dwarf_r3_mips64, dwarf_r4_mips64, dwarf_r5_mips64, dwarf_r6_mips64, dwarf_r7_mips64, dwarf_r8_mips64, dwarf_r9_mips64, dwarf_ra_mips64, dwarf_sp_mips64, dwarf_sr_mips64, dwarf_w0_mips64, dwarf_w10_mips64, dwarf_w11_mips64, dwarf_w12_mips64, dwarf_w13_mips64, dwarf_w14_mips64, dwarf_w15_mips64, dwarf_w16_mips64, dwarf_w17_mips64, dwarf_w18_mips64, dwarf_w19_mips64, dwarf_w1_mips64, dwarf_w20_mips64, dwarf_w21_mips64, dwarf_w22_mips64, dwarf_w23_mips64, dwarf_w24_mips64, dwarf_w25_mips64, dwarf_w26_mips64, dwarf_w27_mips64, dwarf_w28_mips64, dwarf_w29_mips64, dwarf_w2_mips64, dwarf_w30_mips64, dwarf_w31_mips64, dwarf_w3_mips64, dwarf_w4_mips64, dwarf_w5_mips64, dwarf_w6_mips64, dwarf_w7_mips64, dwarf_w8_mips64, dwarf_w9_mips64, and dwarf_zero_mips64.

Referenced by GetRegisterInfo().

◆ Initialize()

void EmulateInstructionMIPS64::Initialize ( )
static

◆ nonvolatile_reg_p()

bool EmulateInstructionMIPS64::nonvolatile_reg_p ( uint64_t  regnum)
protected

◆ ReadInstruction()

bool EmulateInstructionMIPS64::ReadInstruction ( )
overridevirtual

◆ SetTargetTriple()

bool EmulateInstructionMIPS64::SetTargetTriple ( const lldb_private::ArchSpec arch)
overridevirtual

◆ SupportsEmulatingInstructionsOfType()

bool EmulateInstructionMIPS64::SupportsEmulatingInstructionsOfType ( lldb_private::InstructionType  inst_type)
inlineoverridevirtual

◆ SupportsEmulatingInstructionsOfTypeStatic()

static bool EmulateInstructionMIPS64::SupportsEmulatingInstructionsOfTypeStatic ( lldb_private::InstructionType  inst_type)
inlinestatic

◆ Terminate()

void EmulateInstructionMIPS64::Terminate ( )
static

Definition at line 179 of file EmulateInstructionMIPS64.cpp.

References CreateInstance().

◆ TestEmulation()

bool EmulateInstructionMIPS64::TestEmulation ( lldb_private::Stream out_stream,
lldb_private::ArchSpec arch,
lldb_private::OptionValueDictionary test_data 
)
inlineoverridevirtual

Implements lldb_private::EmulateInstruction.

Definition at line 69 of file EmulateInstructionMIPS64.h.

Member Data Documentation

◆ m_asm_info

std::unique_ptr<llvm::MCAsmInfo> EmulateInstructionMIPS64::m_asm_info
private

Definition at line 175 of file EmulateInstructionMIPS64.h.

Referenced by EmulateInstructionMIPS64().

◆ m_context

std::unique_ptr<llvm::MCContext> EmulateInstructionMIPS64::m_context
private

Definition at line 176 of file EmulateInstructionMIPS64.h.

Referenced by EmulateInstructionMIPS64().

◆ m_disasm

std::unique_ptr<llvm::MCDisassembler> EmulateInstructionMIPS64::m_disasm
private

Definition at line 172 of file EmulateInstructionMIPS64.h.

Referenced by EmulateInstructionMIPS64(), and EvaluateInstruction().

◆ m_insn_info

std::unique_ptr<llvm::MCInstrInfo> EmulateInstructionMIPS64::m_insn_info
private

◆ m_reg_info

std::unique_ptr<llvm::MCRegisterInfo> EmulateInstructionMIPS64::m_reg_info
private

◆ m_subtype_info

std::unique_ptr<llvm::MCSubtargetInfo> EmulateInstructionMIPS64::m_subtype_info
private

Definition at line 173 of file EmulateInstructionMIPS64.h.

Referenced by EmulateInstructionMIPS64().


The documentation for this class was generated from the following files: