OSDN Git Service

PR rtl-optimization/52139
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / tree-ssa / vrp09.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-vrp1" } */
3
4 foo (int *p)
5 {
6   int x = baz ();
7
8   if (p == 0)
9     goto L78;
10   else
11     {
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)
19         {
20           x = baz (*p);
21           /* This should be folded to if (1).  */
22           if (p)
23             return x + 3;
24         }
25
26       return x - 3;
27     }
28 }
29
30 /* { dg-final { scan-tree-dump-times "Folding predicate p_.. != 0B to 1" 2 "vrp1" } } */
31 /* { dg-final { cleanup-tree-dump "vrp1" } } */