diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/alias.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 77424eba5f8..23f0d8861de 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2010-08-04 Richard Guenther <rguenther@suse.de> + * alias.c (rtx_refs_may_alias_p): Do not resort to TBAA + if either alias-set is zero. + +2010-08-04 Richard Guenther <rguenther@suse.de> + * tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ... * tree-ssa-ccp.c: ... here. * tree-ssa-copy.c: ... and here. diff --git a/gcc/alias.c b/gcc/alias.c index 9b70bb86bb2..f5de4db9d75 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -354,7 +354,10 @@ rtx_refs_may_alias_p (const_rtx x, const_rtx mem, bool tbaa_p) || !ao_ref_from_mem (&ref2, mem)) return true; - return refs_may_alias_p_1 (&ref1, &ref2, tbaa_p); + return refs_may_alias_p_1 (&ref1, &ref2, + tbaa_p + && MEM_ALIAS_SET (x) != 0 + && MEM_ALIAS_SET (mem) != 0); } /* Returns a pointer to the alias set entry for ALIAS_SET, if there is |