aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/builtins.c8
2 files changed, 9 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 19f8137..f0b70de 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-03-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c (fold_builtin_bitop): Take decomposed arguments
+ of CALL_EXPR.
+ (fold_builtin_1): Update a call to fold_builtin_bitop.
+
2005-03-17 Dorit Naishlos <dorit@il.ibm.com>
PR tree-optimization/20474
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 43f16fc..26f2306 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -161,7 +161,7 @@ static tree fold_builtin_trunc (tree);
static tree fold_builtin_floor (tree);
static tree fold_builtin_ceil (tree);
static tree fold_builtin_round (tree);
-static tree fold_builtin_bitop (tree);
+static tree fold_builtin_bitop (tree, tree);
static tree fold_builtin_memcpy (tree);
static tree fold_builtin_mempcpy (tree, tree, int);
static tree fold_builtin_memmove (tree, tree);
@@ -6668,10 +6668,8 @@ fold_builtin_lround (tree exp)
Return NULL_TREE if no simplification can be made. */
static tree
-fold_builtin_bitop (tree exp)
+fold_builtin_bitop (tree fndecl, tree arglist)
{
- tree fndecl = get_callee_fndecl (exp);
- tree arglist = TREE_OPERAND (exp, 1);
tree arg;
if (! validate_arglist (arglist, INTEGER_TYPE, VOID_TYPE))
@@ -8236,7 +8234,7 @@ fold_builtin_1 (tree exp, bool ignore)
case BUILT_IN_PARITY:
case BUILT_IN_PARITYL:
case BUILT_IN_PARITYLL:
- return fold_builtin_bitop (exp);
+ return fold_builtin_bitop (fndecl, arglist);
case BUILT_IN_MEMCPY:
return fold_builtin_memcpy (exp);