diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-16 18:09:34 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-16 18:09:34 +0000 |
commit | 4c70bf73c41b6f492bcf208a69b20424954f85c6 (patch) | |
tree | 1a237f09f037eeb1745ba50100af6c885b4f29ea /gcc/builtins.c | |
parent | 3524624e41742e76fd93edd07e529dcc7c394b8f (diff) | |
download | gcc-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.c | 44 |
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; } |