Make __builtin_expect effective in switch statements (PR middle-end/PR59521).
2018-09-03  Martin Liska  <mliska@suse.cz>
  PR middle-end/59521
	* predict.c (set_even_probabilities): Add likely_edges
        argument and handle cases where we have precisely one
        likely edge.
	(combine_predictions_for_bb): Catch also likely_edges.
	(tree_predict_by_opcode): Handle gswitch statements.
	* tree-cfg.h (find_case_label_for_value): New declaration.
	(find_taken_edge_switch_expr): Likewise.
	* tree-switch-conversion.c (switch_decision_tree::balance_case_nodes):
        Find pivot in decision tree based on probabily, not by number of
        nodes.
2018-09-03  Martin Liska  <mliska@suse.cz>
  PR middle-end/59521
	* c-c++-common/pr59521-1.c: New test.
	* c-c++-common/pr59521-2.c: New test.
	* gcc.dg/tree-prof/pr59521-3.c: New test.
From-SVN: r264050
Showing
gcc/testsuite/c-c++-common/pr59521-1.c
0 → 100644
gcc/testsuite/c-c++-common/pr59521-2.c
0 → 100644
gcc/testsuite/gcc.dg/tree-prof/pr59521-3.c
0 → 100644
Please
register
or
sign in
to comment
