aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2005-03-18 03:44:21 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2005-03-18 03:44:21 +0000
commit61f0284e68da7bfaab2e30a33b01092bc8a8b53c (patch)
tree73cbe990fcb15fec4453d5c347d03871bb61cff8 /gcc/builtins.c
parent803b90d3820889b97ce8c838a8a18c90d4c5780b (diff)
downloadgcc-61f0284e68da7bfaab2e30a33b01092bc8a8b53c.zip
gcc-61f0284e68da7bfaab2e30a33b01092bc8a8b53c.tar.gz
gcc-61f0284e68da7bfaab2e30a33b01092bc8a8b53c.tar.bz2
builtins.c (fold_builtin_bitop): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_builtin_bitop): Take decomposed arguments of CALL_EXPR. (fold_builtin_1): Update a call to fold_builtin_bitop. From-SVN: r96648
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c8
1 files changed, 3 insertions, 5 deletions
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);