must_alias question
Jan Hubicka
jh@suse.cz
Fri Nov 21 03:06:00 GMT 2003
> On Thu, 2003-11-20 at 16:44, Jan Hubicka wrote:
>
> > The bug is probably reason for the FIXME disabling the function for
> > pointer types BTW :)
> >
> Bonus!
>
>
> > I will test all the changes I cumulated for mustalias pass.
> > I think we can kill ADDRESSOF beast now that will make things a lot
> > easier.
> >
> OK. I'm very interested in these changes. We need to be able to remove
> the FIXME in promote_var safely. Otherwise, we miss several
> scalarizations that are important to finish fixing PR 12747.
I've tested it on i386-linux now with SRA disabled (as SRA still makes
bootstrap failing on that machine). In conjunction with the
tree-mustalias patch this is enought to remove all the FIXMES (two in
tree-mustalias and other in my tree-dfa patch).
I will do more proper testing once we stabilize the other bugs, but you
may ti find this usefull if working on improving SRA.
Honza
2003-11-21 Jan Hubicka <jh@suse.cz>
* stmt.c (expand_decl): Do not crash when referencing arrays
with no TREE_ADDRESSABLE bit set.
Index: stmt.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/stmt.c,v
retrieving revision 1.267.2.40
diff -c -3 -p -r1.267.2.40 stmt.c
*** stmt.c 13 Nov 2003 02:37:59 -0000 1.267.2.40
--- stmt.c 21 Nov 2003 01:11:55 -0000
*************** expand_decl (tree decl)
*** 3933,3940 ****
maybe_set_unchanging (DECL_RTL (decl), decl);
! /* If something wants our address, try to use ADDRESSOF. */
! if (TREE_ADDRESSABLE (decl))
put_var_into_stack (decl, /*rescan=*/false);
}
--- 3933,3943 ----
maybe_set_unchanging (DECL_RTL (decl), decl);
! /* If something wants our address, try to use ADDRESSOF.
! Always construct address for aggregates, as we may need
! referencing field addressed by variable we can't do inside
! register. */
! if (TREE_ADDRESSABLE (decl) || AGGREGATE_TYPE_P (type))
put_var_into_stack (decl, /*rescan=*/false);
}
More information about the Gcc
mailing list