Commit 79876307 by Richard Henderson Committed by Richard Henderson

re PR middle-end/41360 (Revision 151696 breaks gcc.c-torture/compile/builtin_unreachable-1.c)

        PR middle-end/41360
        * cfgbuild.c (find_bb_boundaries): Re-instate 2009-09-02 barrier fix.

From-SVN: r151759
parent 20faffe7
2009-09-16 Richard Henderson <rth@redhat.com>
PR middle-end/41360
* cfgbuild.c (find_bb_boundaries): Re-instate 2009-09-02 barrier fix.
2009-09-16 Jakub Jelinek <jakub@redhat.com>
* integrate.c (set_block_abstract_flags): Call
......
......@@ -477,9 +477,17 @@ find_bb_boundaries (basic_block bb)
if (code == CODE_LABEL && LABEL_ALT_ENTRY_P (insn))
make_edge (ENTRY_BLOCK_PTR, bb, 0);
}
if (control_flow_insn_p (insn))
else if (code == BARRIER)
{
/* __builtin_unreachable () may cause a barrier to be emitted in
the middle of a BB. We need to split it in the same manner as
if the barrier were preceded by a control_flow_insn_p insn. */
if (!flow_transfer_insn)
flow_transfer_insn = prev_nonnote_insn_bb (insn);
}
else if (control_flow_insn_p (insn))
flow_transfer_insn = insn;
if (insn == end)
break;
insn = NEXT_INSN (insn);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment