Commit ab6dceab by Andrey Belevantsev Committed by Andrey Belevantsev

re PR rtl-optimization/83962 (ICE: verify_flow_info failed (too many outgoing…

re PR rtl-optimization/83962 (ICE: verify_flow_info failed (too many outgoing branch edges from bb 8))

       PR rtl-optimization/83962

       * sel-sched-ir.c (tidy_control_flow): Correct the order in which we call
       tidy_fallthru_edge and tidy_control_flow.

       * gcc.dg/pr83962.c: New test.

From-SVN: r259229
parent 33bacbcb
2018-04-09 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/83962
* sel-sched-ir.c (tidy_control_flow): Correct the order in which we call
tidy_fallthru_edge and tidy_control_flow.
2018-04-09 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/83530
* sel-sched.c (force_next_insn): New global variable.
......
......@@ -3839,9 +3839,13 @@ tidy_control_flow (basic_block xbb, bool full_tidying)
&& INSN_SCHED_TIMES (BB_END (xbb)) == 0
&& !IN_CURRENT_FENCE_P (BB_END (xbb)))
{
if (sel_remove_insn (BB_END (xbb), false, false))
return true;
/* We used to call sel_remove_insn here that can trigger tidy_control_flow
before we fix up the fallthru edge. Correct that ordering by
explicitly doing the latter before the former. */
clear_expr (INSN_EXPR (BB_END (xbb)));
tidy_fallthru_edge (EDGE_SUCC (xbb, 0));
if (tidy_control_flow (xbb, false))
return true;
}
first = sel_bb_head (xbb);
......
2018-04-09 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/83962
* gcc.dg/pr83962.c: New test.
2018-04-09 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/83530
* gcc.dg/pr83530.c: New test.
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-std=gnu99 -O1 -fselective-scheduling2 -fschedule-insns2 -fcse-follow-jumps -fno-ssa-phiopt -fno-guess-branch-probability" } */
unsigned int ca;
void
v6 (long long unsigned int as, int p9)
{
while (p9 < 1)
as = (as != ca) || (as > 1);
}
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