diff options
author | Diego Novillo <dnovillo@redhat.com> | 2004-09-17 01:10:28 +0000 |
---|---|---|
committer | Diego Novillo <dnovillo@gcc.gnu.org> | 2004-09-16 21:10:28 -0400 |
commit | 7a1162112b7fbbd0fd3c8dc5b59e065f170e0042 (patch) | |
tree | 3307a55b4fb35c7579d8c021d2f9e2130d4e38b4 /gcc/tree-ssa-alias.c | |
parent | 02382b9149d6ab3452b5354cd45702742eb72617 (diff) | |
download | gcc-7a1162112b7fbbd0fd3c8dc5b59e065f170e0042.zip gcc-7a1162112b7fbbd0fd3c8dc5b59e065f170e0042.tar.gz gcc-7a1162112b7fbbd0fd3c8dc5b59e065f170e0042.tar.bz2 |
re PR tree-optimization/17528 (tree optimization incorrectly optimizes away entire function (incorrect aliasing detection?))
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
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r-- | gcc/tree-ssa-alias.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index 801de5b..d30dc38 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -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 { |