Fix clustering algorithm in switch expansion.
commit69bfc5d88103ff6325e1ac741218c2d3babf841f
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jun 2018 07:14:57 +0000 (28 07:14 +0000)
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jun 2018 07:14:57 +0000 (28 07:14 +0000)
treed5a6e4444e56568e59909022661c11a5e58bbaea
parent6e8a18d1ed980e23b5e7fed4d810f294643cbd9f
Fix clustering algorithm in switch expansion.

2018-06-28  Martin Liska  <mliska@suse.cz>

* tree-switch-conversion.c (jump_table_cluster::find_jump_tables):
        Add new checking assert to catch invalid state.
(jump_table_cluster::can_be_handled): Handle single case
        clusters.
(jump_table_cluster::is_beneficial): Bail out for such case.
(bit_test_cluster::find_bit_tests):
        Add new checking assert to catch invalid state.
(bit_test_cluster::can_be_handled): Handle single case
        clusters.
(bit_test_cluster::is_beneficial): Bail out for such case.
(switch_decision_tree::analyze_switch_statement):
        Fix comment.
2018-06-28  Martin Liska  <mliska@suse.cz>

* gcc.dg/tree-ssa/switch-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@262211 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/switch-1.c [new file with mode: 0644]
gcc/tree-switch-conversion.c