diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfgloopmanip.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 849de45..ccceea5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2017-07-16 Jan Hubicka <hubicka@ucw.cz> + * cfgloopmanip.c (scale_loop_profile): Avoid use of REG_BR_PROB_BASE + fixpoint arithmetics. + +2017-07-16 Jan Hubicka <hubicka@ucw.cz> + * tree-ssa-loop-unswitch.c (hoist_guard): Avoid use of REG_BR_PROB_BASE fixpoint arithmetics. diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c index 3f4ff98..f62c829 100644 --- a/gcc/cfgloopmanip.c +++ b/gcc/cfgloopmanip.c @@ -546,8 +546,8 @@ scale_loop_profile (struct loop *loop, profile_probability p, /* Probability of exit must be 1/iterations. */ freq_delta = EDGE_FREQUENCY (e); - e->probability = profile_probability::from_reg_br_prob_base - (REG_BR_PROB_BASE / iteration_bound); + e->probability = profile_probability::always () + .apply_scale (1, iteration_bound); other_e->probability = e->probability.invert (); freq_delta -= EDGE_FREQUENCY (e); |