aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2019-11-28 08:31:26 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2019-11-28 07:31:26 +0000
commitf160cd13fb44be3f63a2f43d68befa76f797578f (patch)
treebdce7cac8176db8648be979e0c1243c12b793c09 /gcc/tree-if-conv.c
parent34b7ae1dd5f0c01036b2a9308baf15329280733e (diff)
downloadgcc-f160cd13fb44be3f63a2f43d68befa76f797578f.zip
gcc-f160cd13fb44be3f63a2f43d68befa76f797578f.tar.gz
gcc-f160cd13fb44be3f63a2f43d68befa76f797578f.tar.bz2
Handle correctly global0 and global counters in profile_count::to_sreal_scale
This patch fixes problem in profile_count::to_sreal_scale. We our porfile counters can be function local, global (ipa) or function local but globally 0. The last is used to hold static estimates for functions executed 0 times in profile. Now only one 64bit value is stored and if we compute frequency of global0 counter in global counter we mix them up and return non-zero value incorrectly. I also implemented unit test, but will commit sanity checking separately from fixes: there are multiple bugs in this area I tracked down. * profile-count.c (profile_count::to_sreal_scale): Handle correctly combination of globa0 and global counters.. From-SVN: r278801
Diffstat (limited to 'gcc/tree-if-conv.c')
0 files changed, 0 insertions, 0 deletions