summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-03-20 09:52:02 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-03-20 09:52:02 +0000
commit1dd4980f3cfb2a67c1ba3aee054b44b364d28af7 (patch)
treee89d5a5556905f0b4ea59f1b8aefd4dafbaed5bb /gcc/except.c
parentfa42e1a454c4d18a219486c7e0878ce51265456a (diff)
downloadgcc-1dd4980f3cfb2a67c1ba3aee054b44b364d28af7.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185564 138bc75d-0d04-0410-961f-82ee72b054a4
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 8cf47bcc236..eb27648786c 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. */