(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr23911.c
       1  /* This was a missed optimization in tree constant propagation
       2     that CSE would catch later on.  */
       3  /* { dg-do compile } */
       4  /* { dg-options "-O -fdump-tree-dce3" } */
       5  
       6  double _Complex *a; 
       7  static const double _Complex b[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 
       8   
       9  void 
      10  test (void) 
      11  { 
      12    a[0] = b[0] + b[1]; 
      13    a[1] = b[0] + b[1]; 
      14    return; 
      15  } 
      16  
      17  /* After DCE2 which runs after FRE, the expressions should be fully
      18     constant folded.  There should be no loads from b left.  */
      19  /* { dg-final { scan-tree-dump-times {(?n)REALPART_EXPR.*= 1\.0e\+0} 2 "dce3" } } */
      20  /* { dg-final { scan-tree-dump-times {(?n)IMAGPART_EXPR.*= 0\.0} 2 "dce3" } } */
      21  /* { dg-final { scan-tree-dump-times "= b" 0 "dce3" } } */