[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