diff options
author | Richard Henderson <rth@redhat.com> | 2004-06-28 23:59:35 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-06-28 23:59:35 -0700 |
commit | 1eaba2f2086b04bb92b153214d970146452b2fb4 (patch) | |
tree | 017eaae88bfa95da2ee42be01673c3b4ea54a1c2 /gcc/tree-flow.h | |
parent | afc066ef359fbce1d44025e59c67eeb08aa87a44 (diff) | |
download | gcc-1eaba2f2086b04bb92b153214d970146452b2fb4.zip gcc-1eaba2f2086b04bb92b153214d970146452b2fb4.tar.gz gcc-1eaba2f2086b04bb92b153214d970146452b2fb4.tar.bz2 |
tree-cfg.c (verify_stmt): Add last_in_block parameter.
* tree-cfg.c (verify_stmt): Add last_in_block parameter. Verify
that eh stmts can throw.
(verify_stmts): Update verify_stmt call.
(tree_purge_dead_eh_edges, tree_purge_all_dead_eh_edges): New.
* tree-eh.c (remove_stmt_from_eh_region): New.
(lower_eh_constructs): Fix throw_stmt_table delete routine.
(tree_could_trap_p): Match may_trap_p.
(maybe_clean_eh_stmt): New.
* tree-flow.h: Update decls.
* tree-ssa-ccp.c (pass_ccp): Add TODO_verify_stmts.
(substitute_and_fold): Clean eh edges.
* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Handle
empty basic blocks.
* tree-ssa-dom.c (need_eh_cleanup): New.
(tree_ssa_dominator_optimize): Allocate it. Cleanup eh edges.
(optimize_stmt): Cleanup eh stmts; set need_eh_cleanup.
From-SVN: r83843
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r-- | gcc/tree-flow.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index 0f97a5b..8b6690b 100644 --- a/gcc/tree-flow.h +++ b/gcc/tree-flow.h @@ -497,6 +497,8 @@ extern void compute_dominance_frontiers (bitmap *); extern void verify_stmts (void); extern tree tree_block_label (basic_block bb); extern void extract_true_false_edges_from_block (basic_block, edge *, edge *); +extern bool tree_purge_dead_eh_edges (basic_block); +extern bool tree_purge_all_dead_eh_edges (bitmap); /* In tree-pretty-print.c. */ extern void dump_generic_bb (FILE *, basic_block, int, int); @@ -600,7 +602,10 @@ extern bool tree_could_trap_p (tree); extern bool tree_could_throw_p (tree); extern bool tree_can_throw_internal (tree); extern bool tree_can_throw_external (tree); +extern int lookup_stmt_eh_region (tree); extern void add_stmt_to_eh_region (tree, int); +extern bool remove_stmt_from_eh_region (tree); +extern bool maybe_clean_eh_stmt (tree); /* In tree-ssa-pre.c */ void add_to_value (tree, tree); |