mgorny added a comment.
Another question: should we aim to remove the 'redundant afterwards' bits from
lldb-server, and fill them in from client side entirely? I don't think our
process plugins really need knowledge of EAX etc., and it would reduce the
duplication a fair bit.
Also I'm not sure if I like my code here, two questions inline.
================
Comment at:
lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext_x86.cpp:37-54
+static std::array<PartialGPRRegSet, 16> partial_gpr_regs = {{
+ {"rax", {{"eax"}, {"ax"}, {"ah"}, {"al"}}},
+ {"rbx", {{"ebx"}, {"bx"}, {"bh"}, {"bl"}}},
+ {"rcx", {{"ecx"}, {"cx"}, {"ch"}, {"cl"}}},
+ {"rdx", {{"edx"}, {"dx"}, {"dh"}, {"dl"}}},
+ {"rdi", {{"edi"}, {"di"}, {nullptr}, {"dil"}}},
+ {"rsi", {{"esi"}, {"si"}, {nullptr}, {"sil"}}},
----------------
Also here I'm wondering if it wouldn't be better to just have an array of
`{"ax", "bx", ...}` and construct all other names from that base, plus r8..r15
via numeric `for` loop.
================
Comment at:
lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext_x86.cpp:66-75
+static std::array<MMReg, 16> mm_regs = {{
+ {"st0", "mm0"},
+ {"st1", "mm1"},
+ {"st2", "mm2"},
+ {"st3", "mm3"},
+ {"st4", "mm4"},
+ {"st5", "mm5"},
----------------
I've been somewhat basing this thing on how our process plugins do registers
but I'm wondering if it wouldn't be better to just do a `for (int x = 0; i < 8;
i++)` loop and dynamically generate `st${x}` and `mm${x}` names.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D108831/new/
https://reviews.llvm.org/D108831
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits