http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56077
--- Comment #16 from Andrey Belevantsev <abel at gcc dot gnu.org> 2013-04-11 06:17:41 UTC --- The patch adds more pending list flushes and thus more dependencies. So by itself it is conservative and should not result in correctness issues that arise when the scheduler gets more freedom. However, the accidental change that the patch reverted was made back in 2008. Since then, obviously many changes were made to the scheduler, and some of those could assume that pending lists are flushed on jumps only. One such iasue has surfaced immediately on 4.6/4.7, where the patch was reverted, but on 4.8 and trunk that was fixed by Maxim's patch. PR 56912 is another issue judging from the backtrace. I will take a look there as soon as the testcase shows up. Overall, I agree with Jakub -- the patch fixes wrong code (though not very important one as the bug was reported in 4.5 years after the change was made), it is conservative, but has some fallout, so for 4.6/4.7 let's wait more until all issues come up, and for 4.8 let's just fix the issues.