===================================================================
@@ -0,0 +1,31 @@
+
+int a[1], b, c, d, e, f, g, h;
+
+void fn1 (int p)
+{
+ b = b >> 8 ^ a[b ^ (c & 5)] >> 8 ^ a[(b ^ c) & 5];
+ b = b >> 8 ^ a[(b ^ c) & 5];
+}
+
+static void fn2 ()
+{
+ int k;
+ while (1)
+ while (e)
+ {
+ while (g)
+ while (h)
+ for (k = 0; k < 6; k++)
+ while (f)
+ fn1 (0);
+ fn1 (0);
+ fn1 (0);
+ fn1 (0);
+ }
+}
+
+int main ()
+{
+ fn2 ();
+ return 0;
+}
===================================================================
@@ -993,7 +993,8 @@ edge_badness (struct cgraph_edge *edge,
/* Check that inlined time is better, but tolerate some roundoff issues.
FIXME: When callee profile drops to 0 we account calls more. This
should be fixed by never doing that. */
- gcc_checking_assert ((edge_time - callee_info->time).to_int () <= 0
+ gcc_checking_assert ((edge_time * 100
+ - callee_info->time * 101).to_int () <= 0
|| callee->count.ipa ().initialized_p ());
gcc_checking_assert (growth <= callee_info->size);