diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2005-05-11 00:33:30 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2005-05-10 22:33:30 +0000 |
commit | 5deaef19e6360dc228e4b11cac2070fabdb036f4 (patch) | |
tree | 60f4c57bd6dd81006748f1e3212df2fae47e1faf /gcc/tree-ssa-loop-ch.c | |
parent | e0bba0931d059bafc61987a2aee817ed4d6c1064 (diff) | |
download | gcc-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.c | 21 |
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); |