aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-ch.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2005-05-11 00:33:30 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2005-05-10 22:33:30 +0000
commit5deaef19e6360dc228e4b11cac2070fabdb036f4 (patch)
tree60f4c57bd6dd81006748f1e3212df2fae47e1faf /gcc/tree-ssa-loop-ch.c
parente0bba0931d059bafc61987a2aee817ed4d6c1064 (diff)
downloadgcc-5deaef19e6360dc228e4b11cac2070fabdb036f4.zip
gcc-5deaef19e6360dc228e4b11cac2070fabdb036f4.tar.gz
gcc-5deaef19e6360dc228e4b11cac2070fabdb036f4.tar.bz2
tree-cfg.c (tree_duplicate_sese_region): Update profile.
* 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. From-SVN: r99547
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 18afec1..378755c 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);