re PR target/26826 (ICE in reg_or_subregno, at jump.c:2011)

2006-04-17  Richard Guenther  <rguenther@suse.de>

	PR target/26826
	* reload.c (push_reload): Guard calls to get_secondary_mem
	for memory subregs.

From-SVN: r113007
This commit is contained in:
Richard Guenther 2006-04-17 13:53:19 +00:00 committed by Richard Biener
parent b2c0ad4071
commit 71a9b19ae8
2 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2006-04-17 Richard Guenther <rguenther@suse.de>
PR target/26826
* reload.c (push_reload): Guard calls to get_secondary_mem
for memory subregs.
2006-04-16 Kazu Hirata <kazu@codesourcery.com>
* alias.c (reg_base_value, old_reg_base_value): Change the

View File

@ -1286,7 +1286,9 @@ push_reload (rtx in, rtx out, rtx *inloc, rtx *outloc,
#ifdef SECONDARY_MEMORY_NEEDED
/* If a memory location is needed for the copy, make one. */
if (in != 0 && (REG_P (in) || GET_CODE (in) == SUBREG)
if (in != 0
&& (REG_P (in)
|| (GET_CODE (in) == SUBREG && REG_P (SUBREG_REG (in))))
&& reg_or_subregno (in) < FIRST_PSEUDO_REGISTER
&& SECONDARY_MEMORY_NEEDED (REGNO_REG_CLASS (reg_or_subregno (in)),
class, inmode))
@ -1316,7 +1318,9 @@ push_reload (rtx in, rtx out, rtx *inloc, rtx *outloc,
n_reloads++;
#ifdef SECONDARY_MEMORY_NEEDED
if (out != 0 && (REG_P (out) || GET_CODE (out) == SUBREG)
if (out != 0
&& (REG_P (out)
|| (GET_CODE (out) == SUBREG && REG_P (SUBREG_REG (out))))
&& reg_or_subregno (out) < FIRST_PSEUDO_REGISTER
&& SECONDARY_MEMORY_NEEDED (class,
REGNO_REG_CLASS (reg_or_subregno (out)),