[PATCH]: Improve ability to convert loops to perfect nests

Zdenek Dvorak rakdver@atrey.karlin.mff.cuni.cz
Sat Jun 11 18:34:00 GMT 2005


Hello,

> 2005-06-11  Daniel Berlin  <dberlin@dberlin.org>
> 
> 	* lambda-code.c (replace_uses_equiv_to_x_with_y): Verify the step
> 	is an INTEGER_CST before calling int_cst_value.
> 
> Index: lambda-code.c
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/lambda-code.c,v
> retrieving revision 2.43
> diff -u -p -r2.43 lambda-code.c
> --- lambda-code.c	10 Jun 2005 19:23:26 -0000	2.43
> +++ lambda-code.c	11 Jun 2005 15:22:38 -0000
> @@ -2184,7 +2184,8 @@ replace_uses_equiv_to_x_with_y (struct l
>  	(loop, analyze_scalar_evolution (loop, use));
>        if (access_fn != NULL_TREE)
>  	step = evolution_part_in_loop_num (access_fn, loop->num);
> -      if ((step && int_cst_value (step) == xstep)
> +      if ((step && TREE_CODE (step) == INTEGER_CST 

step && cst_and_fits_in_hwi (step)

would seem safer (I am not sure, perhaps you check the size of the
type elsewhere?)

Zdenek

> +	   && int_cst_value (step) == xstep)
>  	  || USE_FROM_PTR (use_p) == x)
>  	SET_USE (use_p, y);
>      }



More information about the Gcc-patches mailing list