aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa-alias.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 13c4eb2..9d9e83e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-04-07 Martin Jambor <mjambor@suse.cz>
+
+ * tree-ssa-alias.c (refs_may_alias_p_1): Check for
+ is_gimple_min_invariant rather than CONSTANT_CLASS_P so that invariant
+ ADDR_EXPRS are include too.
+
2009-04-07 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Non-aliased
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index f97502a..b9cd547 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -688,9 +688,9 @@ refs_may_alias_p_1 (tree ref1, tree ref2)
*D.1663_44 = VIEW_CONVERT_EXPR<struct DB_LSN>(__tmp$B0F64_59);
which is seen as a struct copy. */
if (TREE_CODE (base1) == SSA_NAME
- || CONSTANT_CLASS_P (base1)
|| TREE_CODE (base2) == SSA_NAME
- || CONSTANT_CLASS_P (base2))
+ || is_gimple_min_invariant (base1)
+ || is_gimple_min_invariant (base2))
return false;
var1_p = SSA_VAR_P (base1);