On Mon, Jan 20, 2014 at 10:50 AM, Richard Biener <rguent...@suse.de> wrote:
>
> This improves var-tracking dataflow convergence by using post order
> on the inverted CFG - which is appropriate for forward dataflow
> problems.  This haves compile-time spent in var-tracking for PR45364
> (it also improves other testcases, but that one seems to be the best
> case).
>
> For this to pass bootstrap I had to fix PR59890, two latent
> bugs with the recently added local_get_addr_cache.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, ok for trunk?
>
> Thanks,
> Richard.
>
> 2014-01-20  Richard Biener  <rguent...@suse.de>
>
>         PR rtl-optimization/45364
>         PR rtl-optimization/59890
>         * var-tracking.c (local_get_addr_clear_given_value): Handle
>         already cleared slot.
>         (val_reset): Handle not allocated local_get_addr_cache.
>         (vt_find_locations): Use post-order on the inverted CFG.
>

This caused:

FAIL: gcc.dg/guality/pr43051-1.c  -O1  line 40 v == 1
FAIL: gcc.dg/guality/pr43051-1.c  -O1  line 41 e == &a[1]
FAIL: gcc.dg/guality/pr43051-1.c  -Os  line 40 v == 1
FAIL: gcc.dg/guality/pr43051-1.c  -Os  line 41 e == &a[1]

on Linux/x86.

H.J.

Reply via email to