Fix indirect call optimization done by autoFDO.

2017-07-27  Martin Liska  <mliska@suse.cz>

	* auto-profile.c (autofdo_source_profile::update_inlined_ind_target):
	Fix wrong condition.

From-SVN: r250622
This commit is contained in:
Martin Liska 2017-07-27 14:54:17 +02:00 committed by Martin Liska
parent b8163af7d9
commit 89722cf73d
2 changed files with 12 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2017-07-27 Martin Liska <mliska@suse.cz>
* auto-profile.c (autofdo_source_profile::update_inlined_ind_target):
Fix wrong condition.
2017-07-27 Martin Liska <mliska@suse.cz>
* auto-profile.c (afdo_annotate_cfg): Assign zero counts to

View File

@ -774,15 +774,15 @@ autofdo_source_profile::update_inlined_ind_target (gcall *stmt,
hot any more. Will avoid promote the original target.
To check if original promoted target is still hot, we check the total
count of the unpromoted targets (stored in old_info). If it is no less
than half of the callsite count (stored in INFO), the original promoted
target is considered not hot any more. */
if (total >= info->count / 2)
count of the unpromoted targets (stored in TOTAL). If a callsite count
(stored in INFO) is smaller than half of the total count, the original
promoted target is considered not hot any more. */
if (info->count < total / 2)
{
if (dump_file)
fprintf (dump_file, " not hot anymore %ld >= %ld",
(long)total,
(long)info->count /2);
fprintf (dump_file, " not hot anymore %ld < %ld",
(long)info->count,
(long)total /2);
return false;
}