diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2007-06-03 21:10:44 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2007-06-03 19:10:44 +0000 |
commit | 66f97d31f233e10870728947731db603b5dc0c9c (patch) | |
tree | 00a98b1b54819809ffb6999717d9263ac5558fe2 /gcc/basic-block.h | |
parent | b6a9c30c80a0713b0b27f434dfe34b0552fc7384 (diff) | |
download | gcc-66f97d31f233e10870728947731db603b5dc0c9c.zip gcc-66f97d31f233e10870728947731db603b5dc0c9c.tar.gz gcc-66f97d31f233e10870728947731db603b5dc0c9c.tar.bz2 |
cfgloopmanip.c (remove_path, [...]): Change dom_bbs to vector.
* cfgloopmanip.c (remove_path, loopify, duplicate_loop_to_header_edge):
Change dom_bbs to vector. Add argument to iterate_fix_dominators call.
* loop-unroll.c (unroll_loop_runtime_iterations): Ditto.
* tree-cfg.c (tree_duplicate_sese_region): Change doms to vector.
Add argument to iterate_fix_dominators call.
(remove_edge_and_dominated_blocks): Pass vector to bbs_to_fix_dom.
* gcse.c (hoist_code): Change domby to vector.
* cfghooks.c (make_forwarder_block): Change doms_to_fix to vector.
Add argument to iterate_fix_dominators call.
* loop-doloop.c (doloop_modify): Changed recount_dominator to
recompute_dominator.
* lambda-code.c (perfect_nestify): Ditto.
* cfgloopanal.c: Include graphds.h.
(struct edge, struct vertex, struct graph, dump_graph, new_graph,
add_edge, dfs, for_each_edge, free_graph): Moved to graphds.c.
(mark_irreducible_loops): Use graphds_scc. Remove argument from
add_edge call.
* graphds.c: New file.
* graphds.h: New file.
* dominance.c: Include vecprim.h, pointer-set.h and graphds.h.
(get_dominated_by, get_dominated_by_region): Change return type to
vector.
(verify_dominators): Recompute all dominators and compare the results.
(recount_dominator): Renamed to ...
(recompute_dominator): ... this. Do not check that the block is
dominated by entry.
(iterate_fix_dominators): Reimplemented.
(prune_bbs_to_update_dominators, root_of_dom_tree,
determine_dominators_for_sons): New functions.
* et-forest.c (et_root): New function.
* et-forest.h (et_root): Declare.
* Makefile.in (graphds.o): Add.
(cfgloopanal.o): Add graphds.h dependency.
(dominance.o): Add graphds.h, vecprim.h and pointer-set.h dependency.
* basic-block.h (get_dominated_by, get_dominated_by_region,
iterate_fix_dominators): Declaration changed.
(recount_dominator): Renamed to ...
(recompute_dominator): ... this.
* tree-ssa-threadupdate.c (thread_block): Free dominance info.
(thread_through_all_blocks): Do not free dominance info.
From-SVN: r125297
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index dd3bc1a..8d7dbe3 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -959,15 +959,17 @@ extern void set_immediate_dominator (enum cdi_direction, basic_block, basic_block); extern basic_block get_immediate_dominator (enum cdi_direction, basic_block); extern bool dominated_by_p (enum cdi_direction, basic_block, basic_block); -extern int get_dominated_by (enum cdi_direction, basic_block, basic_block **); -extern unsigned get_dominated_by_region (enum cdi_direction, basic_block *, - unsigned, basic_block *); +extern VEC (basic_block, heap) *get_dominated_by (enum cdi_direction, basic_block); +extern VEC (basic_block, heap) *get_dominated_by_region (enum cdi_direction, + basic_block *, + unsigned); extern void add_to_dominance_info (enum cdi_direction, basic_block); extern void delete_from_dominance_info (enum cdi_direction, basic_block); -basic_block recount_dominator (enum cdi_direction, basic_block); +basic_block recompute_dominator (enum cdi_direction, basic_block); extern void redirect_immediate_dominators (enum cdi_direction, basic_block, basic_block); -extern void iterate_fix_dominators (enum cdi_direction, basic_block *, int); +extern void iterate_fix_dominators (enum cdi_direction, + VEC (basic_block, heap) *, bool); 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); |