aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2005-05-16 04:36:09 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2005-05-16 04:36:09 +0000
commit94a3e63aca7046a958925c13d094234d3e7421b3 (patch)
tree7d1d7246dd3c847c51837e7d52c7dd222df2c14c /gcc
parent21e43850583de699a759686dbcc143841221d738 (diff)
downloadgcc-94a3e63aca7046a958925c13d094234d3e7421b3.zip
gcc-94a3e63aca7046a958925c13d094234d3e7421b3.tar.gz
gcc-94a3e63aca7046a958925c13d094234d3e7421b3.tar.bz2
tree-scalar-evolution.c (set_nb_iterations_in_loop): Only check for TREE_OVERFLOW on INTEGER_CST trees.
* tree-scalar-evolution.c (set_nb_iterations_in_loop): Only check for TREE_OVERFLOW on INTEGER_CST trees. * tree-chrec.c (chrec_convert): Only clear TREE_OVERFLOW on CONSTANT_CLASS_P tree nodes. From-SVN: r99765
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-chrec.c6
-rw-r--r--gcc/tree-scalar-evolution.c5
3 files changed, 14 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c0f039a..ce284d1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2005-05-15 Roger Sayle <roger@eyesopen.com>
+
+ * tree-scalar-evolution.c (set_nb_iterations_in_loop): Only
+ check for TREE_OVERFLOW on INTEGER_CST trees.
+ * tree-chrec.c (chrec_convert): Only clear TREE_OVERFLOW on
+ CONSTANT_CLASS_P tree nodes.
+
2005-05-15 H.J. Lu <hongjiu.lu@intel.com>
PR target/21551
diff --git a/gcc/tree-chrec.c b/gcc/tree-chrec.c
index 967a3cd..cb72df0 100644
--- a/gcc/tree-chrec.c
+++ b/gcc/tree-chrec.c
@@ -1062,9 +1062,11 @@ chrec_convert (tree type,
tree res = fold_convert (type, chrec);
/* Don't propagate overflows. */
- TREE_OVERFLOW (res) = 0;
if (CONSTANT_CLASS_P (res))
- TREE_CONSTANT_OVERFLOW (res) = 0;
+ {
+ TREE_CONSTANT_OVERFLOW (res) = 0;
+ TREE_OVERFLOW (res) = 0;
+ }
/* But reject constants that don't fit in their type after conversion.
This can happen if TYPE_MIN_VALUE or TYPE_MAX_VALUE are not the
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index e0ef0ee..4019f78 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -922,8 +922,9 @@ set_nb_iterations_in_loop (struct loop *loop,
count of the loop in order to be compatible with the other
nb_iter computations in loop-iv. This also allows the
representation of nb_iters that are equal to MAX_INT. */
- if ((TREE_CODE (res) == INTEGER_CST && TREE_INT_CST_LOW (res) == 0)
- || TREE_OVERFLOW (res))
+ if (TREE_CODE (res) == INTEGER_CST
+ && (TREE_INT_CST_LOW (res) == 0
+ || TREE_OVERFLOW (res)))
res = chrec_dont_know;
if (dump_file && (dump_flags & TDF_DETAILS))