+2017-01-01 Jan Hubicka <hubicka@ucw.cz>
+
+ PR middle-end/77484
+ * predict.def (PRED_POLYMORPHIC_CALL): Set to 58
+ * predict.c (tree_estimate_probability_bb): Reverse direction of
+ polymorphic call predictor.
+
2017-01-06 David Malcolm <dmalcolm@redhat.com>
* passes.c (execute_one_pass): Split out pass-skipping logic
if (gimple_call_fndecl (stmt))
predict_edge_def (e, PRED_CALL, NOT_TAKEN);
else if (virtual_method_call_p (gimple_call_fn (stmt)))
- predict_edge_def (e, PRED_POLYMORPHIC_CALL, TAKEN);
+ predict_edge_def (e, PRED_POLYMORPHIC_CALL, NOT_TAKEN);
else
predict_edge_def (e, PRED_INDIR_CALL, TAKEN);
break;
less reliable for indirect calls and polymorphic calls. For spec2k6
the predictio nis slightly in the direction of taking the call. */
DEF_PREDICTOR (PRED_INDIR_CALL, "indirect call", HITRATE (51), 0)
-DEF_PREDICTOR (PRED_POLYMORPHIC_CALL, "polymorphic call", HITRATE (58), 0)
+DEF_PREDICTOR (PRED_POLYMORPHIC_CALL, "polymorphic call", HITRATE (59), 0)
/* Recursive calls are usually not taken or the function will recurse
indefinitely. */