Commit 38ad2d07 by Richard Guenther Committed by Richard Biener

re PR middle-end/53616 (416.gamess in SPEC CPU 2006 miscompiled)

2012-07-24  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/53616
	* tree-loop-distribution.c (ldist_gen): Do not change
	partition ordering when merging partitions.

From-SVN: r189802
parent d32d6b75
2012-07-24 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53616
* tree-loop-distribution.c (ldist_gen): Do not change
partition ordering when merging partitions.
2012-07-24 Alan Modra <amodra@gmail.com>
PR target/53914
......
......@@ -1289,16 +1289,25 @@ ldist_gen (struct loop *loop, struct graph *rdg,
nbp = 0;
goto ldist_done;
}
for (i = 0; VEC_iterate (partition_t, partitions, i, into); ++i)
if (!partition_builtin_p (into))
break;
for (++i; VEC_iterate (partition_t, partitions, i, partition); ++i)
if (!partition_builtin_p (partition))
{
bitmap_ior_into (into->stmts, partition->stmts);
VEC_ordered_remove (partition_t, partitions, i);
i--;
}
/* Only fuse adjacent non-builtin partitions, see PR53616.
??? Use dependence information to improve partition ordering. */
i = 0;
do
{
for (; VEC_iterate (partition_t, partitions, i, into); ++i)
if (!partition_builtin_p (into))
break;
for (++i; VEC_iterate (partition_t, partitions, i, partition); ++i)
if (!partition_builtin_p (partition))
{
bitmap_ior_into (into->stmts, partition->stmts);
VEC_ordered_remove (partition_t, partitions, i);
i--;
}
else
break;
}
while ((unsigned) i < VEC_length (partition_t, partitions));
}
else
{
......
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