reload1.c (spill_hard_reg): Check mode of register when spilling from scratch_list.

Wed Jun 17 15:20:00 PDT 1998  Catherine Moore  <clm@cygnus.com>
         * reload1.c (spill_hard_reg):  Check mode of register when
         spilling from scratch_list.

From-SVN: r20542
This commit is contained in:
Catherine Moore 1998-06-17 15:46:25 +00:00 committed by Catherine Moore
parent d7e7852964
commit 4fdf79cb67
2 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
Wed Jun 17 15:20:00 PDT 1998 Catherine Moore <clm@cygnus.com>
* reload1.c (spill_hard_reg): Check mode of register when
spilling from scratch_list.
Wed Jun 17 16:25:38 EDT 1998 Andrew MacLeod (amacleod@cygnus.com)
* except.c (add_new_handler): fix bug in finding last region handler.

View File

@ -3717,7 +3717,11 @@ spill_hard_reg (regno, global, dumpfile, cant_eliminate)
}
for (i = 0; i < scratch_list_length; i++)
{
if (scratch_list[i] && REGNO (scratch_list[i]) == regno)
if (scratch_list[i]
&& regno >= REGNO (scratch_list[i])
&& regno < REGNO (scratch_list[i])
+ HARD_REGNO_NREGS (REGNO (scratch_list[i]),
GET_MODE (scratch_list[i])))
{
if (! cant_eliminate && basic_block_needs[0]
&& ! basic_block_needs[(int) class][scratch_block[i]])