[LiveDebugValues] Handle spills of indirect debug values correctly
authorEvgeny Leviant <eleviant@accesssoftek.com>
Wed, 8 Sep 2021 11:06:08 +0000 (14:06 +0300)
committerEvgeny Leviant <eleviant@accesssoftek.com>
Wed, 8 Sep 2021 11:06:08 +0000 (14:06 +0300)
commit93b09a2a5d787beda3252a8c2662d19a44527881
tree43183514db980db43534e08abae1b36a2e74b41d
parent98380762c3b734c23d206182605ab9e035c93caa
[LiveDebugValues] Handle spills of indirect debug values correctly

When handling register spill for indirect debug value LiveDebugValues pass doesn't add
DW_OP_deref operator which may in some cases cause debugger to return value address, instead
of value while machine register holding that address is spilled.

Differential revision: https://reviews.llvm.org/D109142
llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
llvm/test/DebugInfo/MIR/X86/live-debug-values-restore.mir