(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
ipa/
ipacost-1.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-Os -fipa-cp -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized -fno-ipa-icf"  } */
       3  
       4  int array[100];
       5  
       6  int t(int);
       7  
       8  static int 
       9  i_can_be_propagated_fully (int *a)
      10  {
      11    int i;
      12    for (i=0;i<50;i++)
      13    {
      14      t(a[i]);
      15      t(a[i+1]);
      16      t(a[i+2]);
      17      t(a[i+3]);
      18    }
      19  }
      20  static int 
      21  i_can_be_propagated_fully2 (int *a)
      22  {
      23    i_can_be_propagated_fully (a);
      24    i_can_be_propagated_fully (a);
      25    i_can_be_propagated_fully (a);
      26  }
      27  static int 
      28  i_can_not_be_propagated_fully (int *a)
      29  {
      30    int i;
      31    for (i=0;i<50;i++)
      32    {
      33      t(a[i]);
      34      t(a[i+1]);
      35      t(a[i+2]);
      36      t(a[i+3]);
      37    }
      38  }
      39  int 
      40  i_can_not_be_propagated_fully2 (int *a)
      41  {
      42    i_can_not_be_propagated_fully (a);
      43    i_can_not_be_propagated_fully (a);
      44    i_can_not_be_propagated_fully (a);
      45  }
      46  int
      47  main()
      48  {
      49    i_can_be_propagated_fully2 (array);
      50    i_can_be_propagated_fully2 (array);
      51    i_can_not_be_propagated_fully2 (array);
      52    i_can_not_be_propagated_fully2 (array);
      53  }
      54  
      55  /* { dg-final { scan-ipa-dump-times "Creating a specialized node of i_can_be_propagated_fully2" 1 "cp"  } } */
      56  /* { dg-final { scan-ipa-dump-times "Creating a specialized node of i_can_be_propagated_fully/" 1 "cp"  } } */
      57  /* { dg-final { scan-ipa-dump-not "Creating a specialized node of i_can_not_be_propagated_fully2" "cp"  } } */
      58  /* { dg-final { scan-ipa-dump-not "Creating a specialized node of i_can_not_be_propagated_fully/" "cp"  } } */
      59  /* { dg-final { scan-tree-dump-not "i_can_be_propagated_fully " "optimized"  } } */
      60  /* { dg-final { scan-tree-dump-not "i_can_be_propagated_fully2 " "optimized"  } } */