Propagate DBG_VALUE entries when there are unvisited predecessors
authorKeith Walker <kwalker@arm.com>
Tue, 27 Sep 2016 16:46:07 +0000 (16:46 +0000)
committerKeith Walker <kwalker@arm.com>
Tue, 27 Sep 2016 16:46:07 +0000 (16:46 +0000)
commit83ebef5db3aec9b728bf17d51e2afb9a5945ad27
tree9d5095267bd665977897b0fed98631b1765468dc
parenta42b3bcae4ec4bb2fb9d6e5981f99cf853407b4b
Propagate DBG_VALUE entries when there are unvisited predecessors

Variables are sometimes missing their debug location information in
blocks in which the variables should be available. This would occur
when one or more predecessor blocks had not yet been visited by the
routine which propagated the information from predecessor blocks.

This is addressed by only considering predecessor blocks which have
already been visited.

The solution to this problem was suggested by Daniel Berlin on the
LLVM developer mailing list.

Differential Revision: https://reviews.llvm.org/D24927

llvm-svn: 282506
llvm/lib/CodeGen/LiveDebugValues.cpp
llvm/test/CodeGen/ARM/dbg-range-extension.mir [new file with mode: 0644]