------- Comment #3 from rguenth at gcc dot gnu dot org 2009-09-12 20:02 -------
srcshift is not moved out of the loop because we think the store to dstdata may
alias it. I'll fix that.
Index: tree-ssa-alias.c
===================================================================
--- tree-ssa-alias.c (revision 151651)
+++ tree-ssa-alias.c (working copy)
@@ -633,6 +633,9 @@ indirect_ref_may_alias_decl_p (tree ref1
HOST_WIDE_INT offset2, HOST_WIDE_INT max_size2,
alias_set_type base2_alias_set)
{
+ if (TREE_READONLY (base2))
+ return false;
+
/* If only one reference is based on a variable, they cannot alias if
the pointer access is beyond the extent of the variable access.
(the pointer base cannot validly point to an offset less than zero
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-09-12 20:02:13
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34011