aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/fold-const.c37
-rw-r--r--gcc/tree.def5
-rw-r--r--gcc/tree.h3
4 files changed, 17 insertions, 38 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 77ba264..e4b3d9e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2009-03-30 Paolo Bonzini <bonzini@gnu.org>
+
+ * fold-const.c (const_binop, fold_convert_const_real_from_fixed,
+ fold_convert_const_fixed_from_fixed,
+ fold_convert_const_fixed_from_int,
+ fold_convert_const_fixed_from_real, fold_negate_const): Do not
+ set TREE_CONSTANT_OVERFLOW.
+ * tree.def: Remove mention of TREE_CONSTANT_OVERFLOW.
+ * tree.h (TREE_CONSTANT_OVERFLOW): Delete.
+
2009-03-30 Ira Rosen <irar@il.ibm.com>
* tree-vect-loop-manip.c: New file.
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index a68b7b8..a56e885 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -1932,12 +1932,7 @@ const_binop (enum tree_code code, tree arg1, tree arg2, int notrunc)
t = build_fixed (type, result);
/* Propagate overflow flags. */
if (overflow_p | TREE_OVERFLOW (arg1) | TREE_OVERFLOW (arg2))
- {
- TREE_OVERFLOW (t) = 1;
- TREE_CONSTANT_OVERFLOW (t) = 1;
- }
- else if (TREE_CONSTANT_OVERFLOW (arg1) | TREE_CONSTANT_OVERFLOW (arg2))
- TREE_CONSTANT_OVERFLOW (t) = 1;
+ TREE_OVERFLOW (t) = 1;
return t;
}
@@ -2304,8 +2299,6 @@ fold_convert_const_real_from_fixed (tree type, const_tree arg1)
t = build_real (type, value);
TREE_OVERFLOW (t) = TREE_OVERFLOW (arg1);
- TREE_CONSTANT_OVERFLOW (t)
- = TREE_OVERFLOW (t) | TREE_CONSTANT_OVERFLOW (arg1);
return t;
}
@@ -2325,12 +2318,7 @@ fold_convert_const_fixed_from_fixed (tree type, const_tree arg1)
/* Propagate overflow flags. */
if (overflow_p | TREE_OVERFLOW (arg1))
- {
- TREE_OVERFLOW (t) = 1;
- TREE_CONSTANT_OVERFLOW (t) = 1;
- }
- else if (TREE_CONSTANT_OVERFLOW (arg1))
- TREE_CONSTANT_OVERFLOW (t) = 1;
+ TREE_OVERFLOW (t) = 1;
return t;
}
@@ -2352,12 +2340,7 @@ fold_convert_const_fixed_from_int (tree type, const_tree arg1)
/* Propagate overflow flags. */
if (overflow_p | TREE_OVERFLOW (arg1))
- {
- TREE_OVERFLOW (t) = 1;
- TREE_CONSTANT_OVERFLOW (t) = 1;
- }
- else if (TREE_CONSTANT_OVERFLOW (arg1))
- TREE_CONSTANT_OVERFLOW (t) = 1;
+ TREE_OVERFLOW (t) = 1;
return t;
}
@@ -2378,12 +2361,7 @@ fold_convert_const_fixed_from_real (tree type, const_tree arg1)
/* Propagate overflow flags. */
if (overflow_p | TREE_OVERFLOW (arg1))
- {
- TREE_OVERFLOW (t) = 1;
- TREE_CONSTANT_OVERFLOW (t) = 1;
- }
- else if (TREE_CONSTANT_OVERFLOW (arg1))
- TREE_CONSTANT_OVERFLOW (t) = 1;
+ TREE_OVERFLOW (t) = 1;
return t;
}
@@ -15228,12 +15206,7 @@ fold_negate_const (tree arg0, tree type)
t = build_fixed (type, f);
/* Propagate overflow flags. */
if (overflow_p | TREE_OVERFLOW (arg0))
- {
- TREE_OVERFLOW (t) = 1;
- TREE_CONSTANT_OVERFLOW (t) = 1;
- }
- else if (TREE_CONSTANT_OVERFLOW (arg0))
- TREE_CONSTANT_OVERFLOW (t) = 1;
+ TREE_OVERFLOW (t) = 1;
break;
}
diff --git a/gcc/tree.def b/gcc/tree.def
index 21f4db0..a8836c9 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -268,9 +268,8 @@ DEFTREECODE (LANG_TYPE, "lang_type", tcc_type, 0)
/* Contents are in TREE_INT_CST_LOW and TREE_INT_CST_HIGH fields,
32 bits each, giving us a 64 bit constant capability. INTEGER_CST
nodes can be shared, and therefore should be considered read only.
- They should be copied, before setting a flag such as
- TREE_OVERFLOW. If an INTEGER_CST has TREE_OVERFLOW or
- TREE_CONSTANT_OVERFLOW already set, it is known to be unique.
+ They should be copied, before setting a flag such as TREE_OVERFLOW.
+ If an INTEGER_CST has TREE_OVERFLOW already set, it is known to be unique.
INTEGER_CST nodes are created for the integral types, for pointer
types and for vector and float types in some circumstances. */
DEFTREECODE (INTEGER_CST, "integer_cst", tcc_constant, 0)
diff --git a/gcc/tree.h b/gcc/tree.h
index dbd0faa..2efc978 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1186,9 +1186,6 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int,
#define TREE_OVERFLOW(NODE) (CST_CHECK (NODE)->base.public_flag)
-/* ??? This is an obsolete synonym for TREE_OVERFLOW. */
-#define TREE_CONSTANT_OVERFLOW(NODE) TREE_OVERFLOW(NODE)
-
/* TREE_OVERFLOW can only be true for EXPR of CONSTANT_CLASS_P. */
#define TREE_OVERFLOW_P(EXPR) \