aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-09-03 09:51:56 +0200
committerMartin Liska <marxin@gcc.gnu.org>2018-09-03 07:51:56 +0000
commitadd4cbca8cf60d1108959de10a6c4b66d90464dc (patch)
tree42056a80e427e22c26a9f90994acf4d459f9b414 /gcc/opts.c
parent106fd43fee5e964ddf3017cfd3de1046978d490d (diff)
downloadgcc-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