Commit 56b97603 by Eric Botcazou Committed by Eric Botcazou

except.c (finish_eh_generation): Commit edge insertions only after the EH edges…

except.c (finish_eh_generation): Commit edge insertions only after the EH edges have been redirected from...

	* except.c (finish_eh_generation): Commit edge insertions only after
	the EH edges have been redirected from post-landing to landing pads.

From-SVN: r261855
parent 575b1925
2018-06-21 Eric Botcazou <ebotcazou@adacore.com> 2018-06-21 Eric Botcazou <ebotcazou@adacore.com>
* except.c (finish_eh_generation): Commit edge insertions only after
the EH edges have been redirected from post-landing to landing pads.
2018-06-21 Eric Botcazou <ebotcazou@adacore.com>
* tree-nested.c (get_frame_type): Use create_tmp_var_raw instead of * tree-nested.c (get_frame_type): Use create_tmp_var_raw instead of
create_tmp_var_for to create the FRAME decl. create_tmp_var_for to create the FRAME decl.
(finalize_nesting_tree_1): Do not unchain the FRAME decl. (finalize_nesting_tree_1): Do not unchain the FRAME decl.
......
...@@ -1510,12 +1510,8 @@ finish_eh_generation (void) ...@@ -1510,12 +1510,8 @@ finish_eh_generation (void)
sjlj_build_landing_pads (); sjlj_build_landing_pads ();
else else
dw2_build_landing_pads (); dw2_build_landing_pads ();
break_superblocks ();
if (targetm_common.except_unwind_info (&global_options) == UI_SJLJ break_superblocks ();
/* Kludge for Alpha (see alpha_gp_save_rtx). */
|| single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun))->insns.r)
commit_edge_insertions ();
/* Redirect all EH edges from the post_landing_pad to the landing pad. */ /* Redirect all EH edges from the post_landing_pad to the landing pad. */
FOR_EACH_BB_FN (bb, cfun) FOR_EACH_BB_FN (bb, cfun)
...@@ -1546,6 +1542,11 @@ finish_eh_generation (void) ...@@ -1546,6 +1542,11 @@ finish_eh_generation (void)
: EDGE_ABNORMAL); : EDGE_ABNORMAL);
} }
} }
if (targetm_common.except_unwind_info (&global_options) == UI_SJLJ
/* Kludge for Alpha (see alpha_gp_save_rtx). */
|| single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun))->insns.r)
commit_edge_insertions ();
} }
/* This section handles removing dead code for flow. */ /* This section handles removing dead code for flow. */
......
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