------- Comment #2 from kkojima at gcc dot gnu dot org 2008-02-14 11:09 ------- Sure. I'll add the following comment for that.
@@ -1105,9 +1105,14 @@ update_equiv_regs (void) if (! INSN_P (insn)) continue; - /* Don't substitute into a non-local goto, this confuses CFG. */ + /* Don't substitute into a non-local goto, this confuses CFG. + Since bb-reorder uses indirect jumps for crossing branches + when the architecture doesn't have unconditional branches + that can span all of memory, don't touch a jump associated + with a REG_CROSSING_JUMP note. */ if (JUMP_P (insn) - && find_reg_note (insn, REG_NON_LOCAL_GOTO, NULL_RTX)) + && (find_reg_note (insn, REG_NON_LOCAL_GOTO, NULL_RTX) + || find_reg_note (insn, REG_CROSSING_JUMP, NULL_RTX))) continue; for (link = REG_NOTES (insn); link; link = XEXP (link, 1)) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35190