aboutsummaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-07-29 11:44:09 +0000
committerJakub Jelinek <jakub@redhat.com>2009-07-29 11:44:09 +0000
commitaa267a453af67fed68cdcbc1a893ea1ddd071657 (patch)
tree682c32a53b5a0711af8d6c763162d9d8957d098b /gcc/jump.c
parente66916ac4702dd1e1c6a24475cdfc3470532ee02 (diff)
svn merge -r150069:150068 svn+ssh://gcc.gnu.org/svn/gcc/trunk
svn merge -r150015:150014 svn+ssh://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_4-branch svn merge -r149860:149859 svn+ssh://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_4-branch svn merge -r149391:149390 svn+ssh://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_4-branch svn merge -r149235:149234 svn+ssh://gcc.gnu.org/svn/gcc/trunk svn merge -r149158:149157 svn+ssh://gcc.gnu.org/svn/gcc/trunk svn merge -r149150:149149 svn+ssh://gcc.gnu.org/svn/gcc/trunk git-svn-id: https://gcc.gnu.org/svn/gcc/branches/redhat/fc11-4_4-branch@150208 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 5800242d4b2..b38a2dd92f9 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -891,8 +891,13 @@ returnjump_p_1 (rtx *loc, void *data ATTRIBUTE_UNUSED)
int
returnjump_p (rtx insn)
{
+ /* Handle delayed branches. */
+ if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == SEQUENCE)
+ insn = XVECEXP (PATTERN (insn), 0, 0);
+
if (!JUMP_P (insn))
return 0;
+
return for_each_rtx (&PATTERN (insn), returnjump_p_1, NULL);
}