[all-commits] [llvm/llvm-project] 584921: [lldb] [ABI] Apply AugmentRegisterInfo() to Dynami...

Michał Górny via All-commits all-commits at lists.llvm.org
Mon Oct 11 08:02:44 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 58492191265759e952a032c0de48a9231c526b55
      https://github.com/llvm/llvm-project/commit/58492191265759e952a032c0de48a9231c526b55
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M lldb/include/lldb/Target/ABI.h
    M lldb/include/lldb/Target/DynamicRegisterInfo.h
    M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
    M lldb/source/Plugins/ABI/AArch64/ABIAArch64.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Target/ABI.cpp

  Log Message:
  -----------
  [lldb] [ABI] Apply AugmentRegisterInfo() to DynamicRegisterInfo::Registers

Call ABI::AugmentRegisterInfo() once with a vector of all defined
registers rather than calling it for every individual register.  Move
and rename RemoteRegisterInfo from gdb-remote to
DynamicRegisterInfo::Register, and use this class when augmenting
registers.

Differential Revision: https://reviews.llvm.org/D111142


  Commit: 1afda54f199327b3391f2b32cf4cd785cedfd94c
      https://github.com/llvm/llvm-project/commit/1afda54f199327b3391f2b32cf4cd785cedfd94c
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M lldb/include/lldb/Target/DynamicRegisterInfo.h
    M lldb/source/Target/DynamicRegisterInfo.cpp
    M lldb/unittests/Target/DynamicRegisterInfoTest.cpp

  Log Message:
  -----------
  [lldb] [Target] Make addSupplementaryRegister() work on Register vector

Move DynamicRegisterInfo::AddSupplementaryRegister() into a standalone
function working on std::vector<DynamicRegisterInfo::Register>.

Differential Revision: https://reviews.llvm.org/D111295


  Commit: 583f67cb4eef6171326d72da8bbb3001c846bbfb
      https://github.com/llvm/llvm-project/commit/583f67cb4eef6171326d72da8bbb3001c846bbfb
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py

  Log Message:
  -----------
  [lldb] [ABI/AArch64] Add pseudo-regs if missing

Create pseudo-registers on the AArch64 target if they are not provided
by the remote server. This is the case for gdbserver. The created
registers are:

- 32-bit wN partials for 64-bit xN registers
- double precision floating-point dN registers (overlapping with vN)
- single precision floating-point sN registers (overlapping with vN)

Differential Revision: https://reviews.llvm.org/D109876


  Commit: 660632778f308e101c5c168912ed423934aa8b21
      https://github.com/llvm/llvm-project/commit/660632778f308e101c5c168912ed423934aa8b21
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M lldb/include/lldb/Target/DynamicRegisterInfo.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Target/DynamicRegisterInfo.cpp
    M lldb/unittests/Target/DynamicRegisterInfoTest.cpp

  Log Message:
  -----------
  [lldb] [DynamicRegisterInfo] Support setting from vector<Register>

Add an overload of DynamicRegisterInfo::SetRegisterInfo() that accepts
a std::vector<Register> as an argument.  This moves the conversion
from DRI::Register to RegisterInfo directly into DynamicRegisterInfo,
and avoids the necessity of creating fully-compatible intermediate
RegisterInfo instances.

While the new method could technically reuse AddRegister(), the ultimate
goal is to replace AddRegister() with SetRegisterInfo() entirely.

Differential Revision: https://reviews.llvm.org/D111435


Compare: https://github.com/llvm/llvm-project/compare/bdc35b0efca9...660632778f30


More information about the All-commits mailing list