diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2018-06-21 17:02:13 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2018-06-21 17:02:13 +0000 |
commit | 56b97603ec286907d09f0c38322931c04f4b78e5 (patch) | |
tree | e00a513589e7faabb86c571c71a736bfc745cd48 /gcc | |
parent | 575b192558435f0128e6f71afb95d002cdef835e (diff) | |
download | gcc-56b97603ec286907d09f0c38322931c04f4b78e5.zip gcc-56b97603ec286907d09f0c38322931c04f4b78e5.tar.gz gcc-56b97603ec286907d09f0c38322931c04f4b78e5.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/except.c | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0550afb..d8e1361 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 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 create_tmp_var_for to create the FRAME decl. (finalize_nesting_tree_1): Do not unchain the FRAME decl. diff --git a/gcc/except.c b/gcc/except.c index ba42bf6..84666d9 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -1510,12 +1510,8 @@ finish_eh_generation (void) sjlj_build_landing_pads (); else dw2_build_landing_pads (); - break_superblocks (); - 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 (); + break_superblocks (); /* Redirect all EH edges from the post_landing_pad to the landing pad. */ FOR_EACH_BB_FN (bb, cfun) @@ -1546,6 +1542,11 @@ finish_eh_generation (void) : 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. */ |