aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/tree-ssa-alias.c7
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ede6eea..e40f40e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2011-03-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47283
+ * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
+ match comment.
+ (refs_may_alias_p_1): For release branches return true if
+ we are confused by our input.
+
2011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_function_value): Rename to ...
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 68321d2..bd8953b 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -178,7 +178,7 @@ ptr_deref_may_alias_decl_p (tree ptr, tree decl)
|| (TREE_CODE (decl) != VAR_DECL
&& TREE_CODE (decl) != PARM_DECL
&& TREE_CODE (decl) != RESULT_DECL))
- return false;
+ return true;
/* Disregard pointer offsetting. */
if (TREE_CODE (ptr) == POINTER_PLUS_EXPR)
@@ -1080,7 +1080,12 @@ refs_may_alias_p_1 (ao_ref *ref1, ao_ref *ref2, bool tbaa_p)
ao_ref_alias_set (ref2), -1,
tbaa_p);
+ /* We really do not want to end up here, but returning true is safe. */
+#ifdef ENABLE_CHECKING
gcc_unreachable ();
+#else
+ return true;
+#endif
}
bool