Silence overactive sanity check with -fpartial-profile-training

do_estimate_edge_time tests that cached and real values matches. This test
is not working precisely for global profiles because of roundoff issues when
profile of clones is subtracted from profile of offline body.  This is checked
by presence of ipa counter. This breaks with partial profile training because
we turn IPA profiles to local when they drop to 0.

	* ipa-inline-analysis.c (do_estimate_edge_time): Silence overactive
	sanity check.

From-SVN: r279090
This commit is contained in:
Jan Hubicka 2019-12-08 15:02:43 +01:00 committed by Jan Hubicka
parent ad74bc8ca4
commit a63574d7ed
2 changed files with 6 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2019-12-07 Jan Hubicka <hubicka@ucw.cz>
* ipa-inline-analysis.c (do_estimate_edge_time): Silence overactive
sanity check.
2019-12-07 Jan Hubicka <hubicka@ucw.cz>
PR tree-optimization/92860

View File

@ -209,6 +209,7 @@ do_estimate_edge_time (struct cgraph_edge *edge, sreal *ret_nonspec_time)
nonspec_time = e->entry.nonspec_time;
hints = e->entry.hints;
if (flag_checking
&& !opt_for_fn (callee->decl, flag_profile_partial_training)
&& !callee->count.ipa_p ())
{
sreal chk_time, chk_nonspec_time;