2018-06-28 Martin Liska <mliska@suse.cz>
* tree-switch-conversion.c (jump_table_cluster::can_be_handled):
Use newly introduced constants.
* tree-switch-conversion.h (struct jump_table_cluster):
Define max_ratio_for_size and max_ratio_for_speed.
From-SVN: r262212
+2018-06-28 Martin Liska <mliska@suse.cz>
+
+ * tree-switch-conversion.c (jump_table_cluster::can_be_handled):
+ Use newly introduced constants.
+ * tree-switch-conversion.h (struct jump_table_cluster):
+ Define max_ratio_for_size and max_ratio_for_speed.
+
2018-06-28 Martin Liska <mliska@suse.cz>
* tree-switch-conversion.c (jump_table_cluster::find_jump_tables):
if (start == end)
return true;
- unsigned HOST_WIDE_INT max_ratio = optimize_insn_for_size_p () ? 3 : 8;
+ unsigned HOST_WIDE_INT max_ratio
+ = optimize_insn_for_size_p () ? max_ratio_for_size : max_ratio_for_speed;
unsigned HOST_WIDE_INT range = get_range (clusters[start]->get_low (),
clusters[end]->get_high ());
/* Check overflow. */
/* Return whether jump table expansion is allowed. */
static bool is_enabled (void);
+
+ /* Max growth ratio for code that is optimized for size. */
+ static const unsigned HOST_WIDE_INT max_ratio_for_size = 3;
+
+ /* Max growth ratio for code that is optimized for speed. */
+ static const unsigned HOST_WIDE_INT max_ratio_for_speed = 8;
};
/* A GIMPLE switch statement can be expanded to a short sequence of bit-wise