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.

Reply via email to