Commit 40b6bff9 by Richard Biener Committed by Richard Biener

re PR tree-optimization/79245 (Inefficient loop distribution to memcpy)

2017-01-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79245
	* tree-loop-distribution.c (distribute_loop): Apply cost
	modeling also to detected patterns.

	* gcc.dg/tree-ssa/ldist-23.c: XFAIL.
	* gcc.dg/tree-ssa/ldist-25.c: New testcase.

From-SVN: r244976
parent b2f8892e
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/79245
* tree-loop-distribution.c (distribute_loop): Apply cost
modeling also to detected patterns.
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/71433
* tree-vrp.c (register_new_assert_for): Revert earlier changes.
(compare_assert_loc): New function.
......
2017-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/79245
* gcc.dg/tree-ssa/ldist-23.c: XFAIL.
* gcc.dg/tree-ssa/ldist-25.c: New testcase.
2017-01-27 Jakub Jelinek <jakub@redhat.com>
PR c/79199
......
......@@ -29,5 +29,6 @@ int main()
return 0;
}
/* { dg-final { scan-tree-dump "split to 1 loops and 1 library call" "ldist" } } */
/* { dg-final { scan-tree-dump "generated memcpy" "ldist" } } */
/* XFAILed due to the fix for PR79245. */
/* { dg-final { scan-tree-dump "split to 1 loops and 1 library call" "ldist" { xfail *-*-* } } } */
/* { dg-final { scan-tree-dump "generated memcpy" "ldist" { xfail *-*-* } } } */
/* { dg-do compile } */
/* { dg-options "-O3 -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
#define k 1335
double a[k][k];
double b[k][k];
double c[k][k];
int x;
int y;
void
foo (void)
{
for (int j = 0; j < x; j++)
{
for (int i = 0; i < y; i++)
{
c[j][i] = b[j][i] - a[j][i];
a[j][i] = b[j][i];
}
}
}
/* { dg-final { scan-tree-dump "Loop . is the same" "ldist" } } */
......@@ -1548,8 +1548,7 @@ distribute_loop (struct loop *loop, vec<gimple *> stmts,
for (int j = i + 1;
partitions.iterate (j, &partition); ++j)
{
if (!partition_builtin_p (partition)
&& similar_memory_accesses (rdg, into, partition))
if (similar_memory_accesses (rdg, into, partition))
{
if (dump_file && (dump_flags & TDF_DETAILS))
{
......
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