http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45354
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[4.6 regression] ICE: |[4.6 regression] ICE with |fallthru edge crosses |-fselective-scheduling and |section boundary (bb 6) |-freorder-blocks-and-partit |with |ion |g++.dg/bprob/g++-bprob-1.C | --- Comment #7 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2010-11-29 08:24:57 UTC --- Reduced testcase to be attached. This is selective scheduling removing a BARRIER and a JUMP: (note 40 41 4 6 [bb 6] NOTE_INSN_BASIC_BLOCK) (insn 4 40 54 6 (set (reg/v:SI 65 [ result ]) (const_int 1024 [0x400])) t.c:12 64 {*movsi_internal} (nil)) (jump_insn 54 4 55 6 (set (pc) (label_ref 21)) t.c:12 -1 (expr_list:REG_CROSSING_JUMP (nil) (nil)) -> 21) (barrier 55 54 21) (code_label 21 55 22 7 2 "" [2 uses]) (note 22 21 52 7 [bb 7] NOTE_INSN_BASIC_BLOCK) They cannot be removed since the edge is EDGE_CROSSING.