http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54455
--- Comment #3 from Steven Bosscher <steven at gcc dot gnu.org> 2012-09-02 11:47:18 UTC --- The patch is incorrect. There can't be a BARRIER in the middle of a basic block. This problem typically indicates that either a BARRIER was emitted in the wrong place, or BB_END wasn't updated properly after a BARRIER was inserted somewhere. BARRIERs never appear inside a basic block. What does the insns list look like around the BARRIER? (From GDB do: "p debug_rtx_list(barrier_insn, -7)" and show the result here.)