aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-08-04 15:35:21 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-08-04 15:35:21 +0000
commit55e3bc4cec7595280c4a69b258cafd887b6d9684 (patch)
treeecae90fdd0683290850fccab2a2609a6bd01fa2a /gcc
parent079e56d05c8f12be7596ba1d4b59e9e8b30f74a6 (diff)
downloadgcc-55e3bc4cec7595280c4a69b258cafd887b6d9684.zip
gcc-55e3bc4cec7595280c4a69b258cafd887b6d9684.tar.gz
gcc-55e3bc4cec7595280c4a69b258cafd887b6d9684.tar.bz2
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> * alias.c (rtx_refs_may_alias_p): Do not resort to TBAA if either alias-set is zero. From-SVN: r162867
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/alias.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 77424eb..23f0d88 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 9b70bb8..f5de4db 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