diff options
| author | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-07-13 07:55:25 +0000 |
|---|---|---|
| committer | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-07-13 07:55:25 +0000 |
| commit | 8bd0242383ea824b5fac9f10946fa5f40cbcf9f9 (patch) | |
| tree | 9514fd029d11178f7efaaa68756e9e1cf53245c9 | |
| parent | 825957d0dc14dc7a4d6e6b971b0624e8467167c1 (diff) | |
| download | ppe42-gcc-8bd0242383ea824b5fac9f10946fa5f40cbcf9f9.tar.gz ppe42-gcc-8bd0242383ea824b5fac9f10946fa5f40cbcf9f9.zip | |
* config/sh/sh.c (sh_reorg): Ignore deleted insns whilst walking the
LOG_LINKS chain.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115412 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/sh/sh.c | 11 |
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9e907dd3647..dd490fa8a05 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 7e11e3f199d..97d87416f1c 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -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; } } |

