re PR middle-end/11823 (Optimizing large jump tables for switch statements)

PR middle-end/11823
	* stmt.c (expand_end_case_type): Only use jump tables for dense
	switch statements when optimizing for size.

Co-Authored-By: Roger Sayle <roger@eyesopen.com>

From-SVN: r70959
This commit is contained in:
Steven Bosscher 2003-08-31 13:59:33 +00:00 committed by Roger Sayle
parent 7c66d5f5f9
commit 9e4b13a79e
2 changed files with 9 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2003-08-31 Steven Bosscher <steven@gcc.gnu.org>
Roger Sayle <roger@eyesopen.com>
PR middle-end/11823
* stmt.c (expand_end_case_type): Only use jump tables for dense
switch statements when optimizing for size.
2003-08-31 Olivier Hainque <hainque@act-europe.fr>
* builtins.c (expand_builtin_setjmp): Use emit_jump to jump around

View file

@ -5419,7 +5419,8 @@ expand_end_case_type (tree orig_index, tree orig_type)
because we can optimize it. */
else if (count < case_values_threshold ()
|| compare_tree_int (range, 10 * count) > 0
|| compare_tree_int (range,
(optimize_size ? 3 : 10) * count) > 0
/* RANGE may be signed, and really large ranges will show up
as negative numbers. */
|| compare_tree_int (range, 0) < 0