[all-commits] [llvm/llvm-project] fdc265: [lldb][AArch64] Invalidate cached VG value before ...

David Spickett via All-commits all-commits at lists.llvm.org
Wed Sep 20 08:06:02 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fdc265be26483be1e081ea3f1e11d78b8cc488af
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-09-20 (Wed, 20 Sep 2023)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp

  Log Message:
  [lldb][AArch64] Invalidate cached VG value before reconfiguring SVE registers

This fixes 46b961f36bc5b1105356d1701f0c7c9d439be9c8.

Prior to the SME changes the steps were:
* Invalidate all registers.
* Update value of VG and use that to reconfigure the registers.
* Invalidate all registers again.

With the changes for SME I removed the initial invalidate thinking
that it didn't make sense to do if we were going to invalidate them
all anyway after reconfiguring.

Well the reason it made sense was that it forced us to get the
latest value of vg which we needed to reconfigure properly.

Not doing so caused a test failure on our Graviton bot which has SVE
(https://lab.llvm.org/buildbot/#/builders/96/builds/45722). It was
flaky and looping it locally would always fail within a few minutes.
Presumably it was using an invalid value of vg, which caused some offsets
to be calculated incorrectly.

To fix this I've invalided vg in AArch64Reconfigure just before we read
it. This is the same as the fix I have in review for SME's svg register.

Pushing this directly to fix the ongoing test failure.

More information about the All-commits mailing list