(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
loop-invariant-2.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-rtl-loop2_invariant" } */
       3  
       4  volatile int x;
       5  void
       6  bar (int, char *, char *);
       7  void
       8  foo (int *a, int n, int k)
       9  {
      10    int i;
      11  
      12    for (i = 0; i < n; i++)
      13      {
      14        if (__builtin_expect (x, 0))
      15  	bar (k / 5, "one", "two");
      16        a[i] = k;
      17      }
      18  }
      19  
      20  /* { dg-final { scan-rtl-dump "Don't move invariant from bb: .*out of loop" "loop2_invariant" } } */