This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [autovect] [patch] branch merge
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Ira Rosen <IRAR at il dot ibm dot com>
- Cc: Devang Patel <dpatel at apple dot com>, gcc-patches at gcc dot gnu dot org, Keith Besaw <kbesaw at us dot ibm dot com>
- Date: Mon, 11 Apr 2005 09:16:10 -0400
- Subject: Re: [autovect] [patch] branch merge
- References: <OF7E0A2523.8324C8A2-ONC2256FE0.00261B43-C2256FE0.0028134E@il.ibm.com>
On Mon, 2005-04-11 at 10:17 +0300, Ira Rosen wrote:
>
>
>
> Daniel Berlin <dberlin@dberlin.org> wrote on 11/04/2005 01:24:41:
>
> > It looks like someone has broken the dataref stuff so that it no longer
> > tries to actually resolve the data dependence, even if you tell it to do
> > "detailed analysis" (ie change the incorrect call in tree-loop-linear
> > that passes false as the "detailed_analysis" parameter to
> > compute_data_dependences).
> >
>
> I am looking into it. There are several issues here.
>
> The first problem is in function compute_all_dependences. I changed it to
> ignore dependences between the same data-ref, i.e., to avoid creation of
> DDR with same DRA and DRB, and to avoid read-read dependencies. As I
> understand, linear loop transform needs such DDRs. I'll fix this.
>
> The second problem is that in build_classic_dist_vector incorrect access
> function were analyzed in case of INDIRECT_REF. This problem existed before
> my changes to data refs analysis.
This is probably my fault, since i added support for INDIRECT_REF to
tree-data-ref.c.
It's probably not checking whether the base is the same before computing
distance or something (or the offsets aren't directly comparable terms).