diff options
author | Jan Hubicka <jh@suse.cz> | 2009-04-25 20:27:19 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2009-04-25 18:27:19 +0000 |
commit | a3710436b62ad4c025de1b3b5a97e6d3eb820edf (patch) | |
tree | f9735ec8c3866c20255be203e45595367cbbe8e4 /gcc/except.h | |
parent | 3764d512d514c5011bf6473075444d49de284e05 (diff) | |
download | gcc-a3710436b62ad4c025de1b3b5a97e6d3eb820edf.tar.gz |
tree.c (list_equal_p): New function.
* tree.c (list_equal_p): New function.
* tree.h (list_equal_p): Declare.
* coretypes.h (edge_def, edge, const_edge, basic_block_def
basic_block_def, basic_block, const_basic_block): New.
* tree-eh.c (make_eh_edge): EH edges are not abnormal.
(redirect_eh_edge): New function.
(make_eh_edge_update_phi): EH edges are not abnormal.
* except.c: Include tree-flow.h.
(list_match): New function.
(eh_region_replaceable_by_p): New function.
(replace_region): New function.
(hash_type_list): New function.
(hash_eh_region): New function.
(eh_regions_equal_p): New function.
(merge_peers): New function.
(remove_unreachable_regions): Verify EH tree when checking;
merge peers.
(copy_eh_region_1): New function.
(copy_eh_region): New function.
(push_reachable_handler): New function.
(build_post_landing_pads, dw2_build_landing_pads): Be ready for
regions without label but with live RESX.
* except.h (redirect_eh_edge_to_label): New.
* tree-flow.h (redirect_eh_edge): New.
* coretypes.h (edge_def, edge, const_edge, basic_block_def
basic_block_def, basic_block, const_basic_block): Remove.
* Makefile.in (except.o): Add dependency on tree-flow.h
* tree-cfg.c (gimple_redirect_edge_and_branch): Handle EH edges.
* basic-block.h (edge, const_edge, basic_block, const_basic_block):
Remove.
From-SVN: r146776
Diffstat (limited to 'gcc/except.h')
-rw-r--r-- | gcc/except.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/except.h b/gcc/except.h index 14a263a5e88..50d6b314efd 100644 --- a/gcc/except.h +++ b/gcc/except.h @@ -278,4 +278,5 @@ extern void set_eh_throw_stmt_table (struct function *, struct htab *); extern void remove_unreachable_regions (sbitmap, sbitmap); extern VEC(int,heap) * label_to_region_map (void); extern int num_eh_regions (void); +extern struct eh_region *redirect_eh_edge_to_label (struct edge_def *, tree, bool, bool, int); extern int get_next_region_sharing_label (int); |