diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-09 06:28:21 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-09 06:28:21 +0000 |
commit | f7cd799489d0c13bc8c2e55c25919a0e10aef2b5 (patch) | |
tree | e58d0b35b7101314a27ffafff223d1f068cc7c75 /gcc/rtlanal.c | |
parent | 4b89df4cf62f82944dbf1f2f851700e526e0ab48 (diff) | |
download | gcc-f7cd799489d0c13bc8c2e55c25919a0e10aef2b5.tar.gz |
* rtlanal.c (rtx_varies_p): Check operand 0 of a
LO_SUM unless for_alias is set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40340 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r-- | gcc/rtlanal.c | 6 |
1 files changed, 4 insertions, 2 deletions
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)) |