re PR target/27858 (ICE in spill_failure, at reload1.c:1911while bootstrapping 4...
authorRoger Sayle <roger@eyesopen.com>
Mon, 12 Jun 2006 02:10:24 +0000 (02:10 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Mon, 12 Jun 2006 02:10:24 +0000 (02:10 +0000)
PR target/27858
Revert incorrect fix for PR target/27158
2006-05-08  Roger Sayle  <roger@eyesopen.com>
* reload.c (find_reloads_toplev): Only return the simplified SUBREG
of a reg_equiv_constant if the result is a legitimate constant.

From-SVN: r114559

gcc/ChangeLog
gcc/reload.c

index 0e14efce4d77e93a494d2d0ffd4ee85c8f184e36..41d440526b0d014986d738ceda0484da2bc62e72 100644 (file)
@@ -1,3 +1,11 @@
+2006-06-11  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/27858
+       Revert incorrect fix for PR target/27158
+       2006-05-08  Roger Sayle  <roger@eyesopen.com>
+       * reload.c (find_reloads_toplev): Only return the simplified SUBREG
+       of a reg_equiv_constant if the result is a legitimate constant.
+
 2006-06-11  Roger Sayle  <roger@eyesopen.com>
 
        PR target/27158
index 6ce18711fd031d4b35656c13180fdc7e38b0b1ff..616a73726a16937d7fb0d91a77039485b009d9ae 100644 (file)
@@ -4572,8 +4572,7 @@ find_reloads_toplev (rtx x, int opnum, enum reload_type type,
          && reg_renumber[regno] < 0
          && reg_equiv_constant[regno] != 0
          && (tem = gen_lowpart_common (GET_MODE (x),
-                                       reg_equiv_constant[regno])) != 0
-         && LEGITIMATE_CONSTANT_P (tem))
+                                       reg_equiv_constant[regno])) != 0)
        return tem;
 
       if (regno >= FIRST_PSEUDO_REGISTER
@@ -4584,8 +4583,7 @@ find_reloads_toplev (rtx x, int opnum, enum reload_type type,
            simplify_gen_subreg (GET_MODE (x), reg_equiv_constant[regno],
                                 GET_MODE (SUBREG_REG (x)), SUBREG_BYTE (x));
          gcc_assert (tem);
-         if (LEGITIMATE_CONSTANT_P (tem))
-           return tem;
+         return tem;
        }
 
       /* If the subreg contains a reg that will be converted to a mem,