Commit 80599fd9 by Nick Clifton Committed by Nick Clifton

Delete REG_RETVAL and REG_LIBCALL notes after completeing reload

From-SVN: r24310
parent 8c2dfb32
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) Mon Dec 14 01:39:28 1998 Jeffrey A Law (law@cygnus.com)
* rtl.h (multiple_sets): Fix prototype. * rtl.h (multiple_sets): Fix prototype.
......
...@@ -1118,7 +1118,9 @@ reload (first, global, dumpfile) ...@@ -1118,7 +1118,9 @@ reload (first, global, dumpfile)
/* Make a pass over all the insns and delete all USEs which we inserted /* 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 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)) for (insn = first; insn; insn = NEXT_INSN (insn))
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i') if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
...@@ -1139,7 +1141,9 @@ reload (first, global, dumpfile) ...@@ -1139,7 +1141,9 @@ reload (first, global, dumpfile)
while (*pnote != 0) while (*pnote != 0)
{ {
if (REG_NOTE_KIND (*pnote) == REG_DEAD 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); *pnote = XEXP (*pnote, 1);
else else
pnote = &XEXP (*pnote, 1); pnote = &XEXP (*pnote, 1);
......
...@@ -2664,11 +2664,17 @@ delete such sequences whose results are dead. ...@@ -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 A @code{REG_EQUAL} note will also usually be attached to this insn to
provide the expression being computed by the sequence. 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 @findex REG_LIBCALL
@item REG_LIBCALL @item REG_LIBCALL
This is the inverse of @code{REG_RETVAL}: it is placed on the first 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. 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_SETTER
@findex REG_CC_USER @findex REG_CC_USER
@item REG_CC_SETTER @item REG_CC_SETTER
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment