diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2005-03-19 18:01:19 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2005-03-19 18:01:19 +0000 |
commit | 5be245e44f75397ba823f107549f106dcaa9cdf3 (patch) | |
tree | dab884a8e07353dc0308201b13409a195921ef5b | |
parent | 6e5b9693fe084e6fc15f9b3822ef96263c3e9eca (diff) | |
download | gcc-5be245e44f75397ba823f107549f106dcaa9cdf3.zip gcc-5be245e44f75397ba823f107549f106dcaa9cdf3.tar.gz gcc-5be245e44f75397ba823f107549f106dcaa9cdf3.tar.bz2 |
builtins.c (fold_trunc_transparent_mathfn): Take decomposed arguments of CALL_EXPR.
* builtins.c (fold_trunc_transparent_mathfn): Take decomposed
arguments of CALL_EXPR.
(fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil,
fold_builtin_found, fold_builtin_1): Update calls to
fold_trunc_transparent_mathfn.
From-SVN: r96736
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/builtins.c | 16 |
2 files changed, 13 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5f2f109..7b537be 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -5,6 +5,12 @@ (expand_builtin_memcpy, fold_builtin_1): Update calls to fold_builtin_memcpy. + * builtins.c (fold_trunc_transparent_mathfn): Take decomposed + arguments of CALL_EXPR. + (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil, + fold_builtin_found, fold_builtin_1): Update calls to + fold_trunc_transparent_mathfn. + 2005-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR middle-end/20493 diff --git a/gcc/builtins.c b/gcc/builtins.c index 98a84f1..7ed97fb 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -144,7 +144,7 @@ static tree fold_builtin_inf (tree, int); static tree fold_builtin_nan (tree, tree, int); static int validate_arglist (tree, ...); static bool integer_valued_real_p (tree); -static tree fold_trunc_transparent_mathfn (tree); +static tree fold_trunc_transparent_mathfn (tree, tree); static bool readonly_data_expr (tree); static rtx expand_builtin_fabs (tree, rtx, rtx); static rtx expand_builtin_signbit (tree, rtx); @@ -6069,10 +6069,8 @@ integer_valued_real_p (tree t) Do the transformation. */ static tree -fold_trunc_transparent_mathfn (tree exp) +fold_trunc_transparent_mathfn (tree fndecl, tree arglist) { - tree fndecl = get_callee_fndecl (exp); - tree arglist = TREE_OPERAND (exp, 1); enum built_in_function fcode = DECL_FUNCTION_CODE (fndecl); tree arg; @@ -6524,7 +6522,7 @@ fold_builtin_trunc (tree exp) return build_real (type, r); } - return fold_trunc_transparent_mathfn (exp); + return fold_trunc_transparent_mathfn (fndecl, arglist); } /* Fold function call to builtin floor, floorf or floorl. Return @@ -6557,7 +6555,7 @@ fold_builtin_floor (tree exp) } } - return fold_trunc_transparent_mathfn (exp); + return fold_trunc_transparent_mathfn (fndecl, arglist); } /* Fold function call to builtin ceil, ceilf or ceill. Return @@ -6590,7 +6588,7 @@ fold_builtin_ceil (tree exp) } } - return fold_trunc_transparent_mathfn (exp); + return fold_trunc_transparent_mathfn (fndecl, arglist); } /* Fold function call to builtin round, roundf or roundl. Return @@ -6623,7 +6621,7 @@ fold_builtin_round (tree exp) } } - return fold_trunc_transparent_mathfn (exp); + return fold_trunc_transparent_mathfn (fndecl, arglist); } /* Fold function call to builtin lround, lroundf or lroundl (or the @@ -8198,7 +8196,7 @@ fold_builtin_1 (tree exp, bool ignore) case BUILT_IN_RINT: case BUILT_IN_RINTF: case BUILT_IN_RINTL: - return fold_trunc_transparent_mathfn (exp); + return fold_trunc_transparent_mathfn (fndecl, arglist); case BUILT_IN_LROUND: case BUILT_IN_LROUNDF: |