(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
ipa/
vrp5.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-ipa-cp-details -fdump-tree-vrp1" } */
       3  
       4  static __attribute__((noinline, noclone))
       5  int foo (int *p)
       6  {
       7    if (!p)
       8      return 0;
       9    *p = 1;
      10  }
      11  
      12  struct st
      13  {
      14    int a;
      15    int b;
      16  };
      17  
      18  int arr1[10];
      19  int a;
      20  int bar (struct st *s)
      21  {
      22    int arr2[10];
      23    int b;
      24    if (!s)
      25      return 0;
      26    foo (&s->a);
      27    foo (&a);
      28    foo (&b);
      29    foo (&arr1[1]);
      30    foo (&arr2[1]);
      31  }
      32  
      33  /* { dg-final { scan-ipa-dump "Setting nonnull for 0" "cp" } } */
      34  /* { dg-final { scan-tree-dump-times "if" 1 "vrp1" } } */