mips.c (move_operand): Accept any general operand after reload has started.
authorJeff Law <law@gcc.gnu.org>
Mon, 12 May 1997 23:37:24 +0000 (17:37 -0600)
committerJeff Law <law@gcc.gnu.org>
Mon, 12 May 1997 23:37:24 +0000 (17:37 -0600)
        * mips.c (move_operand): Accept any general operand after reload
        has started.

From-SVN: r14059

gcc/config/mips/mips.c

index 13bc57febcd389f7abec49776e5b2c5e897eaa89..b97e0f65710ab4b2ebef55093bf71d08ced1cb3e 100644 (file)
@@ -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.