aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-switch-conversion.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-06-22 13:32:20 +0200
committerMartin Liska <marxin@gcc.gnu.org>2018-06-22 11:32:20 +0000
commit5885a1bd530e77cbe82578d07c59771e59a87c28 (patch)
treee89d27c1e190e257cf552b7f620e9ceed9a09243 /gcc/tree-switch-conversion.c
parent0c172706f4c49a3015ecd248b90ddbbb62dbedec (diff)
downloadgcc-5885a1bd530e77cbe82578d07c59771e59a87c28.zip
gcc-5885a1bd530e77cbe82578d07c59771e59a87c28.tar.gz
gcc-5885a1bd530e77cbe82578d07c59771e59a87c28.tar.bz2
Fix emission of jump tables (PR tree-optimization/86263).
2018-06-22 Martin Liska <mliska@suse.cz> PR tree-optimization/86263 * tree-switch-conversion.c (jump_table_cluster::find_jump_tables): Bail out if is_enabled is false. * tree-switch-conversion.h (jump_table_cluster::is_enabled): New declaration. (jump_table_cluster::is_enabled): New function. From-SVN: r261886
Diffstat (limited to 'gcc/tree-switch-conversion.c')
-rw-r--r--gcc/tree-switch-conversion.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-switch-conversion.c b/gcc/tree-switch-conversion.c
index 62ae884..029ce8c 100644
--- a/gcc/tree-switch-conversion.c
+++ b/gcc/tree-switch-conversion.c
@@ -1094,6 +1094,9 @@ jump_table_cluster::emit (tree index_expr, tree,
vec<cluster *>
jump_table_cluster::find_jump_tables (vec<cluster *> &clusters)
{
+ if (!is_enabled ())
+ return clusters.copy ();
+
unsigned l = clusters.length ();
auto_vec<min_cluster_item> min;
min.reserve (l + 1);