dce.c (delete_unmarked_insns): Just delete the RETVAL and LIBCALL notes if...
2007-10-28 Andreas Krebbel <krebbel1@de.ibm.com> * dce.c (delete_unmarked_insns): Just delete the RETVAL and LIBCALL notes if they are about to be moved to the same insn. From-SVN: r129693
This commit is contained in:
parent
c7a7567d52
commit
137e9a70b7
2 changed files with 16 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
2007-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* dce.c (delete_unmarked_insns): Just delete the RETVAL and
|
||||
LIBCALL notes if they are about to be moved to the same insn.
|
||||
|
||||
2007-10-27 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/33870
|
||||
|
|
15
gcc/dce.c
15
gcc/dce.c
|
@ -346,10 +346,17 @@ delete_unmarked_insns (void)
|
|||
rtx new_libcall_insn = next_real_insn (insn);
|
||||
rtx retval_note = find_reg_note (XEXP (note, 0),
|
||||
REG_RETVAL, NULL_RTX);
|
||||
REG_NOTES (new_libcall_insn)
|
||||
= gen_rtx_INSN_LIST (REG_LIBCALL, XEXP (note, 0),
|
||||
REG_NOTES (new_libcall_insn));
|
||||
XEXP (retval_note, 0) = new_libcall_insn;
|
||||
/* If the RETVAL and LIBCALL notes would land on the same
|
||||
insn just remove them. */
|
||||
if (XEXP (note, 0) == new_libcall_insn)
|
||||
remove_note (new_libcall_insn, retval_note);
|
||||
else
|
||||
{
|
||||
REG_NOTES (new_libcall_insn)
|
||||
= gen_rtx_INSN_LIST (REG_LIBCALL, XEXP (note, 0),
|
||||
REG_NOTES (new_libcall_insn));
|
||||
XEXP (retval_note, 0) = new_libcall_insn;
|
||||
}
|
||||
}
|
||||
|
||||
/* If the insn contains a REG_RETVAL note and is dead, but the
|
||||
|
|
Loading…
Add table
Reference in a new issue