aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/fold-const.c14
2 files changed, 8 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 53cc1d4..693ee50 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2006-11-10 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (operand_equal_p) <INTEGER_CST, REAL_CST, VECTOR_CST>:
+ Don't check for TREE_CONSTANT_OVERFLOW when comparing constants.
+
2006-11-10 Peter Bergner <bergner@vnet.ibm.com>
* rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER.
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 7c769d5..e1c3c1f 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -2545,24 +2545,16 @@ operand_equal_p (tree arg0, tree arg1, unsigned int flags)
switch (TREE_CODE (arg0))
{
case INTEGER_CST:
- return (! TREE_CONSTANT_OVERFLOW (arg0)
- && ! TREE_CONSTANT_OVERFLOW (arg1)
- && tree_int_cst_equal (arg0, arg1));
+ return tree_int_cst_equal (arg0, arg1);
case REAL_CST:
- return (! TREE_CONSTANT_OVERFLOW (arg0)
- && ! TREE_CONSTANT_OVERFLOW (arg1)
- && REAL_VALUES_IDENTICAL (TREE_REAL_CST (arg0),
- TREE_REAL_CST (arg1)));
+ return REAL_VALUES_IDENTICAL (TREE_REAL_CST (arg0),
+ TREE_REAL_CST (arg1));
case VECTOR_CST:
{
tree v1, v2;
- if (TREE_CONSTANT_OVERFLOW (arg0)
- || TREE_CONSTANT_OVERFLOW (arg1))
- return 0;
-
v1 = TREE_VECTOR_CST_ELTS (arg0);
v2 = TREE_VECTOR_CST_ELTS (arg1);
while (v1 && v2)