aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2006-06-12 02:10:24 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2006-06-12 02:10:24 +0000
commit4119019bd756f9c97cbb0a0133371cf0cdd7f436 (patch)
tree36cefbde6ef807e5ec40c30f0895a96486d5e1be /gcc
parent0972012c8a44748910e97ce6346de845237e2533 (diff)
downloadgcc-4119019bd756f9c97cbb0a0133371cf0cdd7f436.zip
gcc-4119019bd756f9c97cbb0a0133371cf0cdd7f436.tar.gz
gcc-4119019bd756f9c97cbb0a0133371cf0cdd7f436.tar.bz2
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 <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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/reload.c6
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0e14efc..41d4405 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,13 @@
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
* config/rs6000/rs6000.c (const_vector_elt_as_int): New function to
extract a CONST_VECTOR element and interpret it as an integer.
diff --git a/gcc/reload.c b/gcc/reload.c
index 6ce1871..616a737 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,