aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGen.cpp
diff options
context:
space:
mode:
authorJeremy Morse <jeremy.morse@sony.com>2019-10-28 14:23:50 +0000
committerJeremy Morse <jeremy.morse@sony.com>2019-10-28 14:32:50 +0000
commitf5e1b718a675a4449b71423f04d38e1e93045105 (patch)
treef0b8c5e3613da0124975efd9f888c5eb82de4088 /llvm/lib/CodeGen/CodeGen.cpp
parent1ebd4a2e3ad0e95ee915ed5a99aab53f8fe7da95 (diff)
downloadllvm-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