summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-ch.c
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-10 22:33:30 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2005-05-10 22:33:30 +0000
commit2625ff05d1d2b19e4779319e4370fd69ff15e9f0 (patch)
tree60f4c57bd6dd81006748f1e3212df2fae47e1faf /gcc/tree-ssa-loop-ch.c
parent1f367a28eadc967d51857be1c00a5040f0b2c6c5 (diff)
downloadgcc-2625ff05d1d2b19e4779319e4370fd69ff15e9f0.tar.gz
* tree-cfg.c (tree_duplicate_sese_region): Update profile.
* tree-optimize.c (init_tree_optimization_passes) Swap pass_ch and pass_profile. * tree-ssa-loop-ch.c (copy_loop_headers): Do not update profile here. Remove rewrite_into_loop_closed_ssa call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99547 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-loop-ch.c')
-rw-r--r--gcc/tree-ssa-loop-ch.c21
1 files changed, 0 insertions, 21 deletions
diff --git a/gcc/tree-ssa-loop-ch.c b/gcc/tree-ssa-loop-ch.c
index 18afec1e079..378755c9eaa 100644
--- a/gcc/tree-ssa-loop-ch.c
+++ b/gcc/tree-ssa-loop-ch.c
@@ -131,12 +131,10 @@ copy_loop_headers (void)
basic_block *bbs, *copied_bbs;
unsigned n_bbs;
unsigned bbs_size;
- gcov_type entry_count, body_count, total_count;
loops = loop_optimizer_init (dump_file);
if (!loops)
return;
- rewrite_into_loop_closed_ssa (NULL, TODO_update_ssa);
/* We do not try to keep the information about irreducible regions
up-to-date. */
@@ -202,8 +200,6 @@ copy_loop_headers (void)
exit = single_succ_edge (loop_split_edge_with (exit, NULL));
entry = loop_preheader_edge (loop);
- entry_count = entry->src->count;
- body_count = exit->dest->count;
if (!tree_duplicate_sese_region (entry, exit, bbs, n_bbs, copied_bbs))
{
@@ -211,23 +207,6 @@ copy_loop_headers (void)
continue;
}
- /* Fix profiling info. Scaling is done in gcov_type arithmetic to
- avoid losing information; this is slow, but is done at most
- once per loop. We special case 0 to avoid division by 0;
- probably other special cases exist. */
- total_count = body_count + entry_count;
- if (total_count == 0LL)
- {
- scale_bbs_frequencies_int (bbs, n_bbs, 0, 1);
- scale_bbs_frequencies_int (copied_bbs, n_bbs, 0, 1);
- }
- else
- {
- scale_bbs_frequencies_gcov_type (bbs, n_bbs, body_count, total_count);
- scale_bbs_frequencies_gcov_type (copied_bbs, n_bbs, entry_count,
- total_count);
- }
-
/* Ensure that the latch and the preheader is simple (we know that they
are not now, since there was the loop exit condition. */
loop_split_edge_with (loop_preheader_edge (loop), NULL);