regrename doesn't take HARD_REGNO_CALL_PART_CLOBBERED into account

Alexandre Oliva aoliva@redhat.com
Sat Feb 9 06:01:00 GMT 2002


On Mar 18, 2001, Alexandre Oliva <aoliva@redhat.com> wrote:

> On Mar 11, 2001, Alexandre Oliva <aoliva@redhat.com> wrote:
>> It is possible that regrename chooses a register that may be partially
>> clobbered in function calls to replace one that is fully saved in the
>> mode(s) in which the register is used.  It shouldn't do it.  This
>> patch fixes it.

> And this patch improves it, by not requiring a non-part-clobbered
> register if the originally chosen register is part-clobbered.  I've
> also caught a few cases in global alloc that didn't take the macro
> into account, which fixed a few additional bugs in that port.  Tested
> on a new port, yet to be contributed.  Ok to install?

> Index: gcc/ChangeLog

> 	* regrename.c (regrename_optimize): Don't use a register that may
> 	be part-clobbered in the used modes.
> 	* global.c (find_reg): Ditto.

Ok, so Herman just managed to get my patch in almost one year later,
with:

2002-01-12  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>

	* global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
	every where we allocate a register.

but we're still missing this other key piece to complete fix the
problem of HARD_REGNO_CALL_PART_CLOBBERED.  Now guess on which port I
ran into the problem?  SH5, of course :-)

Ok to install this time?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: part-clobber.patch
Type: text/x-patch
Size: 1002 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20020209/ee4e15d4/attachment.bin>
-------------- next part --------------

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer


More information about the Gcc-patches mailing list