diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2006-08-16 23:25:39 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2006-08-16 21:25:39 +0000 |
commit | f074ff6cc07a8b34a63c2c469d38130aceb87408 (patch) | |
tree | 6f3474092c924d2afcf2cb8918768de6c4b76758 /gcc/basic-block.h | |
parent | b43a2366d696649472d8615dec3765fecc54477a (diff) | |
download | gcc-f074ff6cc07a8b34a63c2c469d38130aceb87408.zip gcc-f074ff6cc07a8b34a63c2c469d38130aceb87408.tar.gz gcc-f074ff6cc07a8b34a63c2c469d38130aceb87408.tar.bz2 |
re PR middle-end/28071 (A file that can not be compiled in reasonable time/space)
PR rtl-optimization/28071
* basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare.
* dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions.
* tree-into-ssa.c (struct dom_dfsnum): New.
(cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New
functions.
(insert_phi_nodes_for): Use prune_unused_phi_nodes instead of
compute_global_livein.
(prepare_block_for_update, prepare_use_sites_for): Mark the uses
in phi nodes in the correct blocks.
From-SVN: r116190
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index a252ccc..9be9097 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -988,6 +988,9 @@ extern void iterate_fix_dominators (enum cdi_direction, basic_block *, int); extern void verify_dominators (enum cdi_direction); extern basic_block first_dom_son (enum cdi_direction, basic_block); extern basic_block next_dom_son (enum cdi_direction, basic_block); +unsigned bb_dom_dfs_in (enum cdi_direction, basic_block); +unsigned bb_dom_dfs_out (enum cdi_direction, basic_block); + extern edge try_redirect_by_replacing_jump (edge, basic_block, bool); extern void break_superblocks (void); extern void check_bb_profile (basic_block, FILE *); |