[all-commits] [llvm/llvm-project] c93a9b: [DebugInfo][CGP] Update dbg.values when sinking ad...
Jeremy Morse via All-commits
all-commits at lists.llvm.org
Fri Dec 6 03:27:41 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: c93a9b15ce885f7a4d90b0f9ff2928fc7e2cd74a
https://github.com/llvm/llvm-project/commit/c93a9b15ce885f7a4d90b0f9ff2928fc7e2cd74a
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2019-12-06 (Fri, 06 Dec 2019)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
A llvm/test/DebugInfo/Generic/codegenprep-addrsink.ll
Log Message:
-----------
[DebugInfo][CGP] Update dbg.values when sinking address computations
One of CodeGenPrepare's optimizations is to duplicate address calculations
into basic blocks, so that as much information as possible can be folded
into memory addressing operands. This is great -- but the dbg.value
variable location intrinsics are not updated in the same way. This can lead
to dbg.values referring to address computations in other blocks that will
never be encoded into the DAG, while duplicate address computations are
performed locally that could be used by the dbg.value. Some of these (such
as non-constant-offset GEPs) can't be salvaged past.
Fix this by, whenever we duplicate an address computation into a block,
looking for dbg.value users of the original memory address in the same
block, and redirecting those to the local computation.
Differential Revision: https://reviews.llvm.org/D58403
More information about the All-commits
mailing list