This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [autovect] [patch] and aliasing question
- From: Ira Rosen <IRAR at il dot ibm dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: Diego Novillo <dnovillo at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Wed, 25 May 2005 15:52:57 +0300
- Subject: Re: [autovect] [patch] and aliasing question
Daniel Berlin <dberlin@dberlin.org> wrote on 24/05/2005 20:19:44:
> On Tue, 2005-05-24 at 09:36 +0300, Ira Rosen wrote:
> >
> >
> >
> > Hi,
> >
> > This patch fixes parameters of get_alias_set in base_address_differ_p
and
> > base_object_differ_p. Instead of passing SSA_NAME, which is incorrect,
we
> > now pass an INDIRECT_REF itself. As a result tests vect-100.c,
vect-77.c,
> > vect-78.c, vect-96.c, no_version/vect-75.c, no_version/vect-76.c,
> > no_version/vect-77.c, no_version/vect-78.c, no_version/vect-96.c and
> > no_version/pr20122.c don't get vectorized, because the alias analyzer
can't
> > determine that a pointer passed to the function as a parameter and a
> > local array don't alias (by the way, is that an expected behavior?),
>
> Yes, but only if the array escapes :) if not, we should be able to say
> that the parameter doesn't alias the array.
>
But there is no flow-sensitive alias information (as I understand from
alias dump files). And according to type memory tag, the pointer "points-to
anything". Can I somehow apply flow-sensitive alias analysis?
Another problem is that not all symbols have a type memory tag, e.g.,
symbols inserted by PRE.
Thanks,
Ira