re PR middle-end/20491 (internal compiler error: in subreg_regno_offset, at rtlanal.c:3042)

PR middle-end/20491
* final.c (alter_subreg): Don't call subreg_regno for a non-REG.

From-SVN: r97444
This commit is contained in:
Alexandre Oliva 2005-04-02 16:56:27 +00:00 committed by Alexandre Oliva
parent 9f05ff0a19
commit bbe3791247
2 changed files with 6 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2005-04-02 Alexandre Oliva <aoliva@redhat.com>
PR middle-end/20491
* final.c (alter_subreg): Don't call subreg_regno for a non-REG.
2005-04-02 Alexandre Oliva <aoliva@redhat.com>
PR rtl-optimization/20290

View File

@ -2547,11 +2547,10 @@ alter_subreg (rtx *xp)
if (new != 0)
*xp = new;
else
else if (REG_P (y))
{
/* Simplify_subreg can't handle some REG cases, but we have to. */
unsigned int regno = subreg_regno (x);
gcc_assert (REG_P (y));
*xp = gen_rtx_REG_offset (y, GET_MODE (x), regno, SUBREG_BYTE (x));
}
}