summaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-16 18:09:34 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-16 18:09:34 +0000
commit4c70bf73c41b6f492bcf208a69b20424954f85c6 (patch)
tree1a237f09f037eeb1745ba50100af6c885b4f29ea /gcc/builtins.c
parent3524624e41742e76fd93edd07e529dcc7c394b8f (diff)
downloadgcc-4c70bf73c41b6f492bcf208a69b20424954f85c6.tar.gz
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
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c44
1 files changed, 0 insertions, 44 deletions
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;
}