diff options
| author | Jeremy Morse <jeremy.morse@sony.com> | 2021-06-02 15:58:03 +0100 |
|---|---|---|
| committer | Jeremy Morse <jeremy.morse@sony.com> | 2021-07-08 16:42:24 +0100 |
| commit | 63cc251eb949b7879919d505dbe375b1cd038781 (patch) | |
| tree | e89a7fed443e0a3a624e3898ef33fc4260a95fc4 /lldb/source/Plugins/ScriptInterpreter/Python | |
| parent | 87e41cc4b6c6bf22311f78e30c24ea92836bb021 (diff) | |
| download | llvm-63cc251eb949b7879919d505dbe375b1cd038781.zip llvm-63cc251eb949b7879919d505dbe375b1cd038781.tar.gz llvm-63cc251eb949b7879919d505dbe375b1cd038781.tar.bz2 | |
[DebugInfo][InstrRef][4/4] Support DBG_INSTR_REF through all backend passes
This is a cleanup patch -- we're now able to support all flavours of
variable location in instruction referencing mode. This patch updates
various tests for debug instructions to be broader: numerous code paths
try to ignore debug isntructions, and they now have to ignore the
additional DBG_PHI and DBG_INSTR_REFs that we can generate.
A small amount of rework happens for LiveDebugVariables: as we don't need
to track live intervals through regalloc any more, we can get away with
unlinking debug instructions before regalloc, then re-inserting them after.
Note that this isn't (yet) true of DBG_VALUE_LISTs, they still have to go
through live interval tracking.
In SelectionDAG, add a helper lambda that emits half-formed DBG_INSTR_REFs
for arguments in instr-ref mode, DBG_VALUE otherwise. This is one of the
final locations where DBG_VALUEs are emitted for vreg arguments.
X86InstrInfo now un-sets the debug instr number on SUB instructions that
get mutated into CMP instructions. As the instruction no longer computes a
subtraction, we can't use it for variable locations.
Differential Revision: https://reviews.llvm.org/D88898
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions
