[PATCH] D61890: [LiveDebugValues] End variable's range with multiple locations at block entry
Nikola Prica via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 14 05:52:09 PDT 2019
NikolaPrica created this revision.
NikolaPrica added reviewers: llvm-commits, aprantl, dstenb, jmorse.
NikolaPrica added a project: debug-info.
Close variable's range when variable have multiple locations at block entry. Having BB1 that branches to BB2 and BB3, where BB2 falls through to BB3, variable can have different locations at BB1 and BB2. Since input locations at BB3 for same variable are different LiveDebugValues won’t generate DBG_VALUE for BB3. If last variable location at BB2 is non-changing register, DbgEntityHistoryCalculator will extend range of DBG_VALUE from BB2 to whole BB3 and thus producing incorrect range for case when we took branch BB3 from BB1.
https://reviews.llvm.org/D61890
Files:
lib/CodeGen/LiveDebugValues.cpp
test/DebugInfo/MIR/X86/dbg-live-debug-values-end-range.mir
test/DebugInfo/MIR/X86/dbg-stack-value-range.mir
test/DebugInfo/X86/live-debug-values-constprop.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61890.199414.patch
Type: text/x-patch
Size: 18286 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190514/c61fef17/attachment.bin>
More information about the llvm-commits
mailing list