http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59189
--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> --- Hm, I found this one: http://gcc.gnu.org/ml/gcc/2008-12/msg00368.html "The CFG is not valid at the point of the machine reorg pass, mainly for historical reasons. You can see all the insns reliably by doing for (insn = get_insns (); insn != NULL_RTX; insn = NEXT_INSN (insn))" In sh.md (currently line ~1255) there's a comment: ;; If we applied this split when not optimizing, it would only be ;; applied during the machine-dependent reorg, when no new basic blocks ;; may be created. But that's all. The branch splitting happens in sh.c (split_branches), and I could find any hints there either ...