diff options
author | Richard Guenther <rguenther@suse.de> | 2009-05-29 13:31:47 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-05-29 13:31:47 +0000 |
commit | 71dcd6099ae3f4147d80081042d33d5da3454d4d (patch) | |
tree | d9efa565deff91ac8ab90373b07900898033d715 /gcc/tree-ssa-alias.c | |
parent | a900ae6bfb6cd39869d521ec912c09fb7a345f6c (diff) | |
download | gcc-71dcd6099ae3f4147d80081042d33d5da3454d4d.zip gcc-71dcd6099ae3f4147d80081042d33d5da3454d4d.tar.gz gcc-71dcd6099ae3f4147d80081042d33d5da3454d4d.tar.bz2 |
tree-ssa-alias.c (nonaliasing_component_refs_p): Remove short-cutting on the first component.
2009-05-29 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (nonaliasing_component_refs_p): Remove
short-cutting on the first component.
From-SVN: r147976
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r-- | gcc/tree-ssa-alias.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index e68fb51..0b8c251 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -539,8 +539,7 @@ nonaliasing_component_refs_p (tree ref1, tree type1, /* Now search for the type1 in the access path of ref2. This would be a common base for doing offset based disambiguation on. */ - /* Skip the outermost ref - we would have caught that earlier. */ - refp = &TREE_OPERAND (ref2, 0); + refp = &ref2; while (handled_component_p (*refp) && same_type_for_tbaa (TREE_TYPE (*refp), type1) == 0) refp = &TREE_OPERAND (*refp, 0); @@ -556,7 +555,7 @@ nonaliasing_component_refs_p (tree ref1, tree type1, return ranges_overlap_p (offset1, max_size1, offset2, max_size2); } /* If we didn't find a common base, try the other way around. */ - refp = &TREE_OPERAND (ref1, 0); + refp = &ref1; while (handled_component_p (*refp) && same_type_for_tbaa (TREE_TYPE (*refp), type2) == 0) refp = &TREE_OPERAND (*refp, 0); |