summaryrefslogtreecommitdiff
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-07-25 01:42:40 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2001-07-24 23:42:40 +0000
commitca9fef16af6d5678e16a3165f7d54ad3fa26c58b (patch)
treed1ee1391800621b2b6ec28beb4ce0ea486728f56 /gcc/basic-block.h
parent40fc4e6a9ff481ac5f01a89bd924bf30ad305b78 (diff)
downloadgcc-ca9fef16af6d5678e16a3165f7d54ad3fa26c58b.tar.gz
flow.c (try_simplify_condjump): Avoid duplicated edges.
* flow.c (try_simplify_condjump): Avoid duplicated edges. (verify_flow_info): Check for duplicated edges; clarify error reporting. * flow.c (block_label): Update basic_block_for_insn. (commit_edge_insertions): Call compute_bb_for_insn. * flow.c (purge_dead_edges): Handle conditional jumps and conditional returns too. * flow.c (redirect_edge_and_branch, try_optimize_cfg): Use redirect_edge_succ_nodup (redirect_edge_succ_nodup): New. * basic_block.h (redirect_edge_succ_nodup): Declare. * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup after gcse. From-SVN: r44320
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r--gcc/basic-block.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index b6e8c11a16b..c069ad57edd 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -296,6 +296,7 @@ extern void make_edge PARAMS ((sbitmap *, basic_block,
basic_block, int));
extern void remove_edge PARAMS ((edge));
extern void redirect_edge_succ PARAMS ((edge, basic_block));
+extern void redirect_edge_succ_nodup PARAMS ((edge, basic_block));
extern void redirect_edge_pred PARAMS ((edge, basic_block));
extern void create_basic_block PARAMS ((int, rtx, rtx, rtx));
extern int flow_delete_block PARAMS ((basic_block));