re PR rtl-optimization/44838 (RTL loop unrolling causes FAIL: gcc.dg/pr39794.c)
authorRichard Guenther <rguenther@suse.de>
Thu, 8 Jul 2010 09:09:15 +0000 (09:09 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 8 Jul 2010 09:09:15 +0000 (09:09 +0000)
2010-07-08  Richard Guenther  <rguenther@suse.de>

PR rtl-optimization/44838
* tree-ssa-alias.c (indirect_refs_may_alias_p): When not in
SSA form do not use pointer equivalence.

From-SVN: r161945

gcc/ChangeLog
gcc/tree-ssa-alias.c

index e374743e85417acc01e4c4ab80120a506176b4f3..3d619ad2abf4bb61dc327df52deb63e5c8e56120 100644 (file)
@@ -1,3 +1,9 @@
+2010-07-08  Richard Guenther  <rguenther@suse.de>
+
+       PR rtl-optimization/44838
+       * tree-ssa-alias.c (indirect_refs_may_alias_p): When not in
+       SSA form do not use pointer equivalence.
+
 2010-07-08  Eric Botcazou  <ebotcazou@adacore.com>
 
        * dwarf2out.c (AT_linkage_name): Delete.
index 78eb362ca5c7f238ccd93529bc16b46a2a7dc793..2460804845873a6e2c4bbe7275b1957958a5d4aa 100644 (file)
@@ -801,7 +801,8 @@ indirect_refs_may_alias_p (tree ref1 ATTRIBUTE_UNUSED, tree base1,
   /* If both bases are based on pointers they cannot alias if they may not
      point to the same memory object or if they point to the same object
      and the accesses do not overlap.  */
-  if (operand_equal_p (ptr1, ptr2, 0))
+  if ((!cfun || gimple_in_ssa_p (cfun))
+      && operand_equal_p (ptr1, ptr2, 0))
     {
       if (TREE_CODE (base1) == MEM_REF)
        offset1 += mem_ref_offset (base1).low * BITS_PER_UNIT;