aboutsummaryrefslogtreecommitdiff
path: root/gcc/f
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2003-09-18 15:06:02 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2003-09-18 15:06:02 +0000
commit96123432ff850b1e62e60e429605b0b98a17bf68 (patch)
tree61cbcebb8d43a0d12906c59d8095e18e373d5eb6 /gcc/f
parenta490d1be3fa7903ddd0161c9c33bc0a4a9b8aaf5 (diff)
downloadgcc-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/f')
-rw-r--r--gcc/f/ChangeLog6
-rw-r--r--gcc/f/com.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 62a7941..73d2a42 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,9 @@
+2003-09-18 Roger Sayle <roger@eyesopen.com>
+
+ * com.c (ffecom_overlap_): Remove FFS_EXPR case.
+ (ffecom_tree_canonize_ref_): Likewise.
+ (ffe_truthvalue_conversion): Likewise.
+
2003-09-01 Josef Zlomek <zlomekj@suse.cz>
* com.c (ffecom_overlap_): Kill BIT_ANDTC_EXPR.
diff --git a/gcc/f/com.c b/gcc/f/com.c
index b5e6fdd..a5100d9 100644
--- a/gcc/f/com.c
+++ b/gcc/f/com.c
@@ -1573,7 +1573,6 @@ ffecom_overlap_ (tree dest_decl, tree dest_offset, tree dest_size,
case MIN_EXPR:
case MAX_EXPR:
case ABS_EXPR:
- case FFS_EXPR:
case LSHIFT_EXPR:
case RSHIFT_EXPR:
case LROTATE_EXPR:
@@ -8882,7 +8881,6 @@ ffecom_tree_canonize_ref_ (tree *decl, tree *offset, tree *size, tree t)
case MIN_EXPR:
case MAX_EXPR:
case ABS_EXPR:
- case FFS_EXPR:
case LSHIFT_EXPR:
case RSHIFT_EXPR:
case LROTATE_EXPR:
@@ -14801,7 +14799,6 @@ ffe_truthvalue_conversion (tree expr)
case NEGATE_EXPR:
case ABS_EXPR:
case FLOAT_EXPR:
- case FFS_EXPR:
/* These don't change whether an object is nonzero or zero. */
return ffe_truthvalue_conversion (TREE_OPERAND (expr, 0));