re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / 20041008-1.c
1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3
4 struct A {
5 int x;
6 int y;
7 };
8
9 baz (struct A *a)
10 {
11 a->x = 3;
12 a->y = 2;
13 }
14
15 foo (int i)
16 {
17 struct A a;
18
19 /* Make sure we can't scalarize 'a'. */
20 baz (&a);
21
22 if (i > 10)
23 a.x = i;
24 else
25 a.x = i;
26
27 /* Copy propagation should prove that this predicate is always false. */
28 if (a.x != i)
29 link_error ();
30
31 return a.x;
32 }
33
34 main ()
35 {
36 foo (30);
37 return 0;
38 }