From 4c70bf73c41b6f492bcf208a69b20424954f85c6 Mon Sep 17 00:00:00 2001 From: rth Date: Thu, 16 Jun 2005 18:09:34 +0000 Subject: PR tree-opt/22035 * builtins.c (fold_builtin_complex_mul): Remove. (fold_builtin_complex_div): Remove. (fold_builtin_1): Don't call them. * fold-const.c (fold_complex_add, fold_complex_mult_parts, fold_complex_mult, fold_complex_div_parts, fold_complex_div): Remove. (fold_binary): Don't call them. Don't expand complex comparisons to elementary comparisons. * tree-complex.c (init_dont_simulate_again): Enhance search for stmts that require decomposition. (complex_visit_stmt): Handle RETURN_EXPR properly. (create_components): Handle no referenced variables properly. * tree.h (fold_complex_mult_parts): Remove. (fold_complex_div_parts): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101086 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/builtins.c | 44 -------------------------------------------- 1 file changed, 44 deletions(-) (limited to 'gcc/builtins.c') diff --git a/gcc/builtins.c b/gcc/builtins.c index cdc5cebcbc6..b0e3f40a942 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -8430,44 +8430,6 @@ fold_builtin_unordered_cmp (tree fndecl, tree arglist, fold (build2 (code, type, arg0, arg1)))); } -/* Fold a call to one of the external complex multiply libcalls. */ - -static tree -fold_builtin_complex_mul (tree type, tree arglist) -{ - tree ar, ai, br, bi; - - if (!validate_arglist (arglist, REAL_TYPE, REAL_TYPE, REAL_TYPE, - REAL_TYPE, VOID_TYPE)) - return NULL; - - ar = TREE_VALUE (arglist); arglist = TREE_CHAIN (arglist); - ai = TREE_VALUE (arglist); arglist = TREE_CHAIN (arglist); - br = TREE_VALUE (arglist); arglist = TREE_CHAIN (arglist); - bi = TREE_VALUE (arglist); - - return fold_complex_mult_parts (type, ar, ai, br, bi); -} - -/* Fold a call to one of the external complex division libcalls. */ - -static tree -fold_builtin_complex_div (tree type, tree arglist) -{ - tree ar, ai, br, bi; - - if (!validate_arglist (arglist, REAL_TYPE, REAL_TYPE, REAL_TYPE, - REAL_TYPE, VOID_TYPE)) - return NULL; - - ar = TREE_VALUE (arglist); arglist = TREE_CHAIN (arglist); - ai = TREE_VALUE (arglist); arglist = TREE_CHAIN (arglist); - br = TREE_VALUE (arglist); arglist = TREE_CHAIN (arglist); - bi = TREE_VALUE (arglist); - - return fold_complex_div_parts (type, ar, ai, br, bi, RDIV_EXPR); -} - /* Used by constant folding to simplify calls to builtin functions. EXP is the CALL_EXPR of a call to a builtin function. IGNORE is true if the result of the function call is ignored. This function returns NULL_TREE @@ -8826,12 +8788,6 @@ fold_builtin_1 (tree fndecl, tree arglist, bool ignore) break; default: - if (fcode >= BUILT_IN_COMPLEX_MUL_MIN - && fcode <= BUILT_IN_COMPLEX_MUL_MAX) - return fold_builtin_complex_mul (type, arglist); - if (fcode >= BUILT_IN_COMPLEX_DIV_MIN - && fcode <= BUILT_IN_COMPLEX_DIV_MAX) - return fold_builtin_complex_div (type, arglist); break; } -- cgit v1.2.1