re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / pr19590.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-ivopts" } */
3
4 void vnum_test8(int *data)
5 {
6 int i;
7 int stop = data[3];
8 int m = data[4];
9 int n = m;
10 for (i=1; i<stop; i++) {
11 int k = data[2];
12 data[k] = 2;
13 data[0] = m - n;
14 k = data[1];
15 m = m + k;
16 n = n + k;
17 }
18 }
19
20 /* Using the SCEV analysis, this loop should be transformed to:
21
22 | void vnum_result8(int *data)
23 |{
24 | int i;
25 | int stop = data[3];
26 | for (i=1; i<stop; i++) {
27 | int k = data[2];
28 | data[k] = 2;
29 | data[0] = 0;
30 | }
31 |}
32
33 */
34
35 /* { dg-final { scan-tree-dump-times "= 0;" 1 "ivopts"} } */
36 /* { dg-final { scan-tree-dump-times "= 2;" 1 "ivopts"} } */
37 /* { dg-final { cleanup-tree-dump "ivopts" } } */