[Sorry for missing the previous messages]

> Thanks.  Just been retesting, and I think I must have forgotten
> to include Ada last time.  It turns out that the patch causes a dg-scan
> regression in gnat.dg/vect17.adb, because we now think that if the
> array RECORD_TYPEs *do* alias in:
> 
>    procedure Add (X, Y : aliased Sarray; R : aliased out Sarray) is
>    begin
>       for I in Sarray'Range loop
>          R(I) := X(I) + Y(I);
>       end loop;
>    end;
> 
> then the dependence distance must be zero.  Eric, does that hold true
> for Ada?  I.e. if X and R (or Y and R) alias, must it be the case that
> X(I) can only alias R(I) and not for example R(I-1) or R(I+1)?

Yes, I'd think so (even without the artificial RECORD_TYPE around the arrays).

> 2017-06-07  Richard Sandiford  <richard.sandif...@linaro.org>
> 
> gcc/testsuite/
>       * gnat.dg/vect17.ads (Sarray): Increase range to 1 .. 5.
>       * gnat.dg/vect17.adb (Add): Create a dependence distance of 1
>       when X = R or Y = R.

I think that you need to modify vect15 and vect16 the same way.

-- 
Eric Botcazou

Reply via email to