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 16:57:42 -0800 (PST)
- cc: Franz dot Sirl-kernel at lauterbach dot com, gcc-patches at gcc dot gnu dot org
>
>
>On Wed, Mar 15, 2000 at 12:37:09AM +0100, Franz Sirl wrote:
>> This causes a bootstrap fail on powerpc-linux-gnu with newppc-branch (and
>> probably other HAVE_return targets.
>>
>> The appended patch seems to fix it for me. Opinions?
>
>Ah. This means Jason's patch is wrong. A conditional return
>should not be followed by a barrier.
>
>
>r~
>
this instead?
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 00:53:58
*************** 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
! && GET_CODE (PATTERN (x)) == RETURN
&& ! (NEXT_INSN (x) && GET_CODE (NEXT_INSN (x)) == BARRIER))
fatal_insn ("Return not followed by barrier", x);