From: Adam Nemet Date: Mon, 8 Jun 2009 18:49:17 +0000 (+0000) Subject: jump.c (returnjump_p): Handle delayed branches. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=72e4821846ba8167ec54d24db555d24118e10191;p=gcc.git jump.c (returnjump_p): Handle delayed branches. * jump.c (returnjump_p): Handle delayed branches. Add missing function comment. From-SVN: r148289 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f6bf148c76e..594c0a6e84f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-06-08 Adam Nemet + + * jump.c (returnjump_p): Handle delayed branches. Add missing + function comment. + 2009-06-08 Jan Hubicka PR middle-end/40102 diff --git a/gcc/jump.c b/gcc/jump.c index c3af16a06a7..350de16f07c 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -886,11 +886,18 @@ returnjump_p_1 (rtx *loc, void *data ATTRIBUTE_UNUSED) } } +/* Return TRUE if INSN is a return jump. */ + 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); }