[all-commits] [llvm/llvm-project] ae6f78: [LiveDebugValues] Add instruction-referencing LDV ...
Jeremy Morse via All-commits
all-commits at lists.llvm.org
Sat Aug 22 10:32:34 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: ae6f788240310e50f912f67353bc0a845a104d97
https://github.com/llvm/llvm-project/commit/ae6f788240310e50f912f67353bc0a845a104d97
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2020-08-22 (Sat, 22 Aug 2020)
Changed paths:
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h
Log Message:
-----------
[LiveDebugValues] Add instruction-referencing LDV implementation
This patch imports the instruction-referencing implementation of
LiveDebugValues proposed here:
http://lists.llvm.org/pipermail/llvm-dev/2020-June/142368.html
The new implementation is unreachable in this patch, it's the next patch
that enables it behind a command line switch. Briefly, rather than
tracking variable locations by just their location as the 'VarLoc'
implementation does, this implementation does it by value:
* Each value defined in a function is numbered, and propagated through
dataflow,
* Each DBG_VALUE reads a machine value number from a machine location,
* Variable _values_ are propagated through dataflow,
* Variable values are translated back into locations, DBG_VALUEs
inserted to specify where those locations are.
The ultimate aim of this is to enable referring to variable values
throughout post-isel code, rather than locations. Those patches will
build on top of this new LiveDebugValues implementation in later patches
-- it can't be done with the VarLoc implementation as we don't have
value information, only locations.
Differential Revision: https://reviews.llvm.org/D83047
More information about the All-commits
mailing list