diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-08 15:13:01 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-08 15:13:01 +0000 |
commit | 48d5ef936a6789741451bd5c111039cba5cb275b (patch) | |
tree | dde23269eb49d700833365c7340d997fe20ae49d /gcc/cfgrtl.c | |
parent | cbb955b0d43c611d8d408f8d1b237385c906648f (diff) | |
download | gcc-48d5ef936a6789741451bd5c111039cba5cb275b.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145747 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgrtl.c')
-rw-r--r-- | gcc/cfgrtl.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index a7dc5076865..95d28ac1cfd 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)); } |