Merge from mainline
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / vrp09.c
blob9ff0f14f72529211102ec93ab3f3ae6b6d24ebf0
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-vrp1" } */
4 foo (int *p)
6 int x = baz ();
8 if (p == 0)
9 goto L78;
10 else
12 x = *p;
13 /* This should be folded to if (1). */
14 if (p)
15 x = x + 1;
16 L78:
17 /* This should not be folded to if (1). */
18 if (p)
20 x = baz (*p);
21 /* This should be folded to if (1). */
22 if (p)
23 return x + 3;
26 return x - 3;
30 /* { dg-final { scan-tree-dump-times "Folding predicate p_.. != 0B to 1" 2 "vrp1" } } */
31 /* { dg-final { cleanup-tree-dump "vrp1" } } */