+2017-05-02 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-analysis.c (estimate_node_size_and_time): Allow roundoff
+ errors when comparing specialized and unspecialized times.
+
2017-05-02 David Malcolm <dmalcolm@redhat.com>
* diagnostic-show-locus.c
if the only reason why modified_in_p returned true is that
addr is SP based and set_insn is a push or pop.
+2017-04-29 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline.c (compute_inlined_call_time): Remove now unnecesary
+ overflow check.
+
2017-04-29 Jan Hubicka <hubicka@ucw.cz>
PR ipa/79224
min_size = (*info->entry)[0].size;
gcc_checking_assert (size >= 0);
gcc_checking_assert (time >= 0);
- gcc_checking_assert (nonspecialized_time >= time);
+ /* nonspecialized_time should be always bigger than specialized time.
+ Roundoff issues however may get into the way. */
+ gcc_checking_assert ((nonspecialized_time - time) >= -1);
+
+ /* Roundoff issues may make specialized time bigger than nonspecialized
+ time. We do not really want that to happen because some heurstics
+ may get confused by seeing negative speedups. */
+ if (time > nonspecialized_time)
+ time = nonspecialized_time;
if (info->loop_iterations
&& !evaluate_predicate (info->loop_iterations, possible_truths))