aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2015-10-05 11:30:52 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2015-10-05 11:30:52 +0000
commit1a25c6b1a128110a23c67f4466329263103228b2 (patch)
tree1068d016c93593ad53a56bc3bb207bd66de9e5aa
parent624d31fe0135b7b33529f4e8fae88a4877bfc204 (diff)
downloadgcc-1a25c6b1a128110a23c67f4466329263103228b2.zip
gcc-1a25c6b1a128110a23c67f4466329263103228b2.tar.gz
gcc-1a25c6b1a128110a23c67f4466329263103228b2.tar.bz2
Remove remaining uses of REAL_VALUES_IDENTICAL
This patch continues the removal of real-related macros. We already had both the old-style REAL_VALUES_IDENTICAL and the new-style real_identical, so this patch replaces all remaining uses of the former with the latter. Bootstrapped & regression-tested on x86_64-linux-gnu. Also tested by building one target per CPU directory and checking that there were no new warnings and no changes in testsuite output at -O2. gcc/ * real.h (REAL_VALUES_IDENTICAL): Delete. * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical instead of REAL_VALUES_IDENTICAL. * fold-const.c (operand_equal_p): Likewise. * ipa-icf.c (sem_variable::equals): Likewise. * tree-complex.c (some_nonzerop): Likewise. (expand_complex_multiplication): Likewise. * tree.c (simple_cst_equal): Likewise. * varasm.c (compare_constant): Likewise. --- gcc/config/m68k/m68k.c | 5 ++--- gcc/fold-const.c | 3 +-- gcc/ipa-icf.c | 4 ++-- gcc/real.h | 1 - gcc/tree-complex.c | 4 ++-- gcc/tree.c | 2 +- gcc/varasm.c | 2 +- 7 files changed, 9 insertions(+), 12 deletions(-) From-SVN: r228474
-rw-r--r--gcc/ChangeLog21
-rw-r--r--gcc/config/m68k/m68k.c5
-rw-r--r--gcc/fold-const.c3
-rw-r--r--gcc/ipa-icf.c4
-rw-r--r--gcc/real.h1
-rw-r--r--gcc/tree-complex.c4
-rw-r--r--gcc/tree.c2
-rw-r--r--gcc/varasm.c2
8 files changed, 30 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8089fb0..6493e38 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,26 @@
2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+ * real.h (REAL_VALUES_IDENTICAL): Delete.
+ * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical
+ instead of REAL_VALUES_IDENTICAL.
+ * fold-const.c (operand_equal_p): Likewise.
+ * ipa-icf.c (sem_variable::equals): Likewise.
+ * tree-complex.c (some_nonzerop): Likewise.
+ (expand_complex_multiplication): Likewise.
+ * tree.c (simple_cst_equal): Likewise.
+ * varasm.c (compare_constant): Likewise.
+---
+ gcc/config/m68k/m68k.c | 5 ++---
+ gcc/fold-const.c | 3 +--
+ gcc/ipa-icf.c | 4 ++--
+ gcc/real.h | 1 -
+ gcc/tree-complex.c | 4 ++--
+ gcc/tree.c | 2 +-
+ gcc/varasm.c | 2 +-
+ 7 files changed, 9 insertions(+), 12 deletions(-)
+
+2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
+
* real.h (real_equal): Declare.
(REAL_VALUES_EQUAL): Delete.
* real.c (real_equal): New function.
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index b7d96a5..487cbf4 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -4336,11 +4336,10 @@ standard_68881_constant_p (rtx x)
REAL_VALUE_FROM_CONST_DOUBLE (r, x);
- /* Use REAL_VALUES_IDENTICAL instead of real_equal so that -0.0
- is rejected. */
+ /* Use real_identical instead of real_equal so that -0.0 is rejected. */
for (i = 0; i < 6; i++)
{
- if (REAL_VALUES_IDENTICAL (r, values_68881[i]))
+ if (real_identical (&r, &values_68881[i]))
return (codes_68881[i]);
}
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 768b39b..1c72af6 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -2815,8 +2815,7 @@ operand_equal_p (const_tree arg0, const_tree arg1, unsigned int flags)
TREE_FIXED_CST (arg1));
case REAL_CST:
- if (REAL_VALUES_IDENTICAL (TREE_REAL_CST (arg0),
- TREE_REAL_CST (arg1)))
+ if (real_identical (&TREE_REAL_CST (arg0), &TREE_REAL_CST (arg1)))
return 1;
diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index d39a3c1..b076222 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -2030,8 +2030,8 @@ sem_variable::equals (tree t1, tree t2)
/* Real constants are the same only if the same width of type. */
if (TYPE_PRECISION (TREE_TYPE (t1)) != TYPE_PRECISION (TREE_TYPE (t2)))
return return_false_with_msg ("REAL_CST precision mismatch");
- return return_with_debug (REAL_VALUES_IDENTICAL (TREE_REAL_CST (t1),
- TREE_REAL_CST (t2)));
+ return return_with_debug (real_identical (&TREE_REAL_CST (t1),
+ &TREE_REAL_CST (t2)));
case VECTOR_CST:
{
unsigned i;
diff --git a/gcc/real.h b/gcc/real.h
index 0f20660..dbb13ae 100644
--- a/gcc/real.h
+++ b/gcc/real.h
@@ -333,7 +333,6 @@ extern const struct real_format arm_half_format;
#define REAL_ARITHMETIC(value, code, d1, d2) \
real_arithmetic (&(value), code, &(d1), &(d2))
-#define REAL_VALUES_IDENTICAL(x, y) real_identical (&(x), &(y))
#define REAL_VALUES_LESS(x, y) real_compare (LT_EXPR, &(x), &(y))
/* Determine whether a floating-point value X is infinite. */
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index b0ffc00..93c0a54 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -118,7 +118,7 @@ some_nonzerop (tree t)
cannot be treated the same as operations with a real or imaginary
operand if we care about the signs of zeros in the result. */
if (TREE_CODE (t) == REAL_CST && !flag_signed_zeros)
- zerop = REAL_VALUES_IDENTICAL (TREE_REAL_CST (t), dconst0);
+ zerop = real_identical (&TREE_REAL_CST (t), &dconst0);
else if (TREE_CODE (t) == FIXED_CST)
zerop = fixed_zerop (t);
else if (TREE_CODE (t) == INTEGER_CST)
@@ -1021,7 +1021,7 @@ expand_complex_multiplication (gimple_stmt_iterator *gsi, tree inner_type,
case PAIR (ONLY_IMAG, ONLY_REAL):
rr = ar;
if (TREE_CODE (ai) == REAL_CST
- && REAL_VALUES_IDENTICAL (TREE_REAL_CST (ai), dconst1))
+ && real_identical (&TREE_REAL_CST (ai), &dconst1))
ri = br;
else
ri = gimplify_build2 (gsi, MULT_EXPR, inner_type, ai, br);
diff --git a/gcc/tree.c b/gcc/tree.c
index 4bd3cae..bfcf374 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -7362,7 +7362,7 @@ simple_cst_equal (const_tree t1, const_tree t2)
return wi::to_widest (t1) == wi::to_widest (t2);
case REAL_CST:
- return REAL_VALUES_IDENTICAL (TREE_REAL_CST (t1), TREE_REAL_CST (t2));
+ return real_identical (&TREE_REAL_CST (t1), &TREE_REAL_CST (t2));
case FIXED_CST:
return FIXED_VALUES_IDENTICAL (TREE_FIXED_CST (t1), TREE_FIXED_CST (t2));
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 706e652..a5bb2b5 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -3076,7 +3076,7 @@ compare_constant (const tree t1, const tree t2)
if (TYPE_PRECISION (TREE_TYPE (t1)) != TYPE_PRECISION (TREE_TYPE (t2)))
return 0;
- return REAL_VALUES_IDENTICAL (TREE_REAL_CST (t1), TREE_REAL_CST (t2));
+ return real_identical (&TREE_REAL_CST (t1), &TREE_REAL_CST (t2));
case FIXED_CST:
/* Fixed constants are the same only if the same width of type. */