diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 468d4a0840a..062ba490fe5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Mar 8 23:29:37 2001 John Wehle (john@feith.com) + + * rtlanal.c (rtx_varies_p): Check operand 0 of a + LO_SUM unless for_alias is set. + 2001-03-08 Stan Shebs * objc/objc-act.c: Fix old typos in comments, add comments for diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 237382f9072..be9374e68eb 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -163,8 +163,10 @@ rtx_varies_p (x, for_alias) case LO_SUM: /* The operand 0 of a LO_SUM is considered constant - (in fact is it related specifically to operand 1). */ - return rtx_varies_p (XEXP (x, 1), for_alias); + (in fact it is related specifically to operand 1) + during alias analysis. */ + return (! for_alias && rtx_varies_p (XEXP (x, 0), for_alias)) + || rtx_varies_p (XEXP (x, 1), for_alias); case ASM_OPERANDS: if (MEM_VOLATILE_P (x))