On Mon, Apr 26, 2010 at 3:42 PM, roy rosen <roy.1ro...@gmail.com> wrote:
> Hi Richard,
>
> Here is the relevant block from the dump:
>
> <bb 3>:
>  __vect_var__26_6 = *__vect_p_14_19;
>  *__vect_p_18_25 = __vect_var__26_6;
>  # PT = nonlocal { __PARM_RESTRICT_2 } (restr)
>  __vect_p_22_11 = __vect_p_14_19 + 8;
>  # PT = nonlocal { __PARM_RESTRICT_1 } (restr)
>  __vect_p_27_12 = __vect_p_18_25 + 8;
>  __vect_var__26_45 = *__vect_p_22_11;
>  *__vect_p_27_12 = __vect_var__26_45;
>
> I guess that it recognizes the restrict pointer so I don't understand
> why later it creates a dependency between the insns.
> Do you see here something relevant?

No, it looks good.  At least if both __vect_p_22 and __vect_p_27
are restrict qualified.

The RTL dumps should show *__vect_p_27_12 and similar
expressions in their MEM_ATTRS as well.

Note that IVOPTs is known to not preserve alias information so
you might want to try -fno-ivopts

> Thanks, Roy.
>

Reply via email to