diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-09-18 15:06:02 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-09-18 15:06:02 +0000 |
commit | 96123432ff850b1e62e60e429605b0b98a17bf68 (patch) | |
tree | 61cbcebb8d43a0d12906c59d8095e18e373d5eb6 /gcc/expr.c | |
parent | a490d1be3fa7903ddd0161c9c33bc0a4a9b8aaf5 (diff) | |
download | gcc-96123432ff850b1e62e60e429605b0b98a17bf68.zip gcc-96123432ff850b1e62e60e429605b0b98a17bf68.tar.gz gcc-96123432ff850b1e62e60e429605b0b98a17bf68.tar.bz2 |
tree.def (FFS_EXPR, [...]): Delete unused tree codes.
* tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
PARITY_EXPR): Delete unused tree codes.
* c-common.c (c_common_truthvalue_conversion): Delete references
to FFS_EXPR and POPCOUNT_EXPR.
* c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
(pp_c_expression): Likewise.
* expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
* fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR. Add support for calls to
BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
and long long variants.
* cp/lex.c (init_operators): Remove operator_name_info for FFS_EXPR.
* cp/class.c (instantiate_type): Remove FFS_EXPR case.
* f/com.c (ffecom_overlap_): Remove FFS_EXPR case.
(ffecom_tree_canonize_ref_): Likewise.
(ffe_truthvalue_conversion): Likewise.
* java/expr.c (java_truthvalue_conversion): Remove FFS_EXPR case.
* java/check-init.c (check_init): Likewise.
From-SVN: r71525
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 37 |
1 files changed, 0 insertions, 37 deletions
@@ -8525,43 +8525,6 @@ expand_expr (tree exp, rtx target, enum machine_mode tmode, abort (); return temp; - case FFS_EXPR: - op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0); - if (modifier == EXPAND_STACK_PARM) - target = 0; - temp = expand_unop (mode, ffs_optab, op0, target, 1); - if (temp == 0) - abort (); - return temp; - - case CLZ_EXPR: - op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0); - temp = expand_unop (mode, clz_optab, op0, target, 1); - if (temp == 0) - abort (); - return temp; - - case CTZ_EXPR: - op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0); - temp = expand_unop (mode, ctz_optab, op0, target, 1); - if (temp == 0) - abort (); - return temp; - - case POPCOUNT_EXPR: - op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0); - temp = expand_unop (mode, popcount_optab, op0, target, 1); - if (temp == 0) - abort (); - return temp; - - case PARITY_EXPR: - op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0); - temp = expand_unop (mode, parity_optab, op0, target, 1); - if (temp == 0) - abort (); - return temp; - /* ??? Can optimize bitwise operations with one arg constant. Can optimize (a bitwise1 n) bitwise2 (a bitwise3 b) and (a bitwise1 b) bitwise2 b (etc) |