ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes...

* ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes,
	when profile esitmate is present, calls with very low frequency are
	cold.

From-SVN: r122898
This commit is contained in:
Jan Hubicka 2007-03-14 02:26:00 +01:00 committed by Jan Hubicka
parent b3ce5b6ed7
commit 4cdb798f6c
2 changed files with 15 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2007-03-13 Jan Hubicka <jh@suse.cz>
* ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes,
when profile esitmate is present, calls with very low frequency are
cold.
2007-03-13 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/30730

View File

@ -472,6 +472,15 @@ cgraph_maybe_hot_edge_p (struct cgraph_edge *edge)
&& (edge->count
<= profile_info->sum_max / PARAM_VALUE (HOT_BB_COUNT_FRACTION)))
return false;
if (lookup_attribute ("cold", DECL_ATTRIBUTES (edge->callee->decl))
|| lookup_attribute ("cold", DECL_ATTRIBUTES (edge->caller->decl)))
return false;
if (lookup_attribute ("hot", DECL_ATTRIBUTES (edge->caller->decl)))
return true;
if (flag_guess_branch_prob
&& edge->frequency < (CGRAPH_FREQ_MAX
/ PARAM_VALUE (HOT_BB_FREQUENCY_FRACTION)))
return false;
return true;
}