sh.c (sh_reorg): Ignore deleted insns whilst walking the LOG_LINKS chain.

* config/sh/sh.c (sh_reorg): Ignore deleted insns whilst walking the 
  LOG_LINKS chain.

From-SVN: r115412
This commit is contained in:
Nick Clifton 2006-07-13 07:55:25 +00:00 committed by Nick Clifton
parent 7c0de6a544
commit 6915d7f002
2 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2006-07-13 Nick Clifton <nickc@redhat.com>
* config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
walking the LOG_LINKS chain.
2006-07-12 Geoffrey Keating <geoffk@apple.com>
* doc/invoke.texi (C++ Dialect Options): Explain difference

View File

@ -4466,12 +4466,17 @@ sh_reorg (void)
for (link = LOG_LINKS (insn); link; link = XEXP (link, 1))
{
rtx linked_insn;
if (REG_NOTE_KIND (link) != 0)
continue;
set = single_set (XEXP (link, 0));
if (set && rtx_equal_p (reg, SET_DEST (set)))
linked_insn = XEXP (link, 0);
set = single_set (linked_insn);
if (set
&& rtx_equal_p (reg, SET_DEST (set))
&& ! INSN_DELETED_P (linked_insn))
{
link = XEXP (link, 0);
link = linked_insn;
break;
}
}