re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / pr20256.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -ftree-loop-linear -fdump-tree-ltrans-all" } */
3 /* { dg-require-effective-target size32plus } */
4
5 int foo()
6 {
7 int x[2][2], y[2];
8 int i, n, s;
9
10 /* This is a reduction: there is a scalar dependence that cannot be
11 removed by rewriting IVs. This code cannot and should not be
12 transformed into a perfect loop. */
13 for (n = 0; n < 2; n++)
14 {
15 s = 0;
16 for (i = 0; i < 2; i++)
17 s += x[n][i]*y[i];
18 s += 1;
19 }
20
21 return s;
22 }
23
24 /* { dg-final { scan-tree-dump-times "converted loop nest to perfect loop nest" 0 "ltrans"} } */
25 /* { dg-final { cleanup-tree-dump "ltrans" } } */