1  /* A test for # of iterations estimation.  We know that I does not overflow,
       2     thus we can perform strength reduction (even though the 32-bit variable
       3     i is first extended to 64-bit type).  */
       4  
       5  /* { dg-options "-O2 -fdump-tree-optimized" } */
       6  /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
       7  
       8  unsigned bar(void);
       9  
      10  void foo(unsigned *p, unsigned n)
      11  {
      12    unsigned i;
      13  
      14    for (i = 0; i < n; i++)
      15      p[i] = bar ();
      16  }
      17  
      18  /* Check that the memory reference was replaced with MEM, and that there is no
      19     multiplication.  */
      20  
      21  /* { dg-final { scan-tree-dump-times "MEM" 1 "optimized" } } */
      22  /* { dg-final { scan-tree-dump-times "\[^\\n\\r\]*= \\* " 0 "optimized" } } */
      23