re PR tree-optimization/17528 (tree optimization incorrectly optimizes away entire...
authorDiego Novillo <dnovillo@redhat.com>
Fri, 17 Sep 2004 01:10:28 +0000 (01:10 +0000)
committerDiego Novillo <dnovillo@gcc.gnu.org>
Fri, 17 Sep 2004 01:10:28 +0000 (21:10 -0400)
PR tree-optimization/17528
* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
erase the may-alias set for a tag when merging it with
another.

From-SVN: r87624

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

index 31e4df2..bc9fb61 100644 (file)
@@ -1,3 +1,10 @@
+2004-09-16  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/17528
+       * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
+       erase the may-alias set for a tag when merging it with
+       another.
+
 2004-09-16  Kaz Kojima  <kkojima@gcc.gnu.org>
 
        * config/sh/sh.md (call): Extend 32-bit addresses to DImode
index 801de5b..d30dc38 100644 (file)
@@ -977,7 +977,6 @@ compute_flow_insensitive_aliasing (struct alias_info *ai)
        {
          struct alias_map_d *p_map2 = ai->pointers[j];
          tree tag2 = var_ann (p_map2->var)->type_mem_tag;
-         var_ann_t tag2_ann = var_ann (tag2);
          sbitmap may_aliases2 = p_map2->may_aliases;
 
          /* If the pointers may not point to each other, do nothing.  */
@@ -999,8 +998,6 @@ compute_flow_insensitive_aliasing (struct alias_info *ai)
              EXECUTE_IF_SET_IN_SBITMAP (may_aliases2, 0, k,
                  add_may_alias (tag1, referenced_var (k)));
              sbitmap_a_or_b (may_aliases1, may_aliases1, may_aliases2);
-             sbitmap_zero (may_aliases2);
-             tag2_ann->may_aliases = NULL;
            }
          else
            {