aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorDavid Spickett <david.spickett@linaro.org>2023-07-28 08:03:40 +0000
committerDavid Spickett <david.spickett@linaro.org>2023-08-03 12:33:49 +0000
commit6239227172cdc92f3bb72131333f50f83a6439cf (patch)
treea517c2c846419c31afc6f69c55d48a13374c90d4 /clang/lib/Frontend/CompilerInvocation.cpp
parentf17601b9a7376564b689083477a76a26c7dff7e8 (diff)
downloadllvm-6239227172cdc92f3bb72131333f50f83a6439cf.zip
llvm-6239227172cdc92f3bb72131333f50f83a6439cf.tar.gz
llvm-6239227172cdc92f3bb72131333f50f83a6439cf.tar.bz2
[lldb][AArch64] Save/restore TLS registers around expressions
Previously lldb was storing them but not restoring them. Meaning that this function: ``` void expr(uint64_t value) { __asm__ volatile("msr tpidr_el0, %0" ::"r"(value)); } ``` When run from lldb: ``` (lldb) expression expr() ``` Would leave tpidr as `value` instead of the original value of the register. A check for this scenario has been added to TestAArch64LinuxTLSRegisters.py, which covers tpidr and the SME excluisve tpidr2 register when it's present. Reviewed By: omjavaid Differential Revision: https://reviews.llvm.org/D156512
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions