diff options
author | Catherine Moore <clm@cygnus.com> | 1998-06-17 15:46:25 +0000 |
---|---|---|
committer | Catherine Moore <clm@gcc.gnu.org> | 1998-06-17 11:46:25 -0400 |
commit | 4fdf79cb6764f8c57b4c4deaabd6131850535263 (patch) | |
tree | 1aab30d21baeadb41dabcd8ce4b078343d10e9c6 /gcc | |
parent | d7e7852964c2fd25f97b232fbe825bc879473f01 (diff) | |
download | gcc-4fdf79cb6764f8c57b4c4deaabd6131850535263.zip gcc-4fdf79cb6764f8c57b4c4deaabd6131850535263.tar.gz gcc-4fdf79cb6764f8c57b4c4deaabd6131850535263.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reload1.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6f2d3d..7bd2135 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/reload1.c b/gcc/reload1.c index b69ee76..0e22651 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -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]]) |