Fix for debug/35065 (compile time hog)

Richard Guenther richard.guenther@gmail.com
Tue Feb 12 17:22:00 GMT 2008


On Feb 12, 2008 5:13 PM, Michael Matz <matz@suse.de> wrote:
> Hi,
>
> there's an obvious error in clobber_variable_part which causes
> instability.  Depending on if the searched item is the first in list or
> not, either only it is removed, or the whole list is emptied.  This
> dependence on input order causes instability of the OUT sets, and as this
> is a loop, causes oscillation and an endless loop.
>
> This fixes it.  I'm currently regstrapping on i686 and x86_64.  Okay for
> trunk if that passes?

Ok.

Thanks,
Richard.

> Ciao,
> Michael.
>
>         * var-tracking.c (clobber_variable_part): Correctly traverse the
>         list.
>
> Index: gcc/var-tracking.c
> ===================================================================
> --- gcc/var-tracking.c  (revision 132254)
> +++ gcc/var-tracking.c  (working copy)
> @@ -2595,6 +2655,8 @@ clobber_variable_part (dataflow_set *set
>                               pool_free (attrs_pool, anode);
>                               *anextp = anext;
>                             }
> +                         else
> +                           anextp = &anode->next;
>                         }
>                     }
>
>



More information about the Gcc-patches mailing list