https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61923
--- Comment #5 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- The difference after scheduling a block is in DFA state because of additional advance_one_cycle call when debug_insns are present. The situation looks like -g last bb insn last real bb insn -> advance_one_cycle ->advance_one_cycle debug_insn ->advance_one_cycle Last advance cycle is done at the end of processing all bb insns. I'll try to produce a patch tomorrow to fix it which is not easy as schedule_block is now very complicated function working in many modes and containing a lot of gotos.