aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2005-03-18 03:45:51 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2005-03-18 03:45:51 +0000
commit1a0d99a8f6685972eb231797ef5c7eb4bdcbbd35 (patch)
treea8b8b3afa910e5bbcf84a05b7b4cdeb30ff7d172
parent61f0284e68da7bfaab2e30a33b01092bc8a8b53c (diff)
downloadgcc-1a0d99a8f6685972eb231797ef5c7eb4bdcbbd35.zip
gcc-1a0d99a8f6685972eb231797ef5c7eb4bdcbbd35.tar.gz
gcc-1a0d99a8f6685972eb231797ef5c7eb4bdcbbd35.tar.bz2
builtins.c (fold_builtin_signbit): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_signbit): Take decomposed arguments of CALL_EXPR. (fold_builtin_1): Update a call to fold_builtin_signbit. From-SVN: r96649
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/builtins.c8
2 files changed, 7 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f0b70de..1354ae7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -4,6 +4,10 @@
of CALL_EXPR.
(fold_builtin_1): Update a call to fold_builtin_bitop.
+ * builtins.c (fold_builtin_signbit): Take decomposed arguments
+ of CALL_EXPR.
+ (fold_builtin_1): Update a call to fold_builtin_signbit.
+
2005-03-17 Dorit Naishlos <dorit@il.ibm.com>
PR tree-optimization/20474
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 26f2306..20423fb 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -169,7 +169,7 @@ static tree fold_builtin_strchr (tree, tree);
static tree fold_builtin_memcmp (tree);
static tree fold_builtin_strcmp (tree);
static tree fold_builtin_strncmp (tree);
-static tree fold_builtin_signbit (tree);
+static tree fold_builtin_signbit (tree, tree);
static tree fold_builtin_copysign (tree, tree, tree);
static tree fold_builtin_isascii (tree);
static tree fold_builtin_toascii (tree);
@@ -7557,10 +7557,8 @@ fold_builtin_strncmp (tree arglist)
NULL_TREE if no simplification can be made. */
static tree
-fold_builtin_signbit (tree exp)
+fold_builtin_signbit (tree fndecl, tree arglist)
{
- tree fndecl = get_callee_fndecl (exp);
- tree arglist = TREE_OPERAND (exp, 1);
tree type = TREE_TYPE (TREE_TYPE (fndecl));
tree arg, temp;
@@ -8248,7 +8246,7 @@ fold_builtin_1 (tree exp, bool ignore)
case BUILT_IN_SIGNBIT:
case BUILT_IN_SIGNBITF:
case BUILT_IN_SIGNBITL:
- return fold_builtin_signbit (exp);
+ return fold_builtin_signbit (fndecl, arglist);
case BUILT_IN_ISASCII:
return fold_builtin_isascii (arglist);