diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-21 15:51:22 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-21 15:51:22 +0000 |
commit | 539a3a92766f2bed10ae2365106796bb16515195 (patch) | |
tree | 575699b686457410b32fd7f6c60e918c730b69ba /gcc/expr.h | |
parent | 64fad8114742cdf33d7bd2016e48f9721b94e2f3 (diff) | |
download | gcc-539a3a92766f2bed10ae2365106796bb16515195.tar.gz |
* stmt.c: Don't include insn-codes.h.
(expand_end_case): Machine specific logic moved to expr.c.
No need to worry about __builtin_classify_type.
(check_for_full_enumeration_handling, emit_case_nodes):
Kill #if 0 blocks.
* builtins.o (expand_builtin_classify_type): Split up so code
can be shared with fold_builtin_classify_type.
(type_to_class, fold_builtin_classify_type): New functions.
(fold_builtins): Handle __builtin_classify_type.
* expr.c (do_tablejump): Now static.
(case_values_threshold, try_casesi, try_tablejump): New;
code mostly from stmt.c (expand_end_case).
(expr.h): Update prototypes.
* Makefile.in (stmt.o): Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45078 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/expr.h b/gcc/expr.h index 2ea167ec3d6..22e537d62fc 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -540,8 +540,14 @@ extern void do_compare_rtx_and_jump PARAMS ((rtx, rtx, enum rtx_code, int, enum machine_mode, rtx, unsigned int, rtx, rtx)); -/* Generate a tablejump instruction (used for switch statements). */ -extern void do_tablejump PARAMS ((rtx, enum machine_mode, rtx, rtx, rtx)); +/* Two different ways of generating switch statements. */ +extern int try_casesi PARAMS ((tree, tree, tree, tree, rtx, rtx)); +extern int try_tablejump PARAMS ((tree, tree, tree, tree, rtx, rtx)); + +/* Smallest number of adjacent cases before we use a jump table. + XXX Should be a target hook. */ +extern unsigned int case_values_threshold PARAMS ((void)); + #ifdef TREE_CODE /* rtl.h and tree.h were included. */ |