Hi :

In function fill_simple_delay_slots, there is following codes:
-------------------------------->starts here
          /* If there are slots left to fill and our search was stopped by an
             unconditional branch, try the insn at the branch target.  We can
             redirect the branch if it works.

             Don't do this if the insn at the branch target is a branch.  */
          if (slots_to_fill != slots_filled
              && trial
              && JUMP_P (trial)
              && simplejump_p (trial)
              && (target == 0 || JUMP_LABEL (trial) == target)
              && ...)
--------------------------------<ends here
it comes from codes trying to get insns from beyond the insn needing
the delay slot,
but IMHO the variable "trial" might contain data computed from
previous codes which scan
backwards from the insn to search for a potential delay-slot
candidate, since the if statement
before these codes is taken only if (target==0).

Am right or I've missed anything important?
-- 
Best Regards.

Reply via email to