Delete REG_RETVAL and REG_LIBCALL notes after completeing reload

From-SVN: r24310
This commit is contained in:
Nick Clifton 1998-12-14 14:13:26 +00:00 committed by Nick Clifton
parent 8c2dfb32b7
commit 80599fd90c
3 changed files with 20 additions and 2 deletions

View File

@ -1,3 +1,11 @@
Mon Dec 14 14:09:34 1998 Nick Clifton <nickc@cygnus.com>
* reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
after completeing reload.
* rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
deleted after reload.
Mon Dec 14 01:39:28 1998 Jeffrey A Law (law@cygnus.com)
* rtl.h (multiple_sets): Fix prototype.

View File

@ -1118,7 +1118,9 @@ reload (first, global, dumpfile)
/* Make a pass over all the insns and delete all USEs which we inserted
only to tag a REG_EQUAL note on them. Remove all REG_DEAD and REG_UNUSED
notes. Delete all CLOBBER insns and simplify (subreg (reg)) operands. */
notes. Delete all CLOBBER insns and simplify (subreg (reg)) operands.
Also remove all REG_RETVAL and REG_LIBCALL notes since they are no longer
useful or accurate. */
for (insn = first; insn; insn = NEXT_INSN (insn))
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
@ -1139,7 +1141,9 @@ reload (first, global, dumpfile)
while (*pnote != 0)
{
if (REG_NOTE_KIND (*pnote) == REG_DEAD
|| REG_NOTE_KIND (*pnote) == REG_UNUSED)
|| REG_NOTE_KIND (*pnote) == REG_UNUSED
|| REG_NOTE_KIND (*pnote) == REG_RETVAL
|| REG_NOTE_KIND (*pnote) == REG_LIBCALL)
*pnote = XEXP (*pnote, 1);
else
pnote = &XEXP (*pnote, 1);

View File

@ -2664,11 +2664,17 @@ delete such sequences whose results are dead.
A @code{REG_EQUAL} note will also usually be attached to this insn to
provide the expression being computed by the sequence.
These notes will be deleted after reload, since they are no longer
accurate or useful.
@findex REG_LIBCALL
@item REG_LIBCALL
This is the inverse of @code{REG_RETVAL}: it is placed on the first
insn of a multi-insn sequence, and it points to the last one.
These notes are deleted after reload, since they are no longer useful or
accurate.
@findex REG_CC_SETTER
@findex REG_CC_USER
@item REG_CC_SETTER