2014-12-03 Richard Biener <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Dec 2014 13:10:39 +0000 (13:10 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Dec 2014 13:10:39 +0000 (13:10 +0000)
commit9d8847676688093d6513263dfba3d51994bfe404
tree35cb5d29ee00714e432effd24006281aa7ec24d8
parent658fa7f60a87b876467e6fd3986210cdc8fe056d
2014-12-03  Richard Biener  <rguenther@suse.de>

* builtins.c (fold_builtin_fpclassify): Change to take
array of arguments instead of CALL_EXPR tree.
(MAX_ARGS_TO_FOLD_BUILTIN): Remove.
(fold_builtin_n): Dispatch to fold_builtin_varargs.
(fold_call_expr): Always use fold_builtin_n.
(fold_builtin_call_array): Change to not build the unfolded call,
always use fold_builtin_n.
(fold_builtin_varargs): Change to take array of arguments instead
of CALL_EXPR tree.
(fold_call_stmt): Always use fold_builtin_n.
* tree.c (build_call_expr_loc_array): Use fold_build_call_array_loc.
* fold-const.c (fold_build_call_array_loc): Build the call
if fold_builtin_call_array returned NULL_TREE.
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Do not build
a CALL_EXPR and use fold_builtin_call_array instead of
fold_call_expr.

cp/
* constexpr.c (cxx_eval_builtin_function_call): Use
fold_build_call_array_loc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218311 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/builtins.c
gcc/cp/ChangeLog
gcc/cp/constexpr.c
gcc/fold-const.c
gcc/gimple-fold.c
gcc/tree.c