sh barrier_align vs. fill_eager_delay_slots

Joern Rennecke amylaar@cygnus.co.uk
Mon Mar 6 13:05:00 GMT 2000


: --- 2770,2787 ----
:   	   prev = prev_real_insn (prev))
:   	{
: + 	  jump_to_next = 0;
:   	  if (GET_CODE (PATTERN (prev)) == USE
:   	      || GET_CODE (PATTERN (prev)) == CLOBBER)
:   	    continue;
:   	  if (GET_CODE (PATTERN (prev)) == SEQUENCE)
: ! 	    {
: ! 	      prev = XVECEXP (PATTERN (prev), 0, 1);
: ! 	      if (INSN_UID (prev) == INSN_UID (next)) 
: ! 		{
: ! 	  	  /* Delay slot was filled with insn at jump target.  */
: ! 		  jump_to_next = 1;

There should be a 'continue;' here to avoid a mismatch in the credit tally
before and after reorg.  Otherwise it looks OK.

: !   		}
: ! 	    }
: ! 
:   	  if (slot &&
:   	      get_attr_in_delay_slot (prev) == IN_DELAY_SLOT_YES)


More information about the Gcc-patches mailing list