Displaying 4 results from an estimated 4 matches for "outlocs".
Did you mean:
outlets
2016 Sep 21
2
Propagation of debug information for variable into basic blocks.
...like we could
> implement this by keeping track of which basic blocks we never visited
> before and special-casing previously unvisited basic blocks in join().
>
This is because you don't really init all the info to bottom for real. It
tries to be lazy.
Otherwise, they'd all have outlocs of bottom.
They are only theoretically initialized, so things get the wrong answer.
For example, this code is not right:
// For all predecessors of this MBB, find the set of VarLocs that
// can be joined.
for (auto p : MBB.predecessors()) {
auto OL = OutLocs.find(p);
// Join is nul...
2016 Sep 21
2
Propagation of debug information for variable into basic blocks.
> On Sep 21, 2016, at 2:23 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
>
>
>
> // For all predecessors of this MBB, find the set of VarLocs that
> // can be joined.
> for (auto p : MBB.predecessors()) {
> auto OL = OutLocs.find(p);
> // Join is null in case of empty OutLocs from any of the pred.
> if (OL == OutLocs.end())
> return false;
>
>
> This is wrong if the block is unvisited (as you say)
>
> This is actually non-trivial to fix, IMHO.
>
> For example, the follow...
2016 Sep 21
3
Propagation of debug information for variable into basic blocks.
Adrian,
I am currently investigating issues where variables that one would expect to be available in a debugger are not in code that is compiled at optimisations other than -O0
The main problem appears to be with the LiveDebugValues::join() method because it does not allow variables to be propagated into blocks unless all predecessor blocks have an Outgoing Location for that variable.
As a
2016 May 12
2
[LLVMdev] Improving the quality of debug locations / DbgValueHistoryCalculator
> On May 12, 2016, at 11:00 AM, Francois Pichet <pichet2000 at gmail.com> wrote:
>
> Here is a specific case that make the debugging experiences degraded on my target:
> This is a loop simplified CFG:
>
> BB#0:
> %R5<def> = OR_rr %R0, %R49 // this is %R5 only def.
> DBG_VALUE %R5, %noreg, !"argc", <!18>; line no:4
> Successors