From d982e46e1c8ec6ed6ab7afc51c7390788edaa0e6 Mon Sep 17 00:00:00 2001 From: John Wehle Date: Sun, 10 Sep 2000 18:25:49 +0000 Subject: [PATCH] alias.c (find_base_term): Handle ADDRESSOF. * alias.c (find_base_term): Handle ADDRESSOF. (memrefs_conflict_p): An ADDRESSOF doesn't conflict. From-SVN: r36300 --- gcc/ChangeLog | 5 +++++ gcc/alias.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c714e13c31..553741de353 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 * genoutput.c (output_insn_data): Translate to \n\ while diff --git a/gcc/alias.c b/gcc/alias.c index cb5a6363779..b17296bcbd5 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -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)