alias.c (find_base_term): Handle ADDRESSOF.
authorJohn Wehle <john@feith.com>
Sun, 10 Sep 2000 18:25:49 +0000 (18:25 +0000)
committerJohn Wehle <wehle@gcc.gnu.org>
Sun, 10 Sep 2000 18:25:49 +0000 (18:25 +0000)
* alias.c (find_base_term): Handle ADDRESSOF.
(memrefs_conflict_p): An ADDRESSOF doesn't conflict.

From-SVN: r36300

gcc/ChangeLog
gcc/alias.c

index 8c714e1..553741d 100644 (file)
@@ -1,3 +1,8 @@
+Sun Sep 10 14:30:28 EDT 2000  John Wehle  (john@feith.com)
+
+       * alias.c (find_base_term): Handle ADDRESSOF.
+       (memrefs_conflict_p): An ADDRESSOF doesn't conflict.
+
 2000-09-10  Denis Chertykov  <denisc@overta.ru>
 
        * genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
index cb5a636..b17296b 100644 (file)
@@ -1131,6 +1131,9 @@ find_base_term (x)
     case LABEL_REF:
       return x;
 
+    case ADDRESSOF:
+      return REG_BASE_VALUE (stack_pointer_rtx);
+
     default:
       return 0;
     }
@@ -1454,6 +1457,9 @@ 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 (CONSTANT_P (x))
     {
       if (GET_CODE (x) == CONST_INT && GET_CODE (y) == CONST_INT)