diff options
author | Ayke van Laethem <aykevanlaethem@gmail.com> | 2022-01-03 20:29:27 +0100 |
---|---|---|
committer | Ayke van Laethem <aykevanlaethem@gmail.com> | 2022-01-19 14:22:13 +0100 |
commit | 3d59d94a206a840d780c8f34610977734095149a (patch) | |
tree | 39a19a76258c123e3e4552c9c6c6065c383cddd1 /lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h | |
parent | f41d2d9469d66b92c033616c080e196bdb07363a (diff) | |
download | llvm-3d59d94a206a840d780c8f34610977734095149a.zip llvm-3d59d94a206a840d780c8f34610977734095149a.tar.gz llvm-3d59d94a206a840d780c8f34610977734095149a.tar.bz2 |
[AVR] Mark call-clobbered registers as clobbered in interrupt handlers
I have matched the RISCV backend, which only uses the interrupt save
list in getCalleeSavedRegs, _not_ in getCallPreservedMask. I don't know
the details of these two methods, but with it, the correct amount of
registers is saved and restored.
Without this patch, practically all interrupt handlers that call a
function will miscompile.
I have added a test to verify this behavior. I've also added a very
simple test to verify that more normal interrupt operations (in this
case, incrementing a global value) behave as expected.
Differential Revision: https://reviews.llvm.org/D116551
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h')
0 files changed, 0 insertions, 0 deletions