From e6ff3083a0fc0bbf35ad323784671732c7ca58cc Mon Sep 17 00:00:00 2001 From: Anatoly Sokolov Date: Sat, 25 Apr 2009 08:34:27 +0400 Subject: target.h (struct gcc_target): Add case_values_threshold field. * target.h (struct gcc_target): Add case_values_threshold field. * target-def.h (TARGET_CASE_VALUES_THRESHOLD): New. (TARGET_INITIALIZER): Use TARGET_CASE_VALUES_THRESHOLD. * targhooks.c (default_case_values_threshold): New function. * targhooks.h (default_case_values_threshold): Declare function. * stmt.c (expand_case): Use case_values_threshold target hook. * expr.h (case_values_threshold): Remove declartation. * expr.c (case_values_threshold): Remove function. * doc/tm.texi (CASE_VALUES_THRESHOLD): Revise documentation. * config/avr/avr.h (CASE_VALUES_THRESHOLD): Remove macro. * config/avr/avr.c (TARGET_CASE_VALUES_THRESHOLD): Define macro. (avr_case_values_threshold): Declare as static. * config/avr/avr-protos.h (avr_case_values_threshold): Remove. * config/avr/mn10300.h (CASE_VALUES_THRESHOLD): Remove macro. * config/avr/mn10300.c (TARGET_CASE_VALUES_THRESHOLD): Define macro. (mn10300_case_values_threshold): New function. From-SVN: r146756 --- gcc/stmt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/stmt.c') diff --git a/gcc/stmt.c b/gcc/stmt.c index 96e63fa..e2688ef 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -2320,7 +2320,7 @@ expand_case (tree exp) If the switch-index is a constant, do it this way because we can optimize it. */ - else if (count < case_values_threshold () + else if (count < targetm.case_values_threshold () || compare_tree_int (range, (optimize_insn_for_size_p () ? 3 : 10) * count) > 0 /* RANGE may be signed, and really large ranges will show up -- cgit v1.1