Partial revert of r243782 to restore previous behavior
authorMatthew Fortune <matthew.fortune@imgtec.com>
Mon, 20 Feb 2017 12:07:14 +0000 (12:07 +0000)
committerMatthew Fortune <mpf@gcc.gnu.org>
Mon, 20 Feb 2017 12:07:14 +0000 (12:07 +0000)
gcc/
* lra-constraints.c (simplify_operand_subreg): Remove early
return false.

From-SVN: r245600

gcc/ChangeLog
gcc/lra-constraints.c

index 1823049..aa7bb84 100644 (file)
@@ -1,5 +1,10 @@
 2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
 
+       * lra-constraints.c (simplify_operand_subreg): Remove early
+       return false.
+
+2017-02-20  Matthew Fortune  <matthew.fortune@imgtec.com>
+
        PR target/78660
        * lra-constraints.c (curr_insn_transform): Tighten condition
        for converting SUBREG reloads from OP_OUT to OP_INOUT.
index 18b3096..a7de40b 100644 (file)
@@ -1600,7 +1600,8 @@ simplify_operand_subreg (int nop, machine_mode reg_mode)
         the memory.  Typical case is when the index scale should
         correspond the memory.  */
       *curr_id->operand_loc[nop] = operand;
-      return false;
+      /* Do not return false here as the MEM_P (reg) will be processed
+        later in this function.  */
     }
   else if (REG_P (reg) && REGNO (reg) < FIRST_PSEUDO_REGISTER)
     {