OSDN Git Service

[LLDB] Add support to resize SVE registers at run-time
authorMuhammad Omair Javaid <omair.javaid@linaro.org>
Tue, 19 Jan 2021 09:52:23 +0000 (14:52 +0500)
committerMuhammad Omair Javaid <omair.javaid@linaro.org>
Tue, 19 Jan 2021 10:01:32 +0000 (15:01 +0500)
commite448ad787e16119f8db8cc6999896e678a0356ac
tree074af1de74d4aff32058a726b906b6dd8d9d487b
parent079e664661770a78e30c0d27a12d50047f1b1ea8
[LLDB] Add support to resize SVE registers at run-time

This patch builds on previously submitted SVE patches regarding expedited
register set and per thread register infos. (D82853 D82855 and D82857)

We need to resize SVE register based on value received in expedited list.
Also we need to resize SVE registers when we write vg register using
register write vg command. The resize will result in a updated offset
for all of fpr and sve register set. This offset will be configured
in native register context by RegisterInfoInterface and will also be
be updated on client side in GDBRemoteRegisterContext.

A follow up patch will provide a API test to verify this change.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D82863
lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h
lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp