From: John Wehle Date: Sun, 10 Sep 2000 18:25:49 +0000 (+0000) Subject: alias.c (find_base_term): Handle ADDRESSOF. X-Git-Tag: prereleases/libstdc++-2.92~4130 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d982e46e1c8ec6ed6ab7afc51c7390788edaa0e6;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c714e13c318..553741de353f 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 cb5a63637791..b17296bcbd5a 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)