Fix bootstrap miscompare when stage1 is built with different chekcing setting

Jan Hubicka hubicka@ucw.cz
Fri Nov 24 12:01:00 GMT 2017


Hi,
I have disabled inliner cache sanity check for profile feedback because profile
count scaling now can cause small roundoff deviations (a cost we had to pay for
dropping separate frequencies I guess). While doing so I missed that the code
block must set current_badness even when not doing any checks.

This fixes the IA64 bootstrap issue reported by Andreas (which is triggered
by his setup using release checking for stage1 cc1).

Bootstrapped/regtested x86_64-linux, comitted.

Honza

	PR bootstrap/83015
	* ipa-inline.c (inline_small_functions): Set current badnes correctly
	when skipping checking.
Index: ipa-inline.c
===================================================================
--- ipa-inline.c	(revision 255103)
+++ ipa-inline.c	(working copy)
@@ -1865,6 +1865,8 @@ inline_small_functions (void)
 	  gcc_assert (cached_badness == current_badness);
 	  gcc_assert (current_badness >= badness);
 	}
+      else
+        current_badness = edge_badness (edge, false);
 #else
       current_badness = edge_badness (edge, false);
 #endif



More information about the Gcc-patches mailing list