diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2007-05-10 23:33:11 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2007-05-10 21:33:11 +0000 |
commit | e71d7f88ba619aab4d53468d4f26e97a670842dd (patch) | |
tree | 5bd5f7053c0c0609d3643ee5d62d5626410a8069 /gcc/tree-chrec.c | |
parent | 5635c26e579161430860f8f85941949ccf586f1d (diff) | |
download | gcc-e71d7f88ba619aab4d53468d4f26e97a670842dd.tar.gz |
re PR tree-optimization/31885 (Not removing empty loop, scev not finding the correct result)
PR tree-optimization/31885
* tree-chrec.c (chrec_contains_undetermined): Do not consider NULL_TREE
to be undetermined.
(automatically_generated_chrec_p): Return false for NULL.
* gcc.dg/tree-ssa/loop-29.c: New test.
From-SVN: r124602
Diffstat (limited to 'gcc/tree-chrec.c')
-rw-r--r-- | gcc/tree-chrec.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/tree-chrec.c b/gcc/tree-chrec.c index 119a35b97c2..7abd5ad519f 100644 --- a/gcc/tree-chrec.c +++ b/gcc/tree-chrec.c @@ -888,11 +888,12 @@ chrec_contains_undetermined (tree chrec) { int i, n; - if (chrec == chrec_dont_know - || chrec == chrec_not_analyzed_yet - || chrec == NULL_TREE) + if (chrec == chrec_dont_know) return true; + if (chrec == NULL_TREE) + return false; + n = TREE_OPERAND_LENGTH (chrec); for (i = 0; i < n; i++) if (chrec_contains_undetermined (TREE_OPERAND (chrec, i))) |