]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Remove band-aid no longer needed by the fix in PR 43431
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Fri, 12 Mar 2010 15:11:25 +0000 (15:11 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Fri, 12 Mar 2010 15:11:25 +0000 (15:11 +0000)
From-SVN: r157408

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index ce51db69c8c79a03463f9ac94f80281be01c97b4..9bb215ac23944bedbea377026ca6a6bf9e5c4fbd 100644 (file)
@@ -1,3 +1,9 @@
+2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR middle-end/42431
+       * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
+       code added to work around reload clobbering CONST insns.
+
 2010-03-12  Jakub Jelinek  <jakub@redhat.com>
 
        * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
index 828506587315e62d11c6596dc1ccad9178ed7ac4..ce38a8a9d9a799cc02cc30c13e0d36a915e3de19 100644 (file)
@@ -6346,32 +6346,6 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode)
       return;
     }
 
-  /* Fix up invalid (const (plus (symbol_ref) (reg))) that seems to be created
-     in the secondary_reload phase, which evidently overwrites the CONST_INT
-     with a register.  */
-  if (GET_CODE (source) == CONST && GET_CODE (XEXP (source, 0)) == PLUS
-      && mode == Pmode)
-    {
-      rtx add_op0 = XEXP (XEXP (source, 0), 0);
-      rtx add_op1 = XEXP (XEXP (source, 0), 1);
-
-      if (GET_CODE (add_op0) == SYMBOL_REF && GET_CODE (add_op1) == REG)
-       {
-         rtx tmp = (can_create_pseudo_p ()) ? gen_reg_rtx (Pmode) : dest;
-
-         if (TARGET_DEBUG_ADDR)
-           {
-             fprintf (stderr, "\nrs6000_emit_move: bad source\n");
-             debug_rtx (source);
-           }
-
-         rs6000_emit_move (tmp, add_op0, Pmode);
-         emit_insn (gen_rtx_SET (VOIDmode, dest,
-                                 gen_rtx_PLUS (Pmode, tmp, add_op1)));
-         return;
-       }
-    }
-
   if (can_create_pseudo_p () && GET_CODE (operands[0]) == MEM
       && !gpc_reg_operand (operands[1], mode))
     operands[1] = force_reg (mode, operands[1]);