diff options
| -rw-r--r-- | gcc/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/stmt.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 790f581..422ceb9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 @@ -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 |
