PATCH: small -freorder-block defect

Jason Eckhardt jle@cygnus.com
Tue Mar 14 16:57:00 GMT 2000


>
>
>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);





More information about the Gcc-patches mailing list