alias.c (memrefs_conflict_p): An ADDRESSOF doesn't conflict with frame_pointer_rtx.
authorJohn Wehle <john@feith.com>
Thu, 14 Sep 2000 04:47:48 +0000 (04:47 +0000)
committerJohn Wehle <wehle@gcc.gnu.org>
Thu, 14 Sep 2000 04:47:48 +0000 (04:47 +0000)
* alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
conflict with frame_pointer_rtx.

From-SVN: r36401

gcc/ChangeLog
gcc/alias.c

index c02cf97..6355ac1 100644 (file)
@@ -1,3 +1,8 @@
+Thu Sep 14 00:51:57 EDT 2000  John Wehle  (john@feith.com)
+
+       * alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
+       conflict with frame_pointer_rtx.
+
 2000-09-13  Kazu Hirata  <kazu@hxi.com>
 
        * loop.c: Fix formatting.
index 32d63b2..be46281 100644 (file)
@@ -1457,8 +1457,17 @@ memrefs_conflict_p (xsize, x, ysize, y, c)
       return memrefs_conflict_p (xsize, x, ysize, XEXP (y, 0), c);
     }
 
-  if (GET_CODE (x) == ADDRESSOF && GET_CODE (y) == ADDRESSOF)
-    return xsize < 0 || ysize < 0;
+  if (GET_CODE (x) == ADDRESSOF)
+    {
+      if (y == frame_pointer_rtx
+         || GET_CODE (y) == ADDRESSOF)
+       return xsize <= 0 || ysize <= 0;
+    }
+  if (GET_CODE (y) == ADDRESSOF)
+    {
+      if (x == frame_pointer_rtx)
+       return xsize <= 0 || ysize <= 0;
+    }
 
   if (CONSTANT_P (x))
     {