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> 2012-07-24 Alan Modra <amodra@gmail.com>
PR target/53914 PR target/53914
......
...@@ -1289,7 +1289,12 @@ ldist_gen (struct loop *loop, struct graph *rdg, ...@@ -1289,7 +1289,12 @@ ldist_gen (struct loop *loop, struct graph *rdg,
nbp = 0; nbp = 0;
goto ldist_done; goto ldist_done;
} }
for (i = 0; VEC_iterate (partition_t, partitions, i, into); ++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)) if (!partition_builtin_p (into))
break; break;
for (++i; VEC_iterate (partition_t, partitions, i, partition); ++i) for (++i; VEC_iterate (partition_t, partitions, i, partition); ++i)
...@@ -1299,6 +1304,10 @@ ldist_gen (struct loop *loop, struct graph *rdg, ...@@ -1299,6 +1304,10 @@ ldist_gen (struct loop *loop, struct graph *rdg,
VEC_ordered_remove (partition_t, partitions, i); VEC_ordered_remove (partition_t, partitions, i);
i--; i--;
} }
else
break;
}
while ((unsigned) i < VEC_length (partition_t, partitions));
} }
else 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