Commit d07f74fa by Jan Hubicka Committed by Jan Hubicka

* cgraph.c (cgraph_edge::maybe_hot_p): Do not use sreal_frequency.

From-SVN: r278021
parent d40e2362
2019-11-10 Jan Hubicka <hubicka@ucw.cz>
* cgraph.c (cgraph_edge::maybe_hot_p): Do not use sreal_frequency.
2019-11-10 Jan Hubicka <hubicka@ucw.cz>
* ipa-prop.c (ipa_propagate_indirect_call_infos): Remove ipa edge
args summaries of inlined edge unless it holds info about
described reference.
......@@ -2697,14 +2697,18 @@ cgraph_edge::maybe_hot_p (void)
return false;
if (caller->frequency == NODE_FREQUENCY_HOT)
return true;
/* If profile is now known yet, be conservative.
FIXME: this predicate is used by early inliner and can do better there. */
if (symtab->state < IPA_SSA)
if (!count.initialized_p ())
return true;
if (caller->frequency == NODE_FREQUENCY_EXECUTED_ONCE
&& sreal_frequency () * 2 < 3)
cgraph_node *where = caller->inlined_to ? caller->inlined_to : caller;
if (!where->count.initialized_p ())
return false;
if (sreal_frequency () * PARAM_VALUE (HOT_BB_FREQUENCY_FRACTION) <= 1)
if (caller->frequency == NODE_FREQUENCY_EXECUTED_ONCE)
{
if (count.apply_scale (2, 1) < where->count.apply_scale (3, 1))
return false;
}
else if (count.apply_scale (PARAM_VALUE (HOT_BB_FREQUENCY_FRACTION), 1)
< where->count)
return false;
return true;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment