diff options
author | Bernd Schmidt <bernds@redhat.com> | 2001-02-08 15:09:05 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2001-02-08 15:09:05 +0000 |
commit | 0433762093b5eeef21ee4046da1248062e100b41 (patch) | |
tree | a6514e97dba141133c1805b26c5b77aae8fb407c /gcc | |
parent | 870eabc47efe784e0fbe1dde473e354aeecd7f05 (diff) | |
download | gcc-0433762093b5eeef21ee4046da1248062e100b41.zip gcc-0433762093b5eeef21ee4046da1248062e100b41.tar.gz gcc-0433762093b5eeef21ee4046da1248062e100b41.tar.bz2 |
Eliminate SUBREGs inside MEMs.
From-SVN: r39538
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/final.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7fcf7c..e9100ce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-02-08 Bernd Schmidt <bernds@redhat.com> + + * final.c (cleanup_subreg_operands): The address of a MEM can + contain SUBREGs. + 2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk> * gcc.texi (Incompatibilities): Update documentation of diff --git a/gcc/final.c b/gcc/final.c index 3a2fc15..1fd30c28 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3119,7 +3119,8 @@ cleanup_subreg_operands (insn) if (GET_CODE (recog_data.operand[i]) == SUBREG) recog_data.operand[i] = alter_subreg (recog_data.operand[i]); else if (GET_CODE (recog_data.operand[i]) == PLUS - || GET_CODE (recog_data.operand[i]) == MULT) + || GET_CODE (recog_data.operand[i]) == MULT + || GET_CODE (recog_data.operand[i]) == MEM) recog_data.operand[i] = walk_alter_subreg (recog_data.operand[i]); } @@ -3128,7 +3129,8 @@ cleanup_subreg_operands (insn) if (GET_CODE (*recog_data.dup_loc[i]) == SUBREG) *recog_data.dup_loc[i] = alter_subreg (*recog_data.dup_loc[i]); else if (GET_CODE (*recog_data.dup_loc[i]) == PLUS - || GET_CODE (*recog_data.dup_loc[i]) == MULT) + || GET_CODE (*recog_data.dup_loc[i]) == MULT + || GET_CODE (*recog_data.dup_loc[i]) == MEM) *recog_data.dup_loc[i] = walk_alter_subreg (*recog_data.dup_loc[i]); } } |