diff options
author | Jeff Law <law@gcc.gnu.org> | 1997-05-12 17:37:24 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-05-12 17:37:24 -0600 |
commit | 15f3d16acb57c2ea3a9b86829ba51bde1c88c197 (patch) | |
tree | b6367180a04314567ff669b11f3279f5e2756db6 | |
parent | 6f54921d696748515d8875f6c58cb91118ccf9a1 (diff) | |
download | gcc-15f3d16acb57c2ea3a9b86829ba51bde1c88c197.zip gcc-15f3d16acb57c2ea3a9b86829ba51bde1c88c197.tar.gz gcc-15f3d16acb57c2ea3a9b86829ba51bde1c88c197.tar.bz2 |
mips.c (move_operand): Accept any general operand after reload has started.
* mips.c (move_operand): Accept any general operand after reload
has started.
From-SVN: r14059
-rw-r--r-- | gcc/config/mips/mips.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 13bc57f..b97e0f6 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -715,8 +715,15 @@ move_operand (op, mode) rtx op; enum machine_mode mode; { + /* Accept any general operand after reload has started; doing so + avoids losing if reload does an in-place replacement of a register + with a SYMBOL_REF or CONST. */ return (general_operand (op, mode) - && ! (mips_split_addresses && mips_check_split (op, mode))); + && (! (mips_split_addresses && mips_check_split (op, mode)) + || reload_in_progress + || reload_completed)); + + } /* Return true if OPERAND is valid as a source operand for movdi. |