aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorDavid Spickett <david.spickett@linaro.org>2025-06-19 09:57:07 +0100
committerGitHub <noreply@github.com>2025-06-19 09:57:07 +0100
commit6273c5d4d3540204cb0d298cf1cf74ba94ed2a6c (patch)
tree8b0c48502ddd3d1100926da9d47274d1dccfd328 /clang/lib/CodeGen/CodeGenModule.cpp
parent20245bbf66977ca9de5a2b6e29e8617a3a5d9fb5 (diff)
downloadllvm-6273c5d4d3540204cb0d298cf1cf74ba94ed2a6c.zip
llvm-6273c5d4d3540204cb0d298cf1cf74ba94ed2a6c.tar.gz
llvm-6273c5d4d3540204cb0d298cf1cf74ba94ed2a6c.tar.bz2
[lldb][AArch64] Correctly invalidate svg when vg is written (#140875)
Recently the Linux Kernel has fixed a bunch of issues in SME support and while testing that, I found two tests failing: FAIL: test_za_register_dynamic_config_main_disabled (TestZAThreadedDynamic.AArch64ZAThreadedTestCase) FAIL: test_za_register_dynamic_config_main_enabled (TestZAThreadedDynamic.AArch64ZAThreadedTestCase) These tests write to vg during streaming mode from lldb and expect to see that za has been resized to match it. Instead, it was unavailable. lldb-server was sending the correct amount of data but lldb client was expecting the old size. Turns out that instead of a write to vg invalidating svg, it was invalidating... something else. I'm still not sure how these tests ever worked but with this one line fix, they pass again. I did not see this issue with SVE or streaming SVE Z registers because those always resize using the value of vg, and vg always has the value we just wrote. (remember that vg is the vector length of the **current** mode, not of non-streaming mode, whereas svg is the vector length of streaming mode, even if you are currently in non-streaming mode)
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions