Commit e71d7f88 by Zdenek Dvorak Committed by Zdenek Dvorak

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
parent 5635c26e
2007-05-10 Zdenek Dvorak <dvorakz@suse.cz>
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.
2007-05-08 Bernd Schmidt <bernd.schmidt@analog.com>
* config/bfin/bfin.h (MOVE_RATIO): Define.
......
2007-05-10 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/31885
* gcc.dg/tree-ssa/loop-29.c: New test.
2007-05-10 Dominique d'Humires <dominiq@lps.ens.fr>
* assumed_dummy_1.f90: Fix dg directive.
/* PR 31885 */
/* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-empty" } */
struct s {
int *blah;
};
static struct s array[] = { { 0 } };
void
foo (struct s *p)
{
struct s *q = &array[1];
while (p < q)
p++;
}
/* { dg-final { scan-tree-dump-times "Removing empty loop" 1 "empty" } } */
/* { dg-final { cleanup-tree-dump "empty" } } */
......@@ -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)))
......
......@@ -36,8 +36,7 @@ extern GTY(()) tree chrec_known;
static inline bool
automatically_generated_chrec_p (tree chrec)
{
return (chrec == chrec_not_analyzed_yet
|| chrec == chrec_dont_know
return (chrec == chrec_dont_know
|| chrec == chrec_known);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment