On 05/12/14 10:37, Richard Sandiford wrote:
The rtl.def SCRATCH entry predates the repository (1991) and I couldn't
see anything in the initial versions of reload.c or reload1.c that set
the code to a REG. local-alloc.c had:
if (qty_scratch_rtx[q])
{
if (GET_CODE (qty_scratch_rtx[q]) == REG)
abort ();
PUT_CODE (qty_scratch_rtx[q], REG);
REGNO (qty_scratch_rtx[q]) = qty_phys_reg[q];
but that was removed by:
Wed Oct 22 00:34:12 1997 Jeffrey A Law (l...@cygnus.com)
* local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
are shared.
(Disappointed that you don't remember what you did in 97. :-))
:-) '97 to '99 were, umm, busy.
I couldn't see anything in global.c that would set the code to a REG.
No current calls to PUT_CODE would do that either.
REG became bigger than SCRATCH with:
Thu Jun 25 15:08:16 1998 Mark Mitchell <m...@markmitchell.com>
* invoke.texi (-fstrict-aliasing): Document.
* rtl.texi (MEM_ALIAS_SET): Document.
OK. Concerns addressed. Go ahead with the change.
Thanks for the detective work! :-)
jeff