diff options
author | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-12-02 04:40:05 +0000 |
---|---|---|
committer | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-12-02 04:40:05 +0000 |
commit | 05812c7f00b5de4505c86ee7790a243ebf4c2842 (patch) | |
tree | 47739b99c89ff7ea1c1f4167c8dc616b6a27c981 /gcc/tree-vrp.c | |
parent | d0656cc997da0ccc3a265d44b81b957c513fa73b (diff) | |
download | gcc-05812c7f00b5de4505c86ee7790a243ebf4c2842.tar.gz |
* tree.h (TREE_OVERFLOW): Make this flag/predicate specific to
constant nodes, i.e. INTEGER_CST, REAL_CST, etc...
* tree-vrp.c (compare_values): Only check TREE_OVERFLOW for
integer constant comparisons.
ada/
* utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST
nodes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107870 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index af632e6f6e2..0797b5c028a 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -528,12 +528,14 @@ compare_values (tree val1, tree val2) if (!is_gimple_min_invariant (val1) || !is_gimple_min_invariant (val2)) return -2; - /* We cannot compare overflowed values. */ - if (TREE_OVERFLOW (val1) || TREE_OVERFLOW (val2)) - return -2; - if (!POINTER_TYPE_P (TREE_TYPE (val1))) - return tree_int_cst_compare (val1, val2); + { + /* We cannot compare overflowed values. */ + if (TREE_OVERFLOW (val1) || TREE_OVERFLOW (val2)) + return -2; + + return tree_int_cst_compare (val1, val2); + } else { tree t; |