From 4119019bd756f9c97cbb0a0133371cf0cdd7f436 Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Mon, 12 Jun 2006 02:10:24 +0000 Subject: [PATCH] re PR target/27858 (ICE in spill_failure, at reload1.c:1911while bootstrapping 4.2 on alpha) PR target/27858 Revert incorrect fix for PR target/27158 2006-05-08 Roger Sayle * 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 | 8 ++++++++ gcc/reload.c | 6 ++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0e14efce4d7..41d440526b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2006-06-11 Roger Sayle + + PR target/27858 + Revert incorrect fix for PR target/27158 + 2006-05-08 Roger Sayle + * 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 PR target/27158 diff --git a/gcc/reload.c b/gcc/reload.c index 6ce18711fd0..616a73726a1 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -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, -- 2.30.2