aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgrtl.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2009-04-08 17:13:01 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2009-04-08 15:13:01 +0000
commit6d07ad98760362cd9615c673cf8302908ce60980 (patch)
treedde23269eb49d700833365c7340d997fe20ae49d /gcc/cfgrtl.c
parent7ddf71e3171fb2d809e7baf6a94c9243b8d9fcac (diff)
downloadgcc-6d07ad98760362cd9615c673cf8302908ce60980.zip
gcc-6d07ad98760362cd9615c673cf8302908ce60980.tar.gz
gcc-6d07ad98760362cd9615c673cf8302908ce60980.tar.bz2
tree-eh.c (cleanup_eh): When not optimizing, do not try EH merging.
* tree-eh.c (cleanup_eh): When not optimizing, do not try EH merging. * function.h (rtl_eh): Remove exception_handler_label_map. * except.c (ehl_hash, ehl_eq, add_ehl_entry, remove_exception_handler_label, for_each_eh_label_1): Remove. (rtl_remove_unreachable_regions): Remove. (convert_from_eh_region_ranges): Do not remove unreachable regions. (find_exception_handler_labels): Don't build the hashtable. (maybe_remove_eh_handler): Remove. (for_each_eh_label): Rewrite to walk the tree. (rest_of_handle_eh): Do not cleanup cfg prior EH construction. * except.h (maybe_remove_eh_handler): Remove. * passes.c (init_optimization_passes): Schedule second EH cleanup before out-of-ssa. * cfgrtl.c (rtl_delete_block, rtl_merge_blocks, cfg_layout_merge_blocks): Do not call maybe_remove_eh_handler. From-SVN: r145747
Diffstat (limited to 'gcc/cfgrtl.c')
-rw-r--r--gcc/cfgrtl.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index a7dc507..95d28ac 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -379,8 +379,6 @@ rtl_delete_block (basic_block b)
label for an exception handler which can't be reached. We need
to remove the label from the exception_handler_label list. */
insn = BB_HEAD (b);
- if (LABEL_P (insn))
- maybe_remove_eh_handler (insn);
end = get_last_bb_insn (b);
@@ -572,10 +570,6 @@ rtl_merge_blocks (basic_block a, basic_block b)
/* If there was a CODE_LABEL beginning B, delete it. */
if (LABEL_P (b_head))
{
- /* This might have been an EH label that no longer has incoming
- EH edges. Update data structures to match. */
- maybe_remove_eh_handler (b_head);
-
/* Detect basic blocks with nothing but a label. This can happen
in particular at the end of a function. */
if (b_head == b_end)
@@ -2598,10 +2592,6 @@ cfg_layout_merge_blocks (basic_block a, basic_block b)
/* If there was a CODE_LABEL beginning B, delete it. */
if (LABEL_P (BB_HEAD (b)))
{
- /* This might have been an EH label that no longer has incoming
- EH edges. Update data structures to match. */
- maybe_remove_eh_handler (BB_HEAD (b));
-
delete_insn (BB_HEAD (b));
}