47#define GPR_OFFSET(regname) (LLVM_EXTENSION offsetof(GPR, regname))
48#define DEFINE_GPR(reg, alt, kind1, kind2, kind3, kind4) \
50#reg, alt, sizeof(((GPR *)nullptr)->reg), GPR_OFFSET(reg), eEncodingUint, \
52 {kind1, kind2, kind3, kind4, lldb_##reg##_x86_64 }, nullptr, nullptr, \
56typedef struct _FPReg {
75#define FPR_OFFSET(regname) \
76 (sizeof(GPR) + LLVM_EXTENSION offsetof(FPReg, regname))
78#define DEFINE_XMM(reg) \
80#reg, NULL, sizeof(((FPReg *)nullptr)->reg), FPR_OFFSET(reg), \
81 eEncodingUint, eFormatVectorOfUInt64, \
82 {dwarf_##reg##_x86_64, dwarf_##reg##_x86_64, LLDB_INVALID_REGNUM, \
83 LLDB_INVALID_REGNUM, lldb_##reg##_x86_64 }, \
84 nullptr, nullptr, nullptr, \
138 assert(target_arch.
GetMachine() == llvm::Triple::x86_64);
142 return g_register_infos_x86_64;
146 return std::size(g_register_infos_x86_64);
150 return std::size(g_register_infos_x86_64);
#define DEFINE_GPR(reg, alt, kind1, kind2, kind3, kind4)
RegisterInfoWindows_x86_64(const lldb_private::ArchSpec &target_arch)
size_t GetGPRSize() const override
const lldb_private::RegisterInfo * GetRegisterInfo() const override
uint32_t GetRegisterCount() const override
uint32_t GetUserRegisterCount() const override
An architecture specification class.
llvm::Triple::ArchType GetMachine() const
Returns a machine family for the current architecture.
RegisterInfoInterface(const lldb_private::ArchSpec &target_arch)
#define LLDB_REGNUM_GENERIC_SP
#define LLDB_REGNUM_GENERIC_ARG4
#define LLDB_REGNUM_GENERIC_ARG3
#define LLDB_REGNUM_GENERIC_ARG1
#define LLDB_REGNUM_GENERIC_FLAGS
#define LLDB_INVALID_REGNUM
#define LLDB_REGNUM_GENERIC_ARG2
#define LLDB_REGNUM_GENERIC_PC
#define LLDB_REGNUM_GENERIC_FP
A class that represents a running process on the host machine.
Every register is described in detail including its name, alternate name (optional),...