aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2003-09-11 21:40:41 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2003-09-11 21:40:41 +0000
commitab01a87cbc7872383eff0faa4c1cc53271ff6e85 (patch)
treedd3d90073691428ca546906c6dc1fb5d76415d20 /gcc/builtins.c
parentb44a178ae83acaeb2e6a7ee51cfde543922f6b99 (diff)
downloadgcc-ab01a87cbc7872383eff0faa4c1cc53271ff6e85.zip
gcc-ab01a87cbc7872383eff0faa4c1cc53271ff6e85.tar.gz
gcc-ab01a87cbc7872383eff0faa4c1cc53271ff6e85.tar.bz2
builtins.c (builtin_dconsts_init, [...]): Delete.
* builtins.c (builtin_dconsts_init, dconstpi, dconste, init_builtin_dconsts): Delete. * emit-rtl.c (dconstpi, dconste): Define. (init_emit_once): Initialize dconstpi & dconste. * real.h (dconstpi, dconste): Declare. From-SVN: r71320
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c28
1 files changed, 0 insertions, 28 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index dfa047f..4df0e95 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -79,11 +79,6 @@ tree built_in_decls[(int) END_BUILTINS];
required to implement the function call in all cases. */
tree implicit_built_in_decls[(int) END_BUILTINS];
-/* Trigonometric and mathematical constants used in builtin folding. */
-static bool builtin_dconsts_init = 0;
-static REAL_VALUE_TYPE dconstpi;
-static REAL_VALUE_TYPE dconste;
-
static int get_pointer_alignment (tree, unsigned int);
static tree c_strlen (tree, int);
static const char *c_getstr (tree);
@@ -157,27 +152,12 @@ static tree fold_trunc_transparent_mathfn (tree);
static bool readonly_data_expr (tree);
static rtx expand_builtin_fabs (tree, rtx, rtx);
static rtx expand_builtin_cabs (tree, rtx);
-static void init_builtin_dconsts (void);
static tree fold_builtin_cabs (tree, tree, tree);
static tree fold_builtin_trunc (tree);
static tree fold_builtin_floor (tree);
static tree fold_builtin_ceil (tree);
static tree fold_builtin_bitop (tree);
-/* Initialize mathematical constants for constant folding builtins.
- These constants need to be given to at least 160 bits precision. */
-
-static void
-init_builtin_dconsts (void)
-{
- real_from_string (&dconstpi,
- "3.1415926535897932384626433832795028841971693993751058209749445923078");
- real_from_string (&dconste,
- "2.7182818284590452353602874713526624977572470936999595749669676277241");
-
- builtin_dconsts_init = true;
-}
-
/* Return the alignment in bits of EXP, a pointer valued expression.
But don't return more than MAX_ALIGN no matter what.
The alignment returned is, by default, the alignment of the thing that
@@ -6009,8 +5989,6 @@ fold_builtin_logarithm (tree exp, const REAL_VALUE_TYPE *value)
case BUILT_IN_EXPF:
case BUILT_IN_EXPL:
/* Prepare to do logN(exp(exponent) -> exponent*logN(e). */
- if (! builtin_dconsts_init)
- init_builtin_dconsts ();
x = build_real (type,
real_value_truncate (TYPE_MODE (type), dconste));
exponent = TREE_VALUE (TREE_OPERAND (arg, 1));
@@ -6283,8 +6261,6 @@ fold_builtin (tree exp)
case BUILT_IN_EXP:
case BUILT_IN_EXPF:
case BUILT_IN_EXPL:
- if (! builtin_dconsts_init)
- init_builtin_dconsts ();
return fold_builtin_exponent (exp, &dconste);
case BUILT_IN_EXP2:
case BUILT_IN_EXP2F:
@@ -6300,8 +6276,6 @@ fold_builtin (tree exp)
case BUILT_IN_LOG:
case BUILT_IN_LOGF:
case BUILT_IN_LOGL:
- if (! builtin_dconsts_init)
- init_builtin_dconsts ();
return fold_builtin_logarithm (exp, &dconste);
break;
case BUILT_IN_LOG2:
@@ -6353,8 +6327,6 @@ fold_builtin (tree exp)
{
REAL_VALUE_TYPE cst;
- if (! builtin_dconsts_init)
- init_builtin_dconsts ();
real_convert (&cst, TYPE_MODE (type), &dconstpi);
cst.exp -= 2;
return build_real (type, cst);