diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2004-11-02 00:23:04 +0000 |
---|---|---|
committer | Andrew Macleod <amacleod@gcc.gnu.org> | 2004-11-02 00:23:04 +0000 |
commit | edfaf675109ca666d7ddbd901c82c18383385255 (patch) | |
tree | b53d70edc3071cf94765fb9657ab1326ec36c283 /gcc/tree-flow.h | |
parent | 8bf639fa5e1887d9313c9a251cfe550033708bef (diff) | |
download | gcc-edfaf675109ca666d7ddbd901c82c18383385255.zip gcc-edfaf675109ca666d7ddbd901c82c18383385255.tar.gz gcc-edfaf675109ca666d7ddbd901c82c18383385255.tar.bz2 |
re PR tree-optimization/16447 (out of ssa generates bloated code)
2004-11-01 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/16447
* tree-cfg.c (bsi_commit_one_edge_insert): Rename from
bsi_commit_edge_inserts_1, and make funtion external. Return new block.
(bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
* tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
* tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
(same_stmt_list_p): New. Return TRUE if edge is to be forwarded.
(identical_copies_p): New. Return true is two copies are the same.
(identical_stmt_lists_p): New. Return true if stmt lists are the same.
(analyze_edges_for_bb): New. Determine how best to insert edge stmts
for a basic block.
(perform_edge_inserts): New. Determine what to do with all stmts that
have been inserted on edges.
(remove_ssa_form): Analyze and commit edges from here.
From-SVN: r89970
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r-- | gcc/tree-flow.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index 82ebd6d..9e77fe2 100644 --- a/gcc/tree-flow.h +++ b/gcc/tree-flow.h @@ -479,6 +479,7 @@ extern basic_block label_to_block (tree); extern void tree_optimize_tail_calls (bool, enum tree_dump_index); extern void bsi_insert_on_edge (edge, tree); extern basic_block bsi_insert_on_edge_immediate (edge, tree); +extern void bsi_commit_one_edge_insert (edge e, basic_block *); extern void bsi_commit_edge_inserts (int *); extern void notice_special_calls (tree); extern void clear_special_calls (void); |