diff options
author | Martin Liska <mliska@suse.cz> | 2018-09-03 09:51:56 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2018-09-03 07:51:56 +0000 |
commit | add4cbca8cf60d1108959de10a6c4b66d90464dc (patch) | |
tree | 42056a80e427e22c26a9f90994acf4d459f9b414 /gcc/opts.c | |
parent | 106fd43fee5e964ddf3017cfd3de1046978d490d (diff) | |
download | gcc-add4cbca8cf60d1108959de10a6c4b66d90464dc.zip gcc-add4cbca8cf60d1108959de10a6c4b66d90464dc.tar.gz gcc-add4cbca8cf60d1108959de10a6c4b66d90464dc.tar.bz2 |
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
Diffstat (limited to 'gcc/opts.c')
0 files changed, 0 insertions, 0 deletions