diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-04 13:54:48 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-04 13:54:48 +0000 |
commit | ed0c89e794b4ee13aadf6c42700d91a8a5da43bc (patch) | |
tree | d0964adef6a41f0707fc09b2e71e4c716c302552 /gcc/stmt.c | |
parent | 8c440ba305dc8aaeffe42d886687e19f7d007664 (diff) |
* Merge from mainline (tree-profiling-merge-20050603)struct-reorg-merge-20050630tree-profiling-branch
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-profiling-branch@100586 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r-- | gcc/stmt.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c index d1e71dea4f1..6df6eaa3e2e 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -2437,7 +2437,7 @@ expand_case (tree exp) if (compare_tree_int (minval, 0) > 0 && compare_tree_int (maxval, GET_MODE_BITSIZE (word_mode)) < 0) { - minval = fold_convert (index_type, integer_zero_node); + minval = build_int_cst (index_type, 0); range = maxval; } emit_case_bit_tests (index_type, index_expr, minval, range, @@ -2458,6 +2458,7 @@ expand_case (tree exp) #ifndef ASM_OUTPUT_ADDR_DIFF_ELT || flag_pic #endif + || !flag_jump_tables || TREE_CONSTANT (index_expr) /* If neither casesi or tablejump is available, we can only go this way. */ @@ -2522,7 +2523,7 @@ expand_case (tree exp) && compare_tree_int (minval, 0) > 0 && compare_tree_int (minval, 3) < 0) { - minval = fold_convert (index_type, integer_zero_node); + minval = build_int_cst (index_type, 0); range = maxval; } @@ -2829,7 +2830,8 @@ node_has_low_bound (case_node_ptr node, tree index_type) return 0; low_minus_one = fold_build2 (MINUS_EXPR, TREE_TYPE (node->low), - node->low, integer_one_node); + node->low, + build_int_cst (TREE_TYPE (node->low), 1)); /* If the subtraction above overflowed, we can't verify anything. Otherwise, look for a parent that tests our value - 1. */ @@ -2879,7 +2881,8 @@ node_has_high_bound (case_node_ptr node, tree index_type) return 0; high_plus_one = fold_build2 (PLUS_EXPR, TREE_TYPE (node->high), - node->high, integer_one_node); + node->high, + build_int_cst (TREE_TYPE (node->high), 1)); /* If the addition above overflowed, we can't verify anything. Otherwise, look for a parent that tests our value + 1. */ |