haifa-sched.c (init_before_recovery): Do not set EDGE_CAN_FALLTHRU.

* haifa-sched.c (init_before_recovery): Do not set EDGE_CAN_FALLTHRU.
	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.

From-SVN: r189523
This commit is contained in:
Steven Bosscher 2012-07-16 11:50:29 +00:00
parent b3c144a3a7
commit ee44c28d39
3 changed files with 14 additions and 4 deletions

View File

@ -1,5 +1,16 @@
2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
* haifa-sched.c (init_before_recovery): Do not set EDGE_CAN_FALLTHRU.
* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
* function.c (stack_protect_epilogue): Use expand_call to expand
targetm.stack_protect_fail.
* stmt.c (expand_expr_stmt): Remove now-unused function.
* tree.h (expand_expr_stmt): Remove prototype.
* doc/tm.texi.in (TARGET_STACK_PROTECT_FAIL): Document that this
hook must return a CALL_EXPR.
* doc/tm.texi: Regenerate.
* emit-rtl.c (emit_label_before): Do not allow the same label
to be emitted twice.
(emit_label_after): Likewise.

View File

@ -1365,8 +1365,8 @@ force_nonfallthru_and_redirect (edge e, basic_block target, rtx jump_label)
one and create separate abnormal edge to original destination.
This allows bb-reorder to make such edge non-fallthru. */
gcc_assert (e->dest == target);
abnormal_edge_flags = e->flags & ~(EDGE_FALLTHRU | EDGE_CAN_FALLTHRU);
e->flags &= EDGE_FALLTHRU | EDGE_CAN_FALLTHRU;
abnormal_edge_flags = e->flags & ~EDGE_FALLTHRU;
e->flags &= EDGE_FALLTHRU;
}
else
{

View File

@ -7194,8 +7194,7 @@ init_before_recovery (basic_block *before_recovery_ptr)
redirect_edge_succ (e, single);
make_single_succ_edge (single, empty, 0);
make_single_succ_edge (empty, EXIT_BLOCK_PTR,
EDGE_FALLTHRU | EDGE_CAN_FALLTHRU);
make_single_succ_edge (empty, EXIT_BLOCK_PTR, EDGE_FALLTHRU);
label = block_label (empty);
x = emit_jump_insn_after (gen_jump (label), BB_END (single));