aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop-manip.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2017-11-16 12:04:40 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2017-11-16 11:04:40 +0000
commit00fa28d1b471a3aca9994a21363ce3f58b6bd2f2 (patch)
tree892d02bc9b02055ad24a0e16a752fe60721e5dcc /gcc/tree-vect-loop-manip.c
parent6786ba1aaa8533e286b8d8f333cc9d75cf5c9989 (diff)
downloadgcc-00fa28d1b471a3aca9994a21363ce3f58b6bd2f2.zip
gcc-00fa28d1b471a3aca9994a21363ce3f58b6bd2f2.tar.gz
gcc-00fa28d1b471a3aca9994a21363ce3f58b6bd2f2.tar.bz2
tree-vect-loop-manip.c (vect_do_peeling): Do not use scale_bbs_frequencies_int.
* tree-vect-loop-manip.c (vect_do_peeling): Do not use scale_bbs_frequencies_int. From-SVN: r254810
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
-rw-r--r--gcc/tree-vect-loop-manip.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index be34310..1df591e 100644
--- a/gcc/tree-vect-loop-manip.c
+++ b/gcc/tree-vect-loop-manip.c
@@ -1844,14 +1844,16 @@ vect_do_peeling (loop_vec_info loop_vinfo, tree niters, tree nitersm1,
/* Simply propagate profile info from guard_bb to guard_to which is
a merge point of control flow. */
guard_to->count = guard_bb->count;
+
/* Scale probability of epilog loop back.
FIXME: We should avoid scaling down and back up. Profile may
get lost if we scale down to 0. */
- int scale_up = REG_BR_PROB_BASE * REG_BR_PROB_BASE
- / prob_vector.to_reg_br_prob_base ();
basic_block *bbs = get_loop_body (epilog);
- scale_bbs_frequencies_int (bbs, epilog->num_nodes, scale_up,
- REG_BR_PROB_BASE);
+ for (unsigned int i = 0; i < epilog->num_nodes; i++)
+ bbs[i]->count = bbs[i]->count.apply_scale
+ (bbs[i]->count,
+ bbs[i]->count.apply_probability
+ (prob_vector));
free (bbs);
}