* cfgcleanup.c (try_crossjump_to_edge): Use combine_with_count
commit5b94633f0758773e1c40bcd1955b39e8646c24d9
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jan 2018 08:12:40 +0000 (24 08:12 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jan 2018 08:12:40 +0000 (24 08:12 +0000)
tree660c3f17e8e166b824b72c77a9eb809b2f20310e
parent282ea90832005e4f591ad4d14c268c055c023a1b
* cfgcleanup.c (try_crossjump_to_edge): Use combine_with_count
to merge probabilities.
* predict.c (probably_never_executed): Also mark as cold functions
with global 0 profile and guessed local profile.
* profile-count.c (profile_probability::combine_with_count): New
member function.
* profile-count.h (profile_probability::operator*,
profile_probability::operator*=, profile_probability::operator/,
profile_probability::operator/=): Reduce precision to adjusted
and set value to guessed on contradictory divisions.
(profile_probability::combine_with_freq): Remove.
(profile_probability::combine_wiht_count): Declare.
(profile_count::force_nonzero):: Set to adjusted.
(profile_count::probability_in):: Set quality to adjusted.
* tree-ssa-tail-merge.c (replace_block_by): Use
combine_with_count.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@257010 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cfgcleanup.c
gcc/predict.c
gcc/profile-count.c
gcc/profile-count.h
gcc/tree-ssa-tail-merge.c