Re: [PATCH] Fix PR59890, improve var-tracking compile-time

2014-01-28 Thread H.J. Lu
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

Re: [PATCH] Fix PR59890, improve var-tracking compile-time

2014-01-21 Thread Alexandre Oliva
On Jan 20, 2014, Jakub Jelinek ja...@redhat.com wrote: On Mon, Jan 20, 2014 at 06:24:36PM -0200, Alexandre Oliva wrote: But I think this one is wrong. if (var-onepart == ONEPART_VALUE) { if (local_get_addr_cache == NULL) return; But when local_get_addr_cache is non-NULL, no matter if we

[PATCH] Fix PR59890, improve var-tracking compile-time

2014-01-20 Thread Richard Biener
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

Re: [PATCH] Fix PR59890, improve var-tracking compile-time

2014-01-20 Thread Alexandre Oliva
On Jan 20, 2014, Richard Biener rguent...@suse.de wrote: local_get_addr_clear_given_value (const void *v ATTRIBUTE_UNUSED, void **slot, void *x) { ! if (*slot != NULL !vt_get_canonicalize_base ((rtx)*slot) == x) *slot = NULL; return

Re: [PATCH] Fix PR59890, improve var-tracking compile-time

2014-01-20 Thread Jakub Jelinek
On Mon, Jan 20, 2014 at 06:24:36PM -0200, Alexandre Oliva wrote: ! if (var-onepart == ONEPART_VALUE) { rtx x = dv_as_value (dv); void **slot; --- 2502,2509 gcc_assert (var-n_var_parts == 1); ! if (var-onepart == ONEPART_VALUE !