diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2017-11-16 12:04:40 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2017-11-16 11:04:40 +0000 |
commit | 00fa28d1b471a3aca9994a21363ce3f58b6bd2f2 (patch) | |
tree | 892d02bc9b02055ad24a0e16a752fe60721e5dcc /gcc/tree-vect-loop-manip.c | |
parent | 6786ba1aaa8533e286b8d8f333cc9d75cf5c9989 (diff) | |
download | gcc-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.c | 10 |
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); } |