[all-commits] [llvm/llvm-project] 495554: [LiveDebugValues][InstrRef][1/2] Recover more clob...
Jeremy Morse via All-commits
all-commits at lists.llvm.org
Wed Jun 30 08:57:12 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 49555441628a0ec620581bba371e6bb20c2b3f5f
https://github.com/llvm/llvm-project/commit/49555441628a0ec620581bba371e6bb20c2b3f5f
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2021-06-30 (Wed, 30 Jun 2021)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_instrref_tolocs.mir
A llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_recover_clobbers.mir
M llvm/test/DebugInfo/MIR/X86/livedebugvalues_load_in_loop.mir
Log Message:
-----------
[LiveDebugValues][InstrRef][1/2] Recover more clobbered variable locations
In various circumstances, when we clobber a register there may be
alternative locations that the value is live in. The classic example would
be a value loaded from the stack, and then clobbered: the value is still
available on the stack. InstrRefBasedLDV was coping with this at block
starts where it's forced to pick a location, however it wasn't searching
for alternative locations when values were clobbered.
This patch notifies the "Transfer Tracker" object when clobbers occur, and
it's able to find alternatives and issue DBG_VALUEs for that location. See:
the added test.
Differential Revision: https://reviews.llvm.org/D88405
More information about the All-commits
mailing list