This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: dce3 botch with c41203a ACATS test
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 30 Jul 2004 12:01:56 -0400
- Subject: Re: dce3 botch with c41203a ACATS test
- Organization: Red Hat Canada
- References: <10407301553.AA17805@vlsi1.ultra.nyu.edu>
On Fri, 2004-07-30 at 11:53, Richard Kenner wrote:
> Ah! Is the code taking into account the DECL_NONADDRESSABLE_P flag
> for field and TYPE_NONALIASED_COMPONENT?
>
Given a variable V whose address has been taken, we call
get_alias_set (V). Given a pointer P that has been dereferenced, we
create an artificial variable TMT of type TREE_TYPE (TREE_TYPE (P)) and
compute get_alias_set (TMT). Later on, we compare the alias sets of V
and TMT with alias_sets_conflict_p (inside may_alias_p). If that is
true, then we add V to the may-alias set of TMT.
If the calls to get_alias_set take those flags into account, then I
guess we do.
> Also, might this be a case
> where ARRAY_REF (which access an element) and ARRAY_RANGE_REF (which
> access an array) need to be treated differently but aren't?
>
No. This part is purely type-based. We don't check individual
references, just the types of the variables and type memory tags.
> Kenner, was this program part of the Ada test suite?
>
> Yes, it is, as the subject indicates.
>
Oh, sure, are you going to make me *read* the subject now? ;)
Diego.