Patchwork [RFA,PR,tree-optimization/59749] Fix recently introduced ree bug

login
register
mail settings
Submitter Jeff Law
Date Jan. 17, 2014, 10:20 p.m.
Message ID <52D9ACB0.1020506@redhat.com>
Download mbox | patch
Permalink /patch/312210/
State New
Headers show

Comments

Jeff Law - Jan. 17, 2014, 10:20 p.m.
On 01/17/14 14:51, Jeff Law wrote:
>
> Anyway, I clearly need to rethink that test.  Given this is something we
> haven't seen in the wild, I'm going to disable it over the
> weekend/monday so that enable-checking bugs pass and continue to ponder.
And the patch which disables the test.


>
> jeff
>
>
commit 78f81be0894b38090cd6280f1e303610434d75c5
Author: Jeff Law <law@redhat.com>
Date:   Thu Jan 16 14:23:15 2014 -0700

           * ree.c (combine_set_extension): Temporarily disable test for
            changing number of hard registers.

Patch

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 37023c8..fabe408 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@ 
+2014-01-17  Jeff Law  <law@redhat.com>
+
+	* ree.c (combine_set_extension): Temporarily disable test for
+	changing number of hard registers.
+
 2014-01-17  Jan Hubicka  <jh@suse.cz>
 
 	PR middle-end/58125
diff --git a/gcc/ree.c b/gcc/ree.c
index 19d821c..421eb6c 100644
--- a/gcc/ree.c
+++ b/gcc/ree.c
@@ -297,11 +297,15 @@  combine_set_extension (ext_cand *cand, rtx curr_insn, rtx *orig_set)
   else
     new_reg = gen_rtx_REG (cand->mode, REGNO (SET_DEST (*orig_set)));
 
+#if 0
+  /* Rethinking test.  Temporarily disabled.  */
   /* We're going to be widening the result of DEF_INSN, ensure that doing so
      doesn't change the number of hard registers needed for the result.  */
   if (HARD_REGNO_NREGS (REGNO (new_reg), cand->mode)
-      != HARD_REGNO_NREGS (REGNO (orig_src), GET_MODE (SET_DEST (*orig_set))))
+      != HARD_REGNO_NREGS (REGNO (SET_DEST (*orig_set)),
+			   GET_MODE (SET_DEST (*orig_set))))
 	return false;
+#endif
 
   /* Merge constants by directly moving the constant into the register under
      some conditions.  Recall that RTL constants are sign-extended.  */