This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: loop-iv bugfix


Hello,

> Zdenek Dvorak wrote:
> 
> >>Index: loop-iv.c
> >>===================================================================
> >>--- loop-iv.c	(revision 122288)
> >>+++ loop-iv.c	(working copy)
> >>@@ -1811,6 +1811,8 @@ simplify_using_initial_values (struct lo
> >> 	      FREE_REG_SET (altered);
> >> 	      return;
> >> 	    }
> >>+	  if (for_each_rtx (expr, altered_reg_used, altered))
> >>+	    return;
> >
> >FREE_REG_SET (altered); is missing here.
> 
> I checked in the following as 122346.  Bootstrapped & regression tested 
> on i686-linux; the first time there was a new failure:
>   FAIL: gfortran.dg/secnds.f  -Os  execution test
> which went away after retesting, and is quite likely a different problem.

the secnds.f test keeps failing for me just randomly, even for patches
that cannot possibly affect it.  We probably misscompile it somehow.

Zdenek

> Bernd
> -- 
> This footer brought to you by insane German lawmakers.
> Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
> Registergericht Muenchen HRB 40368
> Geschaeftsfuehrer Thomas Wessel, Vincent Roche, Joseph E. McDonough

> Index: ChangeLog
> ===================================================================
> --- ChangeLog	(revision 122345)
> +++ ChangeLog	(working copy)
> @@ -1,3 +1,8 @@
> +2007-02-27  Bernd Schmidt  <bernd.schmidt@analog.com>
> +
> +	* loop-iv.c (simplify_using_initial_values): Fix oversight in previous
> +	change; avoid a memory leak when returning early.
> +	
>  2007-02-26  Mark Mitchell  <mark@codesourcery.com>
>  
>  	* c-decl.c (static_ctors): Move to c-common.c.
> Index: loop-iv.c
> ===================================================================
> --- loop-iv.c	(revision 122345)
> +++ loop-iv.c	(working copy)
> @@ -1812,7 +1812,10 @@ simplify_using_initial_values (struct lo
>  	      return;
>  	    }
>  	  if (for_each_rtx (expr, altered_reg_used, altered))
> -	    return;
> +	    {
> +	      FREE_REG_SET (altered);
> +	      return;
> +	    }
>  	}
>  
>        if (!single_pred_p (e->src)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]