diff options
author | Jeremy Morse <jeremy.morse@sony.com> | 2019-10-28 14:23:50 +0000 |
---|---|---|
committer | Jeremy Morse <jeremy.morse@sony.com> | 2019-10-28 14:32:50 +0000 |
commit | f5e1b718a675a4449b71423f04d38e1e93045105 (patch) | |
tree | f0b8c5e3613da0124975efd9f888c5eb82de4088 /llvm/lib/CodeGen/CodeGen.cpp | |
parent | 1ebd4a2e3ad0e95ee915ed5a99aab53f8fe7da95 (diff) | |
download | llvm-f5e1b718a675a4449b71423f04d38e1e93045105.zip llvm-f5e1b718a675a4449b71423f04d38e1e93045105.tar.gz llvm-f5e1b718a675a4449b71423f04d38e1e93045105.tar.bz2 |
[DebugInfo] MachineSink: find more DBG_VALUEs to sink
In the Pre-RA machine sinker, previously we were relying on all DBG_VALUEs
being immediately after the instruction that defined their operands. This
isn't a valid assumption, as a variable location change doesn't
necessarily correspond to where the value is computed. In this patch, we
collect DBG_VALUEs that might need sinking as we walk through a block,
and sink all of them if their defining instruction is sunk.
This patch adds some copy propagation too, so that if we sink a copy inst,
the now non-dominated paths can use the copy source for the variable
location.
Differential Revision: https://reviews.llvm.org/D58386
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
0 files changed, 0 insertions, 0 deletions