diff options
author | Roger Sayle <roger@eyesopen.com> | 2005-05-16 04:36:09 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2005-05-16 04:36:09 +0000 |
commit | 94a3e63aca7046a958925c13d094234d3e7421b3 (patch) | |
tree | 7d1d7246dd3c847c51837e7d52c7dd222df2c14c /gcc | |
parent | 21e43850583de699a759686dbcc143841221d738 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/tree-chrec.c | 6 | ||||
-rw-r--r-- | gcc/tree-scalar-evolution.c | 5 |
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)) |