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.