This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: bug fix for reload reg selection
- To: Joern Rennecke <amylaar at cambridge dot redhat dot com>
- Subject: Re: bug fix for reload reg selection
- From: Bernd Schmidt <bernds at redhat dot com>
- Date: Thu, 25 Jan 2001 16:06:34 +0000 (GMT)
- Cc: <gcc-patches at gcc dot gnu dot org>
On Wed, 24 Jan 2001, Joern Rennecke wrote:
> Here is the revised patch:
>
> Wed Jan 24 18:11:10 2001 J"orn Rennecke <amylaar@redhat.com>
>
> * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
> Changed all callers. Take it into account when deciding if a
> previously loaded value matches.
Ok, except for this hunk which isn't covered by the ChangeLog and seems
unrelated:
> *************** allocate_reload_reg (chain, r, last_relo
> *** 5141,5147 ****
> && ! TEST_HARD_REG_BIT (reload_reg_used, regnum)
> && free_for_value_p (regnum, rld[r].mode, rld[r].opnum,
> rld[r].when_needed, rld[r].in,
> ! rld[r].out, r, 1)))
> && TEST_HARD_REG_BIT (reg_class_contents[class], regnum)
> && HARD_REGNO_MODE_OK (regnum, rld[r].mode)
> /* Look first for regs to share, then for unshared. But
> --- 5152,5158 ----
> && ! TEST_HARD_REG_BIT (reload_reg_used, regnum)
> && free_for_value_p (regnum, rld[r].mode, rld[r].opnum,
> rld[r].when_needed, rld[r].in,
> ! rld[r].out, r, 0)))
> && TEST_HARD_REG_BIT (reg_class_contents[class], regnum)
> && HARD_REGNO_MODE_OK (regnum, rld[r].mode)
> /* Look first for regs to share, then for unshared. But
Bernd