diff options
author | Jeremy Morse <jeremy.morse@sony.com> | 2021-07-27 14:58:49 +0100 |
---|---|---|
committer | Jeremy Morse <jeremy.morse@sony.com> | 2021-07-27 15:12:46 +0100 |
commit | ec9da5172491413f098af7cd5b5bc5d1c8b9f07d (patch) | |
tree | 09346ec584d283748ae73090be28efba16950c9d /lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp | |
parent | da58ca51f0cf4b415bbfc299ac7cef0666243c6c (diff) | |
download | llvm-ec9da5172491413f098af7cd5b5bc5d1c8b9f07d.zip llvm-ec9da5172491413f098af7cd5b5bc5d1c8b9f07d.tar.gz llvm-ec9da5172491413f098af7cd5b5bc5d1c8b9f07d.tar.bz2 |
[DebugInfo][InstrRef] Correctly update DBG_PHIs during instr scheduling
Avoid several crashes when DBG_INSTR_REF and DBG_PHI instructions are fed
to the instruction scheduler. DBG_INSTR_REFs should be treated like
DBG_LABELs, and just ignored for the purpose of scheduling [0].
DBG_PHIs however behave much more like DBG_VALUEs: they refer to register
operands, and if some register defs get shuffled around during instruction
scheduling, there's a risk that the debug instr will refer to the wrong
value. There's already a facility for updating DBG_VALUEs to reflect this;
add DBG_PHI to the list of instructions that it will update.
[0] Suboptimal, but it's what instr scheduling does right now.
Differential Revision: https://reviews.llvm.org/D106663
Diffstat (limited to 'lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp')
0 files changed, 0 insertions, 0 deletions