diff options
author | Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | 2004-09-16 23:29:43 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2004-09-16 21:29:43 +0000 |
commit | 42759f1ea05f7893f3bee4adbab74becf1a9f764 (patch) | |
tree | 5d0332daba22aa87d85d5e5174a5bd80e35b53fc /gcc/tree-flow.h | |
parent | 2731cf24d22fbc55453b74a5498f72ce5c41a52b (diff) | |
download | gcc-42759f1ea05f7893f3bee4adbab74becf1a9f764.zip gcc-42759f1ea05f7893f3bee4adbab74becf1a9f764.tar.gz gcc-42759f1ea05f7893f3bee4adbab74becf1a9f764.tar.bz2 |
Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
* Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
* basic-block.h (get_dominated_by_region): Declare.
* dominance.c (get_dominated_by_region): New function.
* tree-cfg.c: Include cfglayout.h.
(tree_duplicate_bb): Duplicate also phi nodes.
(struct ssa_name_map_entry): New type.
(add_phi_args_after_copy_bb, add_phi_args_after_copy,
ssa_name_map_entry_hash, ssa_name_map_entry_eq,
allocate_ssa_names, rewrite_to_new_ssa_names_def,
rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
* tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
rewrite_to_new_ssa_names, allocate_ssa_names,
rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
* tree-ssa-loop-ch.c (duplicate_blocks): Removed.
(copy_loop_headers): Use tree_duplicate_sese_region.
* gcc.dg/tree-ssa/copy-headers.c: Update outcome.
From-SVN: r87614
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r-- | gcc/tree-flow.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index 2ae08f2..bdcd4aa 100644 --- a/gcc/tree-flow.h +++ b/gcc/tree-flow.h @@ -495,6 +495,13 @@ extern void clear_special_calls (void); 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_duplicate_sese_region (edge, edge, basic_block *, unsigned, + basic_block *); +extern void add_phi_args_after_copy_bb (basic_block); +extern void add_phi_args_after_copy (basic_block *, unsigned); +extern void rewrite_to_new_ssa_names_bb (basic_block, struct htab *); +extern void rewrite_to_new_ssa_names (basic_block *, unsigned, htab_t); +extern void allocate_ssa_names (bitmap, struct htab **); extern bool tree_purge_dead_eh_edges (basic_block); extern bool tree_purge_all_dead_eh_edges (bitmap); extern tree gimplify_val (block_stmt_iterator *, tree, tree); |