aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-03-20 09:52:02 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-03-20 09:52:02 +0000
commitdac1fbf86ef1fa930f1edda9a19d1fb5242572a0 (patch)
treee89d5a5556905f0b4ea59f1b8aefd4dafbaed5bb /gcc/except.c
parent7ebf9677e58b3f97e71f267e4f27bcaf01458393 (diff)
downloadgcc-dac1fbf86ef1fa930f1edda9a19d1fb5242572a0.zip
gcc-dac1fbf86ef1fa930f1edda9a19d1fb5242572a0.tar.gz
gcc-dac1fbf86ef1fa930f1edda9a19d1fb5242572a0.tar.bz2
tree-pass.h (pass_rtl_eh): Remove.
2012-03-20 Richard Guenther <rguenther@suse.de> * tree-pass.h (pass_rtl_eh): Remove. * except.c (gate_handle_eh): Likewise. (rest_of_handle_eh): Likewise. (pass_rtl_eh): Likewise. (finish_eh_generation): Export. * except.h (finish_eh_generation): Declare. * passes.c (init_optimization_passes): Remove pass_rtl_eh. * cfgexpand.c (gimple_expand_cfg): Call finish_eh_generation after expanding stack alignment. Instead of compacting blocks call cleanup_cfg. From-SVN: r185564
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c39
1 files changed, 2 insertions, 37 deletions
diff --git a/gcc/except.c b/gcc/except.c
index 8cf47bc..eb27648 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -81,7 +81,7 @@ along with GCC; see the file COPYING3. If not see
gimple to eh_region mapping that had been recorded in the
THROW_STMT_TABLE.
- During pass_rtl_eh (except.c), we generate the real landing pads
+ Then, via finish_eh_generation, we generate the real landing pads
to which the runtime will actually transfer control. These new
landing pads perform whatever bookkeeping is needed by the target
backend in order to resume execution within the current function.
@@ -1406,7 +1406,7 @@ sjlj_build_landing_pads (void)
/* After initial rtl generation, call back to finish generating
exception support code. */
-static void
+void
finish_eh_generation (void)
{
basic_block bb;
@@ -1453,41 +1453,6 @@ finish_eh_generation (void)
}
}
}
-
-static bool
-gate_handle_eh (void)
-{
- /* Nothing to do if no regions created. */
- return cfun->eh->region_tree != NULL;
-}
-
-/* Complete generation of exception handling code. */
-static unsigned int
-rest_of_handle_eh (void)
-{
- finish_eh_generation ();
- cleanup_cfg (CLEANUP_NO_INSN_DEL);
- return 0;
-}
-
-struct rtl_opt_pass pass_rtl_eh =
-{
- {
- RTL_PASS,
- "rtl_eh", /* name */
- gate_handle_eh, /* gate */
- rest_of_handle_eh, /* execute */
- NULL, /* sub */
- NULL, /* next */
- 0, /* static_pass_number */
- TV_JUMP, /* tv_id */
- 0, /* properties_required */
- 0, /* properties_provided */
- 0, /* properties_destroyed */
- 0, /* todo_flags_start */
- 0 /* todo_flags_finish */
- }
-};
/* This section handles removing dead code for flow. */