+2018-01-14 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/83051
+ * ipa-inline.c (edge_badness): Tolerate roundoff errors.
+
2018-01-14 Richard Sandiford <richard.sandiford@linaro.org>
* ipa-inline.c (want_inline_small_function_p): Return false if
/* 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);
+2018-01-14 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/83051
+ * gcc.c-torture/compile/pr83051.c: New testcase.
+
2018-01-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR tree-optimization/83501
--- /dev/null
+
+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;
+}