This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Re: PATCH: small -freorder-block defect
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: Re: PATCH: small -freorder-block defect
- From: Jason Eckhardt <jle at cygnus dot com>
- Date: Tue, 14 Mar 2000 17:24:31 -0800 (PST)
- cc: Franz dot Sirl-kernel at lauterbach dot com, gcc-patches at gcc dot gnu dot org
On Tue, 14 Mar 2000, Richard Henderson wrote:
> On Tue, Mar 14, 2000 at 04:57:42PM -0800, Jason Eckhardt wrote:
> > - && returnjump_p (x)
> > + && GET_CODE (PATTERN (x)) == RETURN
>
> No, you also see things like
>
> (parallel [(use (reg 26))
> (return)])
>
> How about
>
> returnjump_p (x) && ! condjump_p (x)
>
>
> r~
>
Ok?
* flow.c (verify_flow_info): Check for unconditional return.
Index: flow.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/flow.c,v
retrieving revision 1.234
diff -c -3 -p -r1.234 flow.c
*** flow.c 2000/03/14 22:50:19 1.234
--- flow.c 2000/03/15 01:14:32
*************** verify_flow_info ()
*** 5991,5997 ****
if (GET_RTX_CLASS (GET_CODE (x)) == 'i'
&& GET_CODE (x) == JUMP_INSN
! && returnjump_p (x)
&& ! (NEXT_INSN (x) && GET_CODE (NEXT_INSN (x)) == BARRIER))
fatal_insn ("Return not followed by barrier", x);
--- 5991,5997 ----
if (GET_RTX_CLASS (GET_CODE (x)) == 'i'
&& GET_CODE (x) == JUMP_INSN
! && returnjump_p (x) && ! condjump_p (x)
&& ! (NEXT_INSN (x) && GET_CODE (NEXT_INSN (x)) == BARRIER))
fatal_insn ("Return not followed by barrier", x);