===================================================================
@@ -710,9 +710,8 @@ relative_time_benefit (struct inline_sum
uninlined_call_time =
((gcov_type)
(callee_info->time
- + inline_edge_summary (edge)->call_stmt_time
- + CGRAPH_FREQ_BASE / 2) * edge->frequency
- / CGRAPH_FREQ_BASE);
+ + inline_edge_summary (edge)->call_stmt_time) * edge->frequency
+ + CGRAPH_FREQ_BASE / 2) / CGRAPH_FREQ_BASE;
/* Compute relative time benefit, i.e. how much the call becomes faster.
??? perhaps computing how much the caller+calle together become faster
would lead to more realistic results. */
===================================================================
@@ -219,7 +219,7 @@ estimate_edge_time (struct cgraph_edge *
if ((int)VEC_length (edge_growth_cache_entry, edge_growth_cache) <= edge->uid
|| !(ret = VEC_index (edge_growth_cache_entry,
edge_growth_cache,
- edge->uid)->size))
+ edge->uid)->time))
return do_estimate_edge_time (edge);
return ret - (ret > 0);
}
===================================================================
@@ -2164,10 +2201,9 @@ do_estimate_edge_time (struct cgraph_edg
evaluate_conditions_for_edge (edge, true),
&size, &time);
- ret = (((gcov_type)time - es->call_stmt_time) * edge->frequency
+ ret = (((gcov_type)time
+ - es->call_stmt_time) * edge->frequency
+ CGRAPH_FREQ_BASE / 2) / CGRAPH_FREQ_BASE;
- if (ret > MAX_TIME)
- ret = MAX_TIME;
/* When caching, update the cache entry. */
if (edge_growth_cache)