diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-23 14:06:02 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-23 14:06:02 +0000 |
commit | 6c711ccf41b5e712ebfad40c83278bf33775bd9b (patch) | |
tree | 92b446ae6c5a7e1732e139eb7761d3c20bb21399 /gcc/alias.c | |
parent | 2802826ef27413a276d109c673c5f3348f352191 (diff) | |
download | gcc-6c711ccf41b5e712ebfad40c83278bf33775bd9b.tar.gz |
2008-04-23 Richard Guenther <rguenther@suse.de>
* alias.c (alias_set_subset_of): Correctly handle asking
if zero is a subset of an alias set with zero child.
* tree-ssa-alias.c (have_common_aliases_p): Simplify logic.
(compute_flow_insensitive_aliasing): Correctly walk all
pointers. Do not unnecessarily union sets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134597 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/alias.c')
-rw-r--r-- | gcc/alias.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/alias.c b/gcc/alias.c index 2e4f5aebdb4..7b14f26cc13 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -305,8 +305,9 @@ alias_set_subset_of (alias_set_type set1, alias_set_type set2) /* Otherwise, check if set1 is a subset of set2. */ ase = get_alias_set_entry (set2); if (ase != 0 - && (splay_tree_lookup (ase->children, - (splay_tree_key) set1))) + && ((ase->has_zero_child && set1 == 0) + || splay_tree_lookup (ase->children, + (splay_tree_key) set1))) return true; return false; } |