diff mbox

Fix typos in inliner benefit analysis

Message ID 20110921225131.GD25830@kam.mff.cuni.cz
State New
Headers show

Commit Message

Jan Hubicka Sept. 21, 2011, 10:51 p.m. UTC
Hi,
this patch fixes two rather embarassing typos that together caused that benefits
are pretty much ignored by the inliner heuristics.
Also to make benefits go right for large function I remived caping logic
in do_estimate_edge_time.  It is no longer needed since we no longe propagate
the values.

Bootstrapped/regtested x86_64-linux, will commit it shortly.

Honza
	* ipa-inline.c (relative_time_benefit): Fix wrong bracketting.
	* ipa-inline.h (estimate_edge_time): Fix pasto.
	* ipa-inline-analysis.c (do_estiamte_edge_time): Remove capping.
diff mbox

Patch

Index: ipa-inline.c
===================================================================
--- ipa-inline.c	(revision 179003)
+++ ipa-inline.c	(working copy)
@@ -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.  */
Index: ipa-inline.h
===================================================================
--- ipa-inline.h	(revision 179003)
+++ ipa-inline.h	(working copy)
@@ -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);
 }
Index: ipa-inline-analysis.c
===================================================================
--- ipa-inline-analysis.c	(revision 179046)
+++ ipa-inline-analysis.c	(working copy)
@@ -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)